コンテキストベース制限によるアクセスの管理
コンテキストに基づく制限により、 アカウント所有者や管理者は、アクセス要求のコンテキストに基づいて、 IBM Cloud® リソースへのアクセス制限を定義し、適用することができます。 IBM Cloud Event Notifications のリソースへのアクセスは、コンテキストベースの制限やアイデンティティおよびアクセス管理ポリシーによって制御することができます。
これらの制限は、IDに基づく従来のIAMポリシーと連携して機能し、さらなる保護層を提供します。 IAM ポリシーとは異なり、コンテキスト・ベースの制限はアクセス権限を割り当てません。 コンテキスト・ベースの制限は、アクセス要求が、構成された許可されるコンテキストからのものであるかどうかを検査します。 IAM アクセスとコンテキスト・ベースの制限の両方によってアクセスが強制されるので、資格情報が漏洩した場合や適切に管理されなかった場合でも、コンテキスト・ベースの制限によって保護が提供されます。
Event Notifications サービスインスタンスをセットアップした後、 コンテキストベースの制限(CBR)を使用してアクセスを管理できます。
生成される監査ログイベントはすべて、 IBM Cloud Event Notifications ではなく、コンテキストベースの制限サービスから来る。 詳細については、コンテキストベースの制限の監視。
IBM Cloud Event Notifications サービスがコンテキストベースの制限とどのように統合するか
コンテキスト・ベースの制限 を使用すると、指定した基準に基づいて、 Event Notifications リソースに対するユーザー・アクセス制限とサービス・アクセス制限を定義して適用できます。 これらのリソースには、 Event Notifications インスタンスにリンクされている Internet Protocol (IP) アドレスが含まれます。
アクセスを制限するには、 アカウント所有者であるか、すべてのアカウントにおいて管理者ロールを持つアクセスポリシーを保有している必要があります。
IBM Cloud Event Notifications サービスリソースまたは特定の API に対して、コンテキストベースの制限(CBR)を設定することができます。 コンテキストベースの制限を使用すると、次のリソースを保護できます。
IBM Cloud Event Notifications サービス・リソースの保護
リソース グループ、リージョン、またはインスタンスへのアクセスを制限します。
特定のAPIを保護する
リソースへのアクセスを制限するEvent Notificationsコントロール プレーン API に CBR を適用するか、SMTP インターフェイス接続へのアクセスを制限します。
クラスターリソースの保護
リソースグループ、リージョン、インスタンス、または特定のリソースタイプに対して、CBRルールを作成できます。 CBRルールの適用範囲を指定するには、以下のパラメータを使用できます。
リソース・グループ:
IBM Cloud Event Notifications 特定のリソースグループ内のサービスリソースを保護します。
CLI を使用する場合は、 --resource-group-id RESOURCE-GROUP-ID オプションを指定することで、特定のリソースグループ内のリソースを保護することができます。
APIを使用する場合は、"name": "resourceGroupId","value": "RESOURCE-GROUP-ID" リソース属性のフィールド。
リージョン:
IBM Cloud Event Notifications 特定の地域のサービスリソースを保護します。 CBR ルールでリージョンを選択すると、ルールに関連付けたネットワーク ゾーン内のリソースからのトラフィックのみが、そのリージョン内のリソースと対話できるようになります。
CLIを使用する場合は、--region REGION 特定の地域のリソースを保護するオプション。
APIを使用する場合は、"name": "region","value": "REGION" リソース属性のフィールド。
サービス・インスタンス:
IBM Cloud Event Notifications サービスの特定のインスタンスを保護します。
CLI を使用する場合は、 --service-instance INSTANCE-ID オプションを指定することで、特定のインスタンスを保護することができます。
APIを使用する場合は、"name": "serviceInstance","value": "INSTANCE-ID" リソース属性のフィールド。
環境:
CBRルールを、 Event Notifications サービスの特定のデプロイ環境に限定します。
APIを使用する場合は、"name": "environment","value": "ENVIRONMENT" リソース属性のフィールド。
リソース・タイプ:
Event Notifications 内の特定のリソースタイプに対して、CBRルールを適用範囲を限定します。
APIを使用する場合は、"name": "resourceType","value": "RESOURCE-TYPE" リソース属性のフィールド。
リソース:
Event Notifications 内の特定のリソースに対して、CBR ルールを適用します。
APIを使用する場合は、"name": "resource","value": "RESOURCE-ID" リソース属性のフィールド。
登録ID:
Event Notifications 内の特定のサブスクリプションに対して、CBR ルールを適用します。
APIを使用する場合は、"name": "subscriptionId","value": "SUBSCRIPTION-ID" リソース属性のフィールド。
トピックID:
Event Notifications 内の特定のトピックにCBRルールの適用範囲を限定します。
APIを使用する場合は、"name": "topicId","value": "TOPIC-ID" リソース属性のフィールド。
SMTP 設定 ID:
Event Notifications 内の特定のSMTP設定に対して、CBRルールを適用範囲を限定します。
APIを使用する場合は、"name": "smtpConfigId","value": "SMTP-CONFIG-ID" リソース属性のフィールド。
特定のAPIの保護
IBM Cloud Event Notifications の以下の API タイプを保護するための CBR ルールを作成できます。
制御プレーンAPI
Event Notifications のすべてのエンティティ(ソース、トピック、サブスクリプション、SMTP 設定など)に対して CRUD 操作を行う API など、本サービスの API へのアクセスを保護します。 また、通知やPush Destinations APIを送信する際のアクセスを保護する。 APIの全リストは こちら。
CBR ルールでクラスター コントロール プレーン API を選択した場合、そのルールに関連付けられたネットワーク ゾーン内のリソースからのトラフィックのみがクラスター コントロール プレーン API と対話できるようになります。 その他のリクエストはすべてブロックされます。
CLIを使用する場合は、--api-types オプションと crn:v1:bluemix:public:context-based-restrictions::::api-type:control-plane タイプ。
APIを使用する場合は、"api_type_id": "crn:v1:bluemix:public:context-based-restrictions::::api-type:control-plane" の中に "operations" スペック
SMTP構成
アクセスを保護します SMTPインターフェース。 CBR ルールで SMTP 構成を選択した場合、そのルールに関連付けられたネットワーク ゾーン内のリソースからのトラフィックのみが SMTP 構成と対話できるようになります。 その他のリクエストはすべてブロックされます。 SMTPインターフェースは、クラスタへの直接接続を介してユーザー名とパスワードのペアに基づいて動作するため、この機能にはCBRルールの設定が必須である。
CLIを使用する場合は、--api-types オプションと crn:v1:bluemix:public:event-notifications-dev::::api-type:smtp-configuration タイプ。
APIを使用する場合は、"api_type_id": "crn:v1:bluemix:public:event-notifications-dev::::api-type:smtp-configuration" の中に "operations" スペック
概要
アクセスを制限するには、 ゾーン および ルール を作成する必要があります。
まず、ネットワークまたはリソースの定義に合わせて、適切な詳細情報を指定してゾーンを作成します。 次に、そのゾーンを指定されたリソースに関連付けて、アクセスを制限します。 ゾーンやルールは、RESTful APIを 使ったり、 コンテキスト・ベースの制限を使って作成することができる。 ゾーンまたはルールを作成または更新した後、変更が有効になるまでに数分かかる場合があります。
CBR ルールは、プロビジョニング・プロセスまたはプロビジョン解除プロセスには適用されません。
ネットワーク・ゾーンについて
ネットワーク・ゾーンを作成することにより、アクセス要求が発信されるネットワーク・ロケーションの許可リストを定義して、ルールを適用できるタイミングを決定できます。 ネットワーク・ロケーションのリストは、個々のアドレス、範囲またはサブネット、仮想プライベート・クラウド (VPC) ID などの IP アドレスを使用して指定できます。
ネットワーク・ゾーンを作成したら、それをルールに追加できます。
CBR API を使用したネットワークゾーンの作成
API は、パブリック・エンドポイント (例えば、 cbr.cloud.ibm.com) およびプライベート・エンドポイント (例えば、 private.cbr.cloud.ibm.com) に接続することにより、 ネットワーク・ゾーン の定義をサポートします。
ゾーンをリストするには、 GET /v1/zones を使用します。 POST /v1/zones を使用すると、適切な情報を使用して新規ゾーンを作成できます。 要求本文の例を含め、詳しくは、 API を使用したネットワーク・ゾーンの作成 を参照してください。
参照ターゲットを確認することで、使用可能なサービスを判別できます。
CBR UI を使用したネットワークゾーンの作成
前提条件および要件を設定した後、UI でゾーンを作成できます。 実行するステップについて詳しくは、 コンテキスト・ベースの制限の作成 を参照してください。
UI からの入力でゾーンを作成する代わりに、 JSONコードとして入力してください をクリックして、JSON コードフォームを使用してゾーンを作成することもできます。
ネットワーク・ルールについて
ゾーンを作成したら、ルールを作成することで、そのゾーンをネットワークリソースに関連付けることができます。 リソースをルールに追加するときに、ネットワーク・トポロジーに固有の使用可能な エンドポイントのタイプ から選択できます。
CBR API を使用してネットワークルールを作成する
ネットワーク・ゾーンの作成から収集した情報を使用して、API でネットワーク・ルールを定義できます。
選択したエンドポイントで GET /v1/rules を使用することで、現行規則のリストを表示できます。 POST /v1/rules を使用して、新規ルールを作成します。 要求本体の例を含む詳細については、 API を使用したルールの作成 を参照してください。
CBR UI を使用したネットワークルールの作成
前提条件および要件を設定した後、UI でゾーンを作成できます。 実行するステップについて詳しくは、 コンテキスト・ベースの制限の作成 を参照してください。
CBR UI を使用して、ネットワーク・ルールに リソースとコンテキストを追加 できます。 制限に留意してください。
たとえば、IAM アクセスグループ サービスに対してコンテキストベースの制限を作成した場合、そのルールに合致しないユーザーは、パブリック アクセスグループを含め、そのアカウント内のどのグループも表示できなくなります。
IAM ポリシーとは異なり、コンテキスト・ベースの制限はアクセス権限を割り当てません。 コンテキスト・ベースの制限は、アクセス要求が、構成された許可されるコンテキストからのものであるかどうかを検査します。 また、同期やリソースの可用性の関係で、ルールがすぐに有効にならない場合があります。
次のステップ
ゾーンやルールの作成・変更後は、アクセスと可用性を確保できるよう、適切なテストを実施してください。
定義されたゾーン外からリソースへのアクセスを試みたユーザーは、適切なルールが設定されていない場合、「 HTTP error 403 」というエラーメッセージを受け取ります。
のTerraform IBM Modules (TIM)は、CBRルールの作成をサポートしています。 Event Notifications は CBR ルールの作成をサポートしており、インフラストラクチャの一部としてコードとしてアクセス制限を定義し、実施することができます。 これらの Terraform IBM Modules(TIM )は、 IBM Cloud セキュリティのベストプラクティスに従った、構築済みのオープンソースで、エンタープライズ対応である。
さらに、 Terraform IBM Modules for CBR を使って、あらゆる IBM Cloud サービス用の CBR ゾーンと CBR ルールを作成することができ、インフラストラクチャ全体でコンテキストベースの制限を管理するための柔軟で再利用可能なアプローチを提供します。