IBM Cloud Docs
鍵リングの管理

鍵リングの管理

Hyper Protect Crypto Services を使用して、同じ Cloud Identity and Access Management (IAM) アクセス許可を必要とするユーザーのターゲット・グループの鍵のグループを作成できます。

アカウント管理者は、Hyper Protect Crypto Services インスタンスのキーを_「キー・リング」_というグループにバンドルできます。 鍵リングは、同じ IAM アクセス許可を必要とする、サービス・インスタンス内の鍵の集合です。 例えば、特定の鍵グループに対する特定のタイプのアクセス権限を必要とするチーム・メンバーのグループがある場合、それらの鍵の鍵リングを作成し、適切な IAM アクセス・ポリシーをターゲット・ユーザー・グループに割り当てることができます。 鍵リングに対するアクセス権限を割り当てられたユーザーは、その鍵リング内に存在するリソースの管理と作成を行えます。

鍵リングは、あるビジネス部門が、別のビジネス部門が持つことのできない鍵のセットにアクセスできることが重要な場合にも役立ちます。 アカウント管理者は、ビジネス部門ごとに鍵リングを作成し、適切なレベルのアクセス権限を適切なユーザーに割り当てることができます。 アカウント管理者は、特定の鍵リングのプラットフォーム管理を他の人に委任する必要がある場合、ユーザーに 鍵リング・レベルのプラットフォーム管理者ロールを割り当てることができます。 これで、副管理者がボールトを管理して、適切なユーザーにアクセス権限を付与できるようになります。

キーリングへのアクセスを許可することができますHyper Protect Crypto Services UI、IAM API、または IAM CLI を使用してインスタンスを作成します。

Hyper Protect Crypto Services インスタンスの鍵リングを作成する前に、以下の考慮事項に注意してください。

  • すべての Hyper Protect Crypto Services インスタンスには、デフォルトの鍵リングが付属しています。

    新しく作成された各 Hyper Protect Crypto Services インスタンスには、ID が default の鍵リングが生成されます。 指定されたキー・リングに関連付けられていないすべてのキーは、デフォルトのキー・リングに存在します。

  • 鍵リングではルート鍵と標準鍵を保持できますが、EP11 鍵は保持できません。

    鍵リングには、ルート鍵と標準鍵の両方を含めることができます。 鍵リング内に存在できる鍵の数に制限はありません。 鍵リングは Enterprise PKCS #11 (EP11) 鍵には適用されません。

  • 1 つのキーが属するのは、一度に 1 つのキー・リングに限られます。

    1 つのキーが属するのは、1 つのキー・リングに限られます。 鍵リングへの割り当ては、鍵の作成時に行われます。 鍵リング ID が作成時に渡されない場合、鍵はデフォルトの鍵リングに属します。 鍵の作成後に鍵リングを更新できます。

  • サービス・インスタンスには、鍵リングや EP11 キー・ストアなど、最大 5 つのキー・ストアを無料で作成できます。 サービス・インスタンスの鍵リングの最大数は 50 です。

    追加の鍵リングまたは EP11 キー・ストアごとに、月額 $225 USD から始まる段階的な料金が課金されます。 料金について詳しくは、価格設定のサンプルを参照してください。

鍵リングの作成

鍵を鍵リングにグループ化するには、まず鍵リングを作成する必要があります。 キーリングを作成するには、UI またはキー管理サービス API のいずれかを使用できます。

サービス・インスタンスには、鍵リングや EP11 キー・ストアなど、最大 5 つのキー・ストアを無料で作成できます。 追加の鍵リングまたは EP11 キー・ストアごとに、月額 $225 USD から始まる段階的な料金が課金されます。

UI を使用した鍵リングの作成

次の手順を実行して、UI を使用してキーリングを作成します。

  1. UI にログインします

  2. 「メニュー」>**「リソース・リスト」**に移動し、リソースのリストを表示します。

  3. IBM Cloud リソース・リストで、Hyper Protect Crypto Services のプロビジョン済みインスタンスを選択します。

  4. 新しい鍵リングを作成するには、サイド・メニューの**「KMS 鍵リング (KMS key rings)」**タブを選択します。

  5. **「鍵管理サービスの鍵リング」テーブルで「鍵リングの追加」**をクリックします。

    サービス・インスタンスには、鍵リングや EP11 キー・ストアなど、最大 5 つのキー・ストアを無料で作成できます。 追加の鍵リングまたは EP11 キー・ストアごとに、月額 $225 USD から始まる段階的な料金が課金されます。

  6. **「鍵リング ID」に入力して「鍵リングの追加」**をクリックします。

API を使用した鍵リングの作成

以下のエンドポイントへの POST 呼び出しを行うことにより、鍵リングを作成します。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/key_rings
  1. サービス内で鍵の処理を行うために、認証資格情報を取得します

  2. 以下の curl コマンドを実行して、鍵リングを作成します。

    $ curl -X POST \
        "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/key_rings/<key_ring_id>" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "correlation-id: <correlation_ID>"
    

    次の表に従って、例の要求内の変数を置き換えてください。

    表 1. キー管理サービスAPIを使用してキーリングを作成するために必要な変数について説明します。
    変数 説明
    region 必須。 地域の略語、例:us-south 、あなたの地理的エリアを表しますHyper Protect Crypto Servicesインスタンスが存在します。 詳細については、リージョナル・サービス・エンドポイントを参照してください。
    port 必須。 API エンドポイントのポート番号。
    key_ring_id 必須。 作成する鍵リングの固有 ID。
    IAM_token 必須。 IBM Cloud アクセス・トークン。 完全な内容を含める IAM ベアラー値を含むトークンを curl リクエスト。 詳しくは、アクセス・トークンの取得を参照してください。
    instance_ID 必須。 Hyper Protect Crypto Services サービス・インスタンスに割り当てられた固有 ID。 詳細については、インスタンス ID のリトリーブを参照してください。
    correlation_ID トランザクションを追跡し、相互に関連付けるために使用される固有 ID。

    POST api/v2/key_rings 要求が成功すると、鍵リングが作成されて、標準鍵とルート鍵の保持に使用できるようになったことを示す HTTP 201 Created 応答が返されます。

別の鍵リングへの鍵の移動

要件が変わったり、新しいチーム・メンバーが組織に加わったりしたら、それらの組織的変更を反映するために新規鍵リングの作成が必要になることがあります。 そのような鍵リングを作成したら、一般的には、既存の鍵リングの鍵を、IAM アクセス権限が異なる新規鍵リングに移動することが必要になります。 例えば、デフォルト以外のカスタム・キー・リングに属するキーへの特定のアクセス権限を必要とするチームをオンボードできます。 オンボーディング・チーム専用の新しい鍵リングを作成できます。 鍵は一度に 1 つの鍵リングにのみ関連付けることができるため、鍵を新しい鍵リングに移動する必要があります。

キーを別のキー・リングに転送してから、変更が有効になるまでに最長 10 分かかることがあります。

UI を使用した別の鍵リングへの鍵の移動

次の手順を実行すると、UI を使用してキーを別のキー リングに転送できます。

  1. UI にログインします
  2. 「メニュー」>**「リソース・リスト」**に移動し、リソースのリストを表示します。
  3. IBM Cloud リソース・リストで、Hyper Protect Crypto Services のプロビジョン済みインスタンスを選択します。
  4. サイド・メニューの**「KMS キー」タブを選択して、「キー」**テーブルを開きます。
  5. リストから転送したいキーを見つけ、アクション・アイコン Actions iconをクリックしてオプション・リストを開きます。
  6. **「キー・リングの変更」**をクリックします。
  7. キーの移動先のキー・リング ID を選択し、**「キー・リングの変更」**をクリックします。

API を使用した別の鍵リングへの鍵の移動

以下のエンドポイントに PATCH 呼び出しを実行して、鍵を別の鍵リングに移動します。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>
  1. サービス内で鍵の処理を行うために、認証資格情報を取得します

    キーのキー・リングを更新するには、少なくともキーおよびターゲット・キー・リングに対する_「マネージャー」_サービス・アクセス権限が必要です。 IAM 役割と Hyper Protect Crypto Services サービスでのアクションの対応関係について詳しくは、サービス・アクセスの役割を参照してください。

  2. 以下の curl コマンドを実行して、鍵の鍵リングを更新します。

    $ curl -X PATCH \
      "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>" \
      -H 'accept: application/vnd.ibm.kms.key+json' \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'content-type: application/vnd.ibm.kms.key+json' \
      -H "x-kms-key-ring: <original_key_ring_ID>" \
      -H "correlation-id: <correlation_ID>" \
      -d '{
        "keyRingID": "<new_key_ring_ID>"
      }'
    

    次の表に従って、例の要求内の変数を置き換えてください。

    表 2. キー管理サービス API を使用してキーのキー リングを更新するために必要な変数について説明します。
    変数 説明
    region 必須。 地域の略語、例:us-south 、あなたの地理的エリアを表しますHyper Protect Crypto Servicesインスタンスが存在します。 詳細については、リージョナル・サービス・エンドポイントを参照してください。
    port 必須。 API エンドポイントのポート番号。
    IAM_token 必須。 IBM Cloud アクセス・トークン。 完全な内容を含める IAM ベアラー値を含むトークンを curl リクエスト。 詳しくは、アクセス・トークンの取得を参照してください。
    instance_ID 必須。 Hyper Protect Crypto Services サービス・インスタンスに割り当てられた固有 ID。 詳細については、インスタンス ID のリトリーブを参照してください。
    original_key_ring_ID オプション。 鍵が属する鍵リングの固有 ID。 指定しないと、Hyper Protect Crypto Services は、指定されたインスタンスに関連付けられているすべての鍵リングで鍵を検索します。 このため、鍵リング ID を指定して、より最適化された要求を行うことをお勧めします。

    注: パスワードなしでキーを作成すると、x-kms-key-ring ヘッダーの場合、キーのキーリングは次のようになります。default

    correlation_ID トランザクションを追跡し、相互に関連付けるために使用される固有 ID。
    new_key_ring_ID 必須。 キーの移動先のターゲット・キー・リングの固有 ID。

    PATCH api/v2/keys/key_ID 要求が成功すると、キーのメタデータ (キーが現在属しているキー・リングの ID を含む) が返されます。

    {
     "metadata": {
         "collectionType": "application/vnd.ibm.kms.key+json",
         "collectionTotal": 1
     },
     "resources": [
         {
             "type": "application/vnd.ibm.kms.key+json",
             "id": "02fd6835-6001-4482-a892-13bd2085f75d",
             "name": "test-root-key",
             "aliases": [
                 "alias-1",
                 "alias-2"
               ],
             "description": "A test root key",
             "state": 1,
             "extractable": false,
             "keyRingID": "new-key-ring",
             "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
             "imported": false,
             "creationDate": "2020-03-12T03:37:32Z",
             "createdBy": "...",
             "algorithmType": "AES",
             "algorithmMetadata": {
                 "bitLength": "256",
                 "mode": "CBC_PAD"
             },
             "algorithmBitSize": 256,
             "algorithmMode": "CBC_PAD",
             "lastUpdateDate": "2020-03-12T03:37:32Z",
             "keyVersion": {
                 "id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
                 "creationDate": "2020-03-12T03:37:32Z"
             },
             "dualAuthDelete": {
                 "enabled": false
             },
             "deleted": false
         }
     ]
    }
    

鍵リングへのアクセス権限の付与

UI、 IAM API、または CLIを使用して、 Hyper Protect Crypto Services インスタンス内の鍵リングへのアクセス権限を付与できます。

IBM Cloud IAM 役割と Hyper Protect Crypto Services アクションの対応関係については、役割と許可を参照してください。

UI を使用してキーリングへのアクセスを割り当てるには、次の手順を実行します。

  1. メニュー・バーから、「管理」>**「アクセス (IAM)」をクリックし、「ユーザー」**を選択して、アカウント内の既存のユーザーを参照します。
  2. テーブルでアクセス権限を割り当てるユーザーを選択し、アクション・アイコン Actions iconをクリックして、そのユーザーのオプションのリストを開きます。
  3. オプション・メニューから**「アクセス権限の割り当て」**をクリックします。
  4. クリックアクセスポリシー
  5. 「サービス」 で、 Hyper Protect Crypto Services を選択し、 「次へ」 をクリックします。
  6. 「リソース」 の下で、 「特定のリソース」 を選択します。
  7. 「サービス・インスタンス ID」 属性タイプを選択し、鍵リングが存在するインスタンスの ID を入力します。
  8. 「条件の追加」 をクリックし、 「鍵リング ID」 属性を選択して鍵リングに関連付けられた ID を入力し、 「次へ」 をクリックします。
  9. 「役割とアクション」 の下で、ユーザーにアクセス権限を割り当てる プラットフォーム・アクセス役割とサービス・アクセス役割 の組み合わせを選択し、 「次へ」 をクリックします。
  10. (オプション) 「条件 (オプション)」 で、 「レビュー」 をクリックしてアクセス・ポリシーを確認します。
  11. 確認後、 「追加」 > 「割り当て」 をクリックします。

ユーザーがインスタンスのキー・リングをリスト、作成、削除できるようにするには、少なくともインスタンス全体に対する_「リーダー」_アクセス権限をユーザーに割り当てる必要があります。

鍵リングのリスト

プロビジョニングされたインスタンスで管理されているキーリングを参照できます。Hyper Protect Crypto Services UI またはキー管理 KPI を使用します。

UI でキーリングを一覧表示する

UI を使用してキーリングを参照するには、次の手順を実行します。

  1. UI にログインします
  2. 「メニュー」>**「リソース・リスト」**に移動し、リソースのリストを表示します。
  3. IBM Cloud リソース・リストで、Hyper Protect Crypto Services のプロビジョン済みインスタンスを選択します。
  4. 鍵リングを参照するには、サイド・メニューの**「KMS 鍵リング (KMS key rings)」**タブを選択します。

鍵リング・テーブルには、以下の情報が含まれています。

表 3. キーリングテーブルの列について説明します
説明
鍵リング ID 鍵リングの作成時に指定する固有 ID。
最終更新 キー・リングが最終更新された日時。 このフィールドは、キー・リングが作成または変更されると更新されます。
作成日時 鍵リングが作成された日時。

API を使用した鍵リングのリスト表示

以下のエンドポイントへの GET 呼び出しを行うことにより、鍵リングを参照できます。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/key_rings
  1. サービス内で鍵の処理を行うために、認証資格情報を取得します

  2. 以下の curl コマンドを実行して、鍵リングに関する一般的な特性を表示します。

    $ curl -X GET \
        "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/key_rings" \
        -H "accept: application/vnd.ibm.kms.key_ring+json" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "correlation-id: <correlation_ID>"
    

    次の表に従って、例の要求内の変数を置き換えてください。

    表 4。 キー管理サービス API を使用してキー リングを表示するために必要な変数について説明します。
    変数 説明
    region 必須。 地域の略語、例:us-south 、あなたの地理的エリアを表しますHyper Protect Crypto Servicesインスタンスが存在します。 詳細については、リージョナル・サービス・エンドポイントを参照してください。
    port 必須。 API エンドポイントのポート番号。
    IAM_token 必須。 IBM Cloud アクセス・トークン。 完全な内容を含める IAM ベアラー値を含むトークンを curl リクエスト。 詳しくは、アクセス・トークンの取得を参照してください。
    instance_ID 必須。 Hyper Protect Crypto Services インスタンスに割り当てられた固有 ID。 詳細については、インスタンス ID のリトリーブを参照してください。
    correlation_ID トランザクションを追跡し、相互に関連付けるために使用される固有 ID。

    GET api/v2/key_rings 要求が成功すると、Hyper Protect Crypto Services サービス・インスタンス内の使用可能な鍵リングの集合が返されます。

    {
        "metadata": {
            "collectionType": "application/vnd.ibm.kms.key_ring+json",
            "collectionTotal": 2
        },
        "resources": [
            {
                "id": "default"
            },
            {
                "id": "Sample Key Ring 2",
                "creationDate": "2020-03-12T11:00:06Z",
                "createdBy": "..."
            }
        ]
    }
    

鍵リングの削除

キーリングは、UI またはキー管理サービス API を使用して削除できます。

default の鍵リングは削除できません。 また、キーの状態 (破棄状態のキーを含む) に関係なく、キー リングに少なくとも 1 つのキーが含まれている場合は、キー リングを削除することはできません。

UI でキーリングを削除する

UI を使用してキーリングを削除するには、次の手順を実行します。

  1. UI にログインします
  2. 「メニュー」>**「リソース・リスト」**に移動し、リソースのリストを表示します。
  3. IBM Cloud リソース・リストで、Hyper Protect Crypto Services のプロビジョン済みインスタンスを選択します。
  4. サイド・メニューの**「KMS 鍵リング (KMS key rings)」**タブを選択して、鍵リングを参照します。
  5. 削除したいキー・リングを見つけ、その行の末尾にある削除アイコンDeletion iconをクリックします。
  6. 削除内容を確認して、**「鍵リングの削除」**をクリックします。

API を使用した鍵リングの削除

以下のエンドポイントへの DELETE 呼び出しを行うことによって、鍵リングを削除できます。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/key_rings/<key_ring_id>
  1. サービス内で鍵の処理を行うために、認証資格情報を取得します

  2. 削除する鍵リングの ID を取得します。

    Hyper Protect Crypto Services インスタンス内の鍵リングの ID は、鍵リングのリストを取得することで見つけることができます。

  3. 次の curl コマンドを実行して、鍵リングを削除します。

    $ curl -X DELETE \
        "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/key_rings/<key_ring_id>" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "prefer: <return_preference>"
    

    次の表に従って、例の要求内の変数を置き換えてください。

    表 5. 鍵管理サービス API を使用して鍵を削除するために必要な変数について説明します。
    変数 説明
    region 必須。 地域の略語、例:us-south 、あなたの地理的エリアを表しますHyper Protect Crypto Servicesインスタンスが存在します。 詳細については、リージョナル・サービス・エンドポイントを参照してください。
    port 必須。 API エンドポイントのポート番号。
    key_ring_id 必須。 削除する鍵リングの固有 ID。
    IAM_token 必須。 IBM Cloud アクセス・トークン。 完全な内容を含める IAM ベアラー値を含むトークンを curl リクエスト。 詳しくは、アクセス・トークンの取得を参照してください。
    instance_ID 必須。 Hyper Protect Crypto Services サービス・インスタンスに割り当てられた固有 ID。 詳細については、インスタンス ID のリトリーブを参照してください。

    要求が成功すると、鍵リングが正常に削除されたことを示す HTTP 204 No Content 応答が返されます。