ルート鍵または標準鍵のリストの表示

IBM Cloud® Hyper Protect Crypto Services により、 暗号鍵を表示、管理、監査する集中システムが提供されます。 鍵と鍵へのアクセス制限を監査して、リソースのセキュリティーを確保します。

定期的に鍵の構成を監査するために、以下を行います。

リソースへのアクセス権限の監査について詳しくは、ユーザーのアクセス権限の管理を参照してください。

UI を使用したルート鍵または標準鍵の表示

グラフィカル・インターフェースを使用してサービス内の鍵を検査する場合は、UI を使用できます。

サービス内に鍵を作成するか、既存の鍵をインポートした後、以下の手順を実行して、鍵を表示します。

  1. UI にログインします

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

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

  4. **「KMS 鍵 (KMS keys)」ページの「鍵」**テーブルで、各鍵の一般特性を参照します。

    表 1. キーの表について説明します。
    説明
    名前 鍵に割り当てられている (人間が理解できる) 固有の名前。
    ID Hyper Protect Crypto Services サービスによって鍵に割り当てられた固有の鍵 ID。 この ID 値を使用して、Hyper Protect Crypto Services キー管理サービス API でサービスを呼び出すことができます。
    別名 鍵を認識しやすくするために鍵の作成時に指定する (人間が理解できる) 別名。
    鍵リング ID 鍵が属する鍵リング。
    タイプ サービスにおける鍵の設計上の目的を表す鍵のタイプ。
    状態 NIST Special Publication 800-57 (キー管理の推奨事項) に基づく キー状態。 これらの状態には、「事前アクティブ」、「アクティブ」、「中断」、「非アクティブ」、および「破棄済み」が含まれます。
    発信元 鍵がインポートされるかどうかを示します。 Created は、鍵がサービス・インスタンスによって作成されることを示します。 Imported は、鍵がユーザーによってインポートされることを示します。
    最終更新 鍵が最後に更新された日時。 このフィールドは、鍵の作成、ローテート、または鍵のメタデータの変更を行うと更新されます。
    最終ローテーション日時 鍵が最後にローテートされた日時。
    作成日時 鍵が作成された日時。
    二重許可が有効になりました

    鍵に対する二重許可ポリシーの状況。

    • True: 鍵を削除するには二重許可が必要です。
    • False: 鍵を削除するために事前の許可は必要ありません。
    削除が設定されました

    キーに対して削除許可が発行されるかどうかを示します。

    • True: このキーを削除する許可は、最初のユーザーによって発行されます。 管理者アクセス・ポリシーを持つ 2 番目のユーザーは、鍵を安全に削除できます。
    • False: 鍵は削除対象として設定されていません。 これ以上のアクションは不要です。
    削除の有効期限 鍵の削除許可の有効期限が切れる日付。 この日付を過ぎると、許可は無効になります。 鍵のFalse列またはDual authorization enabled列の値がSet for deletionの場合、Deletion expiration列は空のままです。

    デフォルトでは、すべての鍵の特性が表示されるわけではありません。 **「キー」**テーブルの表示方法をカスタマイズするには、設定アイコンSettings icon をクリックし、表示する列にチェック・マークを付けます。

    サービス・インスタンスに保管されている鍵の一部がリストに表示されていない場合は、 該当するサービス・インスタンスまたは 個別の鍵に対して正しい役割を割り当てられているかどうか、管理者と共に 検証してください。 役割について詳しくは、役割と許可を参照してください。

    検索バーでは特定のキーの検索や、「キー」テーブルでフィルター・アイコンFilter iconをクリックすることで必要に応じてキーのフィルタリングができます。

キー管理サービス API を使用したルート・キーまたは標準キーの表示

Hyper Protect Crypto Services キー管理サービス API を使用して、キーのコンテンツをリトリーブできます。

ルート鍵または標準鍵のリストの取得

概要を参照するために、次のエンドポイントへの GET 呼び出しをして、Hyper Protect Crypto Services のプロビジョン済みインスタンスで管理されているルート鍵または標準鍵を表示できます。

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

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

    curl -X GET \
    "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys" \
    -H 'accept: application/vnd.ibm.collection+json' \
    -H 'authorization: Bearer <IAM_token>' \
    -H 'bluemix-instance: <instance_ID>' \
    -H 'x-kms-key-ring: <key_ring_ID>' \
    -H 'correlation-id: <correlation_ID>' \
    

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

    表 2. API を使用して鍵を表示するために必要な変数について説明します。
    変数 説明
    region Hyper Protect Crypto Services サービス・インスタンスを置く地理的領域を表す、地域の省略形 (us-southau-syd など)。 詳細については、リージョナル・サービス・エンドポイントを参照してください。
    port 必須。 API エンドポイントのポート番号。
    IAM_token IBM Cloud アクセス・トークン。 Bearer 値を含む、IAM トークンの全コンテンツを cURL 要求に組み込みます。 詳細については、アクセス・トークンのリトリーブを参照してください。
    instance_ID Hyper Protect Crypto Services サービス・インスタンスに割り当てられた固有 ID。 詳細については、インスタンス ID のリトリーブを参照してください。
    key_ring_ID オプション。 鍵が属する鍵リングの固有 ID。 指定しないと、Hyper Protect Crypto Services は、指定されたインスタンスに関連付けられているすべての鍵リングで鍵を検索します。 このため、鍵リング ID を指定して、より最適化された要求を行うことをお勧めします。

    注: x-kms-key-ring ヘッダーを指定せずに作成した鍵の鍵リング ID は「default」になります。 詳しくは、鍵リングの管理を参照してください。

    correlation_ID オプション。 トランザクションを追跡し、相互に関連付けるために使用される固有 ID。

    GET /v2/keys 要求が成功すると、Hyper Protect Crypto Services インスタンス内の使用可能な鍵の集合が返されます。

    {
      "metadata": {
        "collectionType": "application/vnd.ibm.kms.key+json",
        "collectionTotal": 2
      },
      "resources": [
        {
          "id": "02fd6835-6001-4482-a892-13bd2085f75d",
          "type": "application/vnd.ibm.kms.key+json",
          "name": "Root-key",
          "state": 1,
          "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
          "createdBy": "...",
          "creationDate": "2020-03-11T16:30:06Z",
          "lastUpdateDate": "2020-03-11T16:30:06Z",
          "algorithmMetadata": {
            "bitLength": "256",
            "mode": "CBC_PAD"
          },
          "extractable": false,
          "imported": true,
          "algorithmMode": "CBC_PAD",
          "algorithmBitSize": 256,
          "dualAuthDelete": {
            "enabled": false
          }
        },
        {
          "id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
          "type": "application/vnd.ibm.kms.key+json",
          "name": "Standard-key",
          "state": 1,
          "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:30372f20-d9f1-40b3-b486-a709e1932c9c:key:2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
          "createdBy": "...",
          "creationDate": "2020-03-12T03:50:12Z",
          "lastUpdateDate": "2020-03-12T03:50:12Z",
          "algorithmMetadata": {
            "bitLength": "256",
            "mode": "CBC_PAD"
          },
          "extractable": true,
          "imported": false,
          "algorithmMode": "CBC_PAD",
          "algorithmBitSize": 256,
          "dualAuthDelete": {
            "enabled": false
          }
        }
      ]
    }
    

    デフォルトでは、GET api/v2/keys は最初の 200 個の鍵を返しますが、照会時に limit パラメーターを使用してこの制限を調整できます。 limit および offset について詳しくは、鍵のサブセットの取得を参照してください。

    鍵の完全なリストが表示されない場合、 場合によっては、 limit および offset を使用する必要があります。 または、管理者に問い合わせて、インスタンス内の鍵に対する正しいレベルのアクセス権限が割り当てられていることを確認してください。 詳しくは、『鍵を表示またはリストできない』を参照してください。

鍵のサブセットの取得

照会時に limit パラメーターおよび offset パラメーターを指定することによって、指定した offset 値から始まる、鍵のサブセットを取得できます。

例えば、Hyper Protect Crypto Services サービス・インスタンスに合計 3000 個の鍵を保管しているが、GET /keys 要求を行うときに 200 から 300 までの鍵を取得したい場合が考えられます。

以下の要求例を使用して、さまざまな鍵セットを取得できます。

curl -X GET \
  'https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys?offset=<offset>&limit=<limit>' \
  -H 'accept: application/vnd.ibm.collection+json' \
  -H 'authorization: Bearer <IAM_token>' \
  -H 'bluemix-instance: <instance_ID>'

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

表 2. 制限変数とオフセット変数について説明します。
変数 説明
offset スキップする鍵の数。 例えば、インスタンスに 50 個の鍵があって、26 個から 50 個までの鍵をリストしたい場合、../keys?offset=25 を使用します。 offsetlimit とペアにして、使用可能なリソースをページ送りすることもできます。
limit 取得する鍵の数。 例えば、インスタンスに 100 個の鍵があって、10 個のみの鍵をリストしたい場合、../keys?limit=10 を使用します。 limit の最大値は 5000 です。

照会パラメーター limit および offset を設定する以下の例で、使用上の注意点を確認してください。

表 3. limit クエリー・パラメーターおよび offset クエリー・パラメーターの使用上の注意を示します。
URL 説明
.../keys 使用可能なリソースをすべてリストしますが、最初から 2000 個までの鍵が最大限です。
.../keys?limit=10 最初の 10 個の鍵をリストします。
.../keys?offset=25&limit=50 26 から 75 までの鍵をリストします。
.../keys?offset=3000&limit=50 3001 から 3050 までの鍵をリストします。

オフセットは、データ・セット内の特定の鍵の位置です。 offset 値はゼロが基準です。つまり、データ・セット内の 10 番目の暗号鍵はオフセット 9 の位置にあります。

状態による鍵の取得

照会時に state パラメーターを指定することにより、 指定した状態にある鍵を取得できます。

例えば、サービス・インスタンス内に アクティブ状態、中断状態、および破棄状態の鍵が存在する可能性があるが、 GET /keys 要求を行うときはアクティブ状態の鍵のみを取得したい場合が考えられます。

状態クエリー・パラメーターは、空白や末尾のコンマを含まず、コンマで区切られた 0 から 5 までの整数のリストを取ります。 有効な状態は NIST SP 800-57 に基づきます。 鍵の状態について詳しくは、鍵の状態および遷移を参照してください。

以下の要求例を使用して、さまざまな鍵セットを取得できます。

curl -X GET \
  'https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys?state=<state_integers>' \
  -H 'accept: application/vnd.ibm.collection+json' \
  -H 'authorization: Bearer <IAM_token>' \
  -H 'bluemix-instance: <instance_ID>'

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

表 4。 状態変数について説明します。
変数 説明
state 取得する鍵の状態。 状態は整数で、プリアクティブ = 0、アクティブ = 1、サスペンド = 2、非アクティブ = 3、破棄済み = 5 の値に対応します。 例えば、サービス・インスタンス内のアクティブ状態の鍵のみをリストする場合は、 ../keys?state=1 を使用します。 stateoffsetlimit とペアにして、使用可能なリソースをページ送りすることもできます。

使用上の注意点については、state 照会パラメーターの次の設定例を確認してください。

表 5. ステージ照会パラメーターの使用上の注意を示します。
URL 説明
.../keys 使用可能なリソースをすべてリストしますが、最初から 200 個までの鍵が最大限です。
.../keys?state=5 削除状態の鍵をリストします。
.../keys?state=2,3 中断状態および非アクティブ化状態の鍵をリストします。

extractable 値による鍵の取得

照会時に extractable パラメーターを指定すると、鍵素材がサービスの外部に出ることができる鍵を取得できます。

例えば、Hyper Protect Crypto Services インスタンスに標準鍵とルート鍵の両方がある場合に、GET /keys 要求を実行して、鍵素材を抽出できる鍵だけを取得したいことがあります。

extractable 照会パラメーターはブール値を取ります。

以下の要求例を使用して、さまざまな鍵セットを取得できます。

$ curl -X GET \
    "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys?extractable=<extractable>" \
    -H "accept: application/vnd.ibm.collection+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

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

表 5. 抽出可能変数について説明します。
変数 説明
抽出物 取得する鍵のタイプ。 extractable プロパティーに基づいて鍵をフィルタリングします。 この照会パラメーターを使用すると、素材がサービスの外部に出ることができる鍵を検索できます。 このパラメーターを true に設定すると、標準鍵が取得されます。 このパラメーターを false に設定すると、ルート鍵が取得されます。 このパラメーターを省略すると、ルート鍵と標準鍵の両方が取得されます。 例えば、サービス・インスタンス内の抽出可能な素材を持つ鍵のみをリストする場合は、 ../keys?extractable=true を使用します。 また、extractable を offsetlimit、および state と組み合わせて、該当するリソースのページング操作を行うこともできます。

使用上の注意点については、extractable 照会パラメーターの次の設定例を確認してください。

表 6. 抽出可能照会パラメーターの使用上の注意を提供します。
URL 説明
../keys 使用可能なリソースをすべてリストしますが、最初から 200 個までの鍵が最大限です。
../keys?extractable=true 標準鍵をリスト表示します。
../keys?extractable=false ルート鍵をリスト表示します。

キーのリストのソート

1 つ以上のキー・プロパティーに基づいて返される照会ストリング キーのリストをソートします。sort パラメーターを使用する。 プロパティーを降順にソートするには、用語の前に「-」を付けます。 複数のキー・プロパティーでソートするには、各プロパティーをコンマで区切ります。 コンマ区切りリストの最初のプロパティーは、次のプロパティーより前に評価されます。

$ curl -X GET \
    "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys?sort=<sort-value>" \
    -H "accept: application/vnd.ibm.collection+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"
表 7。 ソート照会パラメーターの使用上の注意
変数 説明
ソート値

ソート用のプロパティーのリスト。 この時点でソートできるキー・プロパティーは、

-id
-state
-extractable
-imported

  • creationDate
  • lastUpdateDate
  • lastRotateDate
  • deletionDate
  • expirationDate です。