コンテキストベースの制限によるアクセス制御

IBM® Key Protect サービス・インスタンスをセットアップした後、コンテキスト・ベースの制限 (CBR)の Key Protect サポートを使用してアクセスを管理できます。

CBR 設定の管理

CBR を使用すると、仮想プライベートクラウド(VPC)参照や Key Protect リソースをリンクする Internet Protocol (IP) アドレスなど、ネットワーク・リソースへのユーザー・アクセスとサービス・アクセスを管理できます。

CBR と統合されたサービスについて詳しくは、 コンテキスト・ベースの制約事項と統合されたサービス を確認してください。

概要

アクセスを制限する手順には、ゾーンの作成ルールの作成の 2 つの部分があり、それぞれに複数のステップがあります。 最初に、VPC 設定などのネットワーク定義またはリソース定義の適切な詳細を使用してゾーンを作成します。 次に、そのゾーンをリソースに付加して、アクセスを制限します。 この目標を達成するには、2 つの可能なパスがあります。RESTful API を使用するか、コンテキストベースの制限を使用するかのいずれかです。 ゾーンまたはルールを作成または更新した後、変更が有効になるまでに数分かかる場合があることに注意してください。

CBR ルールは、プロビジョニング・プロセスまたはプロビジョン解除プロセスには適用されません。

ネットワーク・ゾーンについて

ネットワーク・ゾーンを作成することで、アクセス要求を発信できる場所のリストを作成できます。 1 つ以上のネットワーク・ロケーションのセットを、個々のアドレス、範囲、またはサブネットなどの IP アドレス、および VPC ID で指定できます。 ネットワーク・ゾーンを作成したら、それをルールに追加できます。

CBR API を使用したネットワーク・ゾーンの作成

API は、パブリック (https: //cbr.cloud.ibm.com) エンドポイントとプライベート (https://private.cbr.cloud.ibm.com) エンドポイントの両方で呼び出すことにより、ネットワーク・ゾーン の定義をサポートします。

GET メソッドでパス「/v1/zones」を使用すると、ゾーンがリストされます。 POST を使用すると、以下の要求本体形式の例をガイドとして使用して、適切な情報を含む新規ゾーンを作成できます。

{
  "name": "an example of a zone",
  "description": "this is an example of a zone",
  "account_id": "12ab34cd56ef78ab90cd12ef34ab56cd",
  "addresses": [
    {
      "type": "ipAddress",
      "value": "169.23.56.234"
    },
    {
      "type": "ipRange",
      "value": "169.23.22.0-169.23.22.255"
    },
    {
      "type": "subnet",
      "value": "192.0.2.0/24"
    },
    {
      "type": "vpc",
      "value": "crn:v1:bluemix:public:is:us-south:a/12ab34cd56ef78ab90cd12ef34ab56cd::vpc:r134-d98a1702-b39a-449a-86d4-ef8dbacf281e"
    }
  ],
  "excluded": [
    {
      "type": "ipAddress",
      "value": "169.23.22.127"
    }
  ]
}

参照ターゲットを確認することで、使用可能なサービスを判別できます。

ゾーンを作成した後、それらを更新および削除することもできます。

CBR UI を使用したネットワーク・ゾーンの作成

前提条件と要件が満たされている場合は、手順に従って UI にゾーンを作成できます

UI 入力を使用してゾーンを作成する代わりに、JSON コード形式を使用して JSON を直接入力し、JSON コードとして入力をクリックしてゾーンを作成できます。

ゾーンを作成した後、それらを更新および削除することもできます。

ネットワーク・ルールについて

ゾーンを作成した後、ルールを作成することにより、ゾーンをネットワーク・リソースに接続できます。

ルールにリソースを追加するときに、ネットワーク・トポロジーに固有の使用可能なエンドポイントのタイプから選択できます。

CBR API を使用したネットワーク・ルールの作成

API はネットワーク・ルールの定義をサポートしており、次のステップのためにネットワーク・ゾーンの作成に関する情報が必要になります。

ネットワークゾーンと同じエンドポイントである「 /v1/rules 」というパスを使用すると、GETメソッドによって現在のルールが一覧表示されます。 独自のペイロードをガイドする以下のフォーマットの例を使用して同じパスに POST を送信することで、新規ルールを作成できます。

{
  "description": "this is an example of a rule",
  "resources": [
    {
      "attributes": [
        {
          "name": "accountId",
          "value": "12ab34cd56ef78ab90cd12ef34ab56cd"
        },
        {
          "name": "serviceName",
          "value": "kms"
        }
      ]
    }
  ],
  "contexts": [
    {
      "attributes": [
        {
          "name": "networkZoneId",
          "value": "65810ac762004f22ac19f8f8edf70a34"
        }
      ]
    }
  ]
}

ルールを作成した後、それらを更新および削除することもできます。

CBR UI を使用したネットワーク・ルールの作成

手順に従ってリソースおよびコンテキストをネットワーク・ルールに追加しますが、いくつかの制限に注意してください。

IAM アクセス・グループ・サービスのコンテキスト・ベースの制限を作成すると、ルールを満たさないユーザーはアカウント内のグループ (パブリック・アクセス・グループを含む) を表示できなくなります。

IAM ポリシーとは異なり、コンテキスト・ベースの制限はアクセス権限を割り当てません。 コンテキスト・ベースの制限は、アクセス要求が、構成された許可されるコンテキストからのものであるかどうかを検査します。 また、同期およびリソースの可用性により、ルールが即時に有効にならない場合があります。

ルールを作成した後、それらを更新および削除することもできます。

次のステップ

定義されたゾーンの外部でリソースにアクセスしようとすると、ユーザーは、適切なルールが確立されたときに HTTP エラー 401 を受け取ります。

アクセスおよび可用性を確認するための適切なテストを使用して、ゾーンまたはルールの作成または変更に従います。

環境間でコンテキストベースの制限を標準化する場合は、 Context-Based Restrictions モジュールの使用を検討してください。 概要については Terraform IBM Modulesを 参照。