すべてのプロダクト
Search
ドキュメントセンター

Enterprise Distributed Application Service:サービス認証を使用した Spring Cloud アプリケーションのアクセス制御の実装

最終更新日:Mar 11, 2026

複数のマイクロサービスが名前空間を共有する場合、デフォルトでは、どのコンシューマーも任意のプロバイダーパスを呼び出すことができます。サービス認証は、どのコンシューマーアプリケーションが特定のプロバイダーパスにアクセスできるかを制御するホワイトリストおよびブラックリストのルールを定義することで、このアクセスを制限します。これにより、コアビジネスロジックやコアデータを扱うような機密性の高いエンドポイントを、不正な内部呼び出しから保護します。

仕組み

サービス認証は、着信コールをグローバルルールとパス固有のルールの 2 種類のルールに照らして評価します。

サービス認証がない場合、名前空間内のすべてのコンシューマーは、プロバイダーのすべてのパスを呼び出すことができます:

Do not configure service authentication

サービス認証を使用する場合、2 つのレベルでアクセスを制御します:

ルールタイプスコープ制限
グローバルルールプロバイダーのすべてのパスプロバイダーごとに 1 つ
パス固有のルールプロバイダーの単一パス複数許可

たとえば、次のように設定できます:

  • コンシューマー 1 をブラックリストに登録し (すべてのパスからブロック)、コンシューマー 2 と 3 をホワイトリストに登録する (すべてのパスへの呼び出しを許可) グローバルルールを作成します。

  • パス 2 (コアビジネスまたはコアデータを含む) からコンシューマー 2 をブラックリストに登録するパス固有のルールを作成し、コンシューマー 2 がパス 1 と 3 のみを呼び出せるようにします。

Service authentication configured

ルールの上書き動作

パス固有のルールは、そのパスに対するグローバルルールを完全に置き換えます。追加されるわけではありません。

シナリオグローバルルールパス固有のルール (パス 2)パス 2 の結果
パス固有のルールでアクセスを絞り込むホワイトリスト: コンシューマー 2、3ホワイトリスト: コンシューマー 3 のみコンシューマー 2 はパス 2 へのアクセス権を失い、コンシューマー 3 はアクセス権を維持します
パス固有のルールで 1 つのコンシューマーをブロックホワイトリスト: コンシューマー 2、3ブラックリスト: コンシューマー 2コンシューマー 2 はパス 2 からブロックされ、コンシューマー 3 はグローバルルールに従います
パス固有のルールなしホワイトリスト: コンシューマー 2、3(なし)コンシューマー 2 と 3 はグローバルルールに従ってパス 2 を呼び出すことができます
重要

パス固有のルールを作成する際は、そのパスにアクセスできるべきすべてのコンシューマーを慎重に再指定してください。グローバルルールは、そのパスには適用されなくなります。

サービス認証ルールの作成

前提条件

開始する前に、以下を確認してください:

  • EDAS コンソールにアクセスできる EDAS アカウント

  • マイクロサービス名前空間にデプロイされた少なくとも 1 つの Spring Cloud プロバイダーアプリケーション

  • 同じ名前空間にデプロイされた少なくとも 1 つのコンシューマーアプリケーション

操作手順

  1. EDAS コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、トラフィック管理 > マイクロサービスガバナンス > Spring Cloud を選択します。

  3. Spring Cloud の左側のナビゲーションツリーで、サービス認証 をクリックします。

  4. サービス認証 ページで、ルールの作成 をクリックします。

  5. ルールの作成 ページで、次のセクションで説明するパラメーターを設定し、OK をクリックします。

    Service Authentication  / / /> Create rules

基本パラメーター

パラメーター説明
マイクロサービス名前空間プロバイダーがデプロイされているリージョンとマイクロサービス名前空間。
ルール名ルールの名前。最大 64 文字。英字、数字、アンダースコア (_)、ハイフン (-) を使用できます。
呼び出し先保護するプロバイダーアプリケーション。
呼び出し先フレームワークプロバイダーのフレームワーク。 Spring Cloud を選択します。
デフォルト状態オン (デフォルト): ルールは作成後すぐに有効になります。オフ: ルールは保存されますが、適用されません。後で有効にするには、サービス認証 ページの 操作 列にある 開く をクリックします。

グローバルルールパラメーター (すべてのインターフェイスルールを追加)

すべてのインターフェイスルールを追加 をクリックして、プロバイダーのすべてのパスに適用されるルールを定義します。プロバイダーごとに許可されるグローバルルールは 1 つだけです。

パラメーター説明
呼び出し先インターフェイスすべてのパス に固定されています。
認証方式ホワイトリスト (呼び出しを許可): リストされたコンシューマーのみがプロバイダーを呼び出すことができます。ブラックリスト (呼び出しを拒否): リストされたコンシューマーはプロバイダーの呼び出しをブロックされます。
呼び出し元認証するコンシューマーアプリケーション。呼び出し元の追加 をクリックして、複数のアプリケーションを選択します。

パス固有のルールパラメーター (指定したインターフェイスルールを追加)

指定したインターフェイスルールを追加 をクリックして、単一のパスを対象とするルールを定義します。このルールは、そのパスに対するグローバルルールをオーバーライドします。

パラメーター説明
呼び出し先パス保護する特定のパス。
認証方式ホワイトリスト (呼び出しを許可) または ブラックリスト (呼び出しを拒否)
呼び出し元認証するコンシューマーアプリケーション。呼び出し元の追加 をクリックして、複数のアプリケーションを選択します。

結果の確認

ルールが作成され、有効になった後、期待どおりに機能することを確認します:

  1. ブロックされたコンシューマーからプロバイダーにリクエストを送信します。リクエストは認証エラーで失敗するはずです。

  2. 許可されたコンシューマーから同じプロバイダーパスにリクエストを送信します。リクエストは成功の応答を返すはずです。

  3. パス固有のルールを設定した場合は、ブロックされたコンシューマーがそのルールでカバーされていない他のパスに引き続きアクセスできることを確認します。

既存ルールの管理

サービス認証 ページで、操作 列を使用してルールを管理します:

アクション説明
編集ルールの構成を変更します。
閉じるアクティブなルールを無効にします。ルールは保持されますが、適用されなくなります。
開く無効化されたルールを再度有効にします。
削除ルールを完全に削除します。