サービスに対するユーザーのアクセス権限を正確に制御するために、Service Mesh(ASM)の対応するセキュリティポリシーでブラックリストまたはホワイトリストを設定できます。ブラックリストとホワイトリストは、指定されたリクエストのアプリケーションへのアクセスを禁止または許可する一般的な承認メカニズムです。ASM では、ブラックリストとホワイトリストを設定して、IP アドレス、HTTP ドメイン名、ポートなど、複数のディメンションから東西トラフィックと南北トラフィックを制御できます。これにより、ASM 内のアプリケーションのセキュリティが保証されます。このトピックでは、ASM セキュリティポリシーで東西トラフィックのブラックリストを設定する方法について説明します。
前提条件
イングレスゲートウェイがデプロイされており、イングレスゲートウェイの IP アドレスが取得されている。詳細については、「イングレスゲートウェイを作成する」をご参照ください。
ASM インスタンスにアプリケーションがデプロイされている。詳細については、「ASM インスタンスにアプリケーションをデプロイする」をご参照ください。
Istio ゲートウェイと仮想サービスが作成されている。http://${イングレスゲートウェイの IP アドレス}/productpage にアクセスできる。詳細については、「Istio リソースを使用してトラフィックをサービスの異なるバージョンにルーティングする」の手順 1 ~ 3 をご参照ください。
手順
ASM コンソール にログインします。左側のナビゲーションペインで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションペインで、 を選択します。
[asmsecuritypolicy] ページで、[作成] をクリックします。[asmsecuritypolicy の作成] ダイアログボックスで、[ブラック/ホワイトリスト] をクリックし、[OK] をクリックします。
設定ウィザードの [ワークロードと一致ルール] 手順で、パラメーターを設定し、[送信] をクリックします。
パラメーター
説明
ASMSecurityPolicyName
名前を test に設定します。
ワークロードリスト
[ワークロードの追加] をクリックします。
[ワークロードの追加] ダイアログボックスで、[ワークロードスコープ] を選択します。[名前空間] パラメーターを [default] に設定し、[ワークロードタイプ] パラメーターを [サービス] に設定します。
[ワークロードの選択] セクションで、[productpage] を選択し、
アイコンをクリックして選択したワークロードを [選択済み] セクションに追加し、[OK] をクリックします。
一致ルールリスト
[一致モード] で [ブラックリスト] を選択し、[ポート] をオンにして、値を 9080 に設定します。この設定は、productpage ポッドのポート 9080 にアクセスするすべてのリクエストが拒否されることを示します。

設定ウィザードの [完了] 手順で、「ASMSecurityPolicy が正常に作成されました」というメッセージが表示され、ASM セキュリティポリシーが作成されたことを示します。[YAML] をクリックして作成されたリソースを表示するか、[完了] をクリックして [asmsecuritypolicy] ページに戻り、作成されたセキュリティポリシーを表示できます。
次のコマンドを実行して、ブラックリストの設定が有効になっているかどうかを確認します。
curl ${イングレスゲートウェイの IP アドレス}/productpage -I // イングレスゲートウェイのIPアドレスを使用してproductpageサービスへのアクセスを試行します予期される出力:
HTTP/1.1 403 Forbidden content-length: 19 content-type: text/plain date: Fri, 22 Dec 2023 03:07:26 GMT server: istio-envoy x-envoy-upstream-service-time: 10 // HTTP 403 Forbidden が返されますHTTP
403ステータスコードが返されます。これは、productpage サービスへのアクセスが拒否されたことを示します。これは、ブラックリストの設定が有効になっていることを示します。
参照
ASM セキュリティポリシーの概念と機能の詳細については、「ASM セキュリティポリシーの概要」をご参照ください。
メッシュ監査機能を有効にして、さまざまなユーザーの日常業務を記録または追跡できます。また、ASM リソースに対する操作の監査アラートを設定し、重要なリソースが変更されたときにアラート連絡先にアラート通知をタイムリーに送信することもできます。詳細については、「ASM で KubeAPI 操作監査機能を使用する」および「ASM リソースに対する操作の監査アラートを設定する」をご参照ください。