鍵の作成とインポートのアクセス・ポリシーの管理

IBM® Key Protect サービス・インスタンスをセットアップした後、以下を使用して keyCreateImportAccess ポリシーを管理できます。 IBM® Key Protect サービス API。

keyCreateImportAccess 設定の管理

以下の keyCreateImportAccess ポリシー (Key Protect インスタンス)は、鍵の作成方法および以下へのインポート方法を制限するために使用できるアクセス・ポリシーです。 Key Protect インスタンス。

このポリシーを有効にすると、Key Protect は、 キーの作成またはインポートのみを許可します Key Protect インスタンスでの鍵の作成またはインポートのみを許可します。

keyCreateImportAccess ポリシーの設定と取得は、アプリケーション・プログラミング・インターフェース (API) 経由でサポートされます。 keyCreateImportAccess ポリシーのサポートは、今後、ユーザー・インターフェース (UI)、コマンド・ライン・インターフェース (CLI)、およびソフトウェア開発キット (SDK) にも追加される予定です。 Key Protect API へのアクセスについて詳しくは、API のセットアップを参照してください。

以下の keyCreateImportAccess ポリシーを有効にする前に (Key Protect インスタンス)、以下の考慮事項に留意してください。

  • KeyCreateImportAccess ポリシーは、ポリシー作成前から存在していた鍵には影響しない。 KeyCreateImportAccess ポリシーは、 ポリシーの設定後に送信される Key Protect 要求にのみ影響します。 ポリシーを作成する前に、 Key Protect インスタンスに存在していたすべての鍵に引き続きアクセスできます。

  • KeyCreateImportAccess ポリシーは、様々な鍵アクションにおいて鍵に影響する場合がある。 enforce_token 属性は、作成時、ローテーション時、および回復時に、インポートされた鍵に影響します。 create_root_key, import_root_keycreate_standard_key, また、 import_standard_key 属性は、 キーの作成時にのみ影響します。 All other Key Protect アクション (ラップ、アンラップなど) は影響を受けず、通常どおり鍵で呼び出すことができます。

コンソールを使用した Key Protect インスタンスの keyCreateImportAccess ポリシーの有効化および更新

以下を使用して keyCreateImportAccess ポリシー設定を管理する場合は (Key Protectのグラフィカル・インターフェース)、IBM Cloud コンソールを使用できます。

「enforce_token」を有効にすると、UI では鍵のインポート操作を一切実行できなくなります。 「enforce_token」オプションは、すべての鍵のインポートに対してセキュア・インポートを必須にします。 セキュア・インポートは、Key Protect CLI または API でしかサポートされません。

Key Protect インスタンスを作成した後、以下のステップを実行して、keyCreateImportAccess ポリシーを有効にします。

  1. IBM Cloud コンソールにログインしてください

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

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

  4. ページの左側にある「 ポリシー 」というリンクをクリックしてください。

    • Create and import accessパネル (ページ上部) を見つけます。

    • keyCreateImportAccess 設定を、必要に応じて有効化/無効化します。 なお、 無効化されたキーの作成やインポートに関する操作は、 「キーの追加」パネルからは利用できなくなります。

    • SaveまたはCancel (どちらか該当するほう) をクリックします。

API を使用した Key Protect インスタンスの keyCreateImportAccess ポリシーの有効化および更新

セキュリティー管理者は、次のエンドポイントを呼び出すことで、Key Protect インスタンスの keyCreateImportAccess ポリシーを有効化または更新できます。 PUT 以下のエンドポイントにリクエストを送信します。

https://<region>.kms.cloud.ibm.com/api/v2/instance/policies?policy=keyCreateImportAccess

Key Protect インスタンスの keyCreateImportAccess ポリシーを更新する場合、属性が要求から省略された場合、フィールドはデフォルト値に設定され、省略されたフィールドの既存の値はデフォルト値で上書きされることに注意してください。

  1. API の処理を行うために、認証資格情報を取得します

    keyCreateImportAccess ポリシーを有効にするには、Key Protect インスタンスの_マネージャー_・アクセス・ポリシーが割り当てられている必要があります。 インスタンスだ。 IAM ロールがどのように Key Protect サービス・アクションにどのようにマップされるかについては、サービス・アクセス役割を確認してください。

  2. 以下の keyCreateImportAccess ポリシーを有効化または更新します。 Key Protect インスタンス。(次の curl コマンドを実行することによる)

    $ curl -X PUT \
        "https://<region>.kms.cloud.ibm.com/api/v2/instance/policies?policy=keyCreateImportAccess" \
        -H "accept: application/vnd.ibm.kms.policy+json" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "content-type: application/vnd.ibm.kms.policy+json" \
        -d '{
                "metadata": {
                    "collectionType": "application/vnd.ibm.kms.policy+json",
                    "collectionTotal": 1
                },
                "resources": [
                    {
                        "policy_type": "keyCreateImportAccess",
                        "policy_data": {
                            "enabled": true,
                            "attributes": {
                                "create_root_key": <true/false>,
                                "create_standard_key": <true/false>,
                                "import_root_key": <true/false>,
                                "import_standard_key": <true/false>,
                                "enforce_token": <true/false>
                            }
                        }
                    }
                ]
            }'
    

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

keyCreateImportAccess ポリシーを有効にするために必要な変数について説明します。
変数 説明
リージョン 必須us-southeu-gb といった地域略称は、 Key Protect インスタンスが配置されている地理的エリアを表します。

詳細については、「 地域別サービスエンドポイント 」を参照してください。
IAM_token 必須。 IBM Cloud アクセス・トークン。 Bearer 値を含む、IAM トークンの全コンテンツを cURL 要求に組み込みます。

詳細については、「 アクセストークンの取得 」を参照してください。
instance_ID 必須。 Key Protect サービス・インスタンスに割り当てられた固有 ID。

詳細については、「 インスタンス ID の取得 」を参照してください。
create_root_key 必須。 true に設定すると、Key Protect インスタンスでのルート鍵の作成が許可されます。 インスタンスでルート鍵が作成されないようにするには、false に設定します。

注: 省略した場合、POST /instance/policies はこの属性をデフォルト値 (true) に設定します。
create_standard_key 必須。 true に設定すると、Key Protect インスタンスでの標準鍵の作成が許可されます。 false に設定すると、インスタンスで標準鍵を作成することができなくなります。

注: 省略すると、POST /instance/policies によって、この属性にはデフォルト値 (true) が設定されます。
import_root_key 必須。 true に設定すると、Key Protect インスタンスへのルート鍵のインポートが許可されます。 ルート鍵がインスタンスにインポートされないようにするには、false に設定します。

注: 省略した場合、POST /instance/policies はこの属性をデフォルト値 (true) に設定します。
import_standard_key 必須。 true に設定すると、Key Protect インスタンスへの標準鍵のインポートが許可されます。 false に設定すると、インスタンスに標準鍵をインポートすることができなくなります。

注: 省略すると、POST /instance/policies によって、この属性にはデフォルト値 (true) が設定されます。
enforce_token 必須true に設定すると、許可ユーザーがインポート・トークンを使用せずに Key Protect インスタンスに鍵素材をインポートすることができなくなります。 false に設定すると、承認されたユーザーがインポートトークンを使用せずに、インスタンスに鍵素材をインポートできるようになります。

有効にすると、この属性は import_root_key および import_standard_key 属性より優先されます。

注: 省略すると、POST /instance/policies によって、この属性にはデフォルト値 (false) が設定されます。

要求が成功すると、HTTP 204 No Content 応答が返されます。これは、Key Protect インスタンスで keyCreateImportAccess ポリシーが有効になったことを示します。 要求で指定した方式による鍵の作成またはインポートのみが、Key Protect インスタンスで許可されるようになります。

オプション: 鍵の作成とインポートのアクセス・ポリシーの有効化の確認

ポリシーのリスト表示の要求を実行して、鍵の作成とインポートのアクセス・ポリシーが有効になったことを確認できます。

$ curl -X GET \
    "https://<region>.kms.cloud.ibm.com/api/v2/instance/policies?policy=keyCreateImportAccess" \
    -H "accept: application/vnd.ibm.kms.policy+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

ここで、<instance_ID> はインスタンスの名前で、<IAM_token> は IAM トークンです。

Key Protect インスタンスに対する keyCreateImportAccess ポリシーの無効化

Key Protect インスタンスのマネージャーとして、以下に既存の keyCreateImportAccess ポリシーを無効にします。 Key Protect インスタンス。(以下のエンドポイントに PUT 呼び出しを行うことによる)

https://<region>.kms.cloud.ibm.com/api/v2/instance/policies?policy=keyCreateImportAccess

keyCreateImportAccess ポリシーを無効にする要求を行うときは、属性を指定しないでください。

  1. API の処理を行うために、認証資格情報を取得します

    keyCreateImportAccess ポリシーを無効にするには、Key Protect の_マネージャー_・アクセス・ポリシーが割り当てられている必要があります。 インスタンスだ。 IAM ロールがどのように Key Protect サービス・アクションにどのようにマップされるかについては、サービス・アクセス役割を確認してください。

  2. 以下既存の keyCreateImportAccess ポリシーを無効にします。 Key Protect インスタンス。(次の curl コマンドを実行することによる)

    $ curl -X PUT \
        "https://<region>.kms.cloud.ibm.com/api/v2/instance/policies?policy=keyCreateImportAccess" \
        -H "accept: application/vnd.ibm.kms.policy+json" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "content-type: application/vnd.ibm.kms.policy+json" \
        -d '{
                "metadata": {
                    "collectionType": "application/vnd.ibm.kms.policy+json",
                    "collectionTotal": 1
                },
                "resources": [
                    {
                        "policy_type": "keyCreateImportAccess",
                        "policy_data": {
                            "enabled": false
                        }
                    }
                ]
            }'
    

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

keyCreateImportAccess ポリシーを無効にするために必要な変数について説明します。
変数 説明
リージョン 必須us-southeu-gb といった地域略称は、 Key Protect インスタンスが配置されている地理的エリアを表します。

詳細については、「 地域別サービスエンドポイント 」を参照してください。
IAM_token 必須。 IBM Cloud アクセス・トークン。 Bearer 値を含む、IAM トークンの全コンテンツを cURL 要求に組み込みます。

詳細については、「 アクセストークンの取得 」を参照してください。
instance_ID 必須。 Key Protect サービス・インスタンスに割り当てられた固有 ID。

詳細については、「 インスタンス ID の取得 」を参照してください。

要求が成功すると、HTTP 204 No Content 応答が返されます。これは、サービス・インスタンスで keyCreateImportAccess ポリシーが更新されたことを示します。

オプション: 鍵の作成とインポートのアクセス・ポリシーの有効化の確認

ポリシーのリスト表示の要求を実行して、鍵の作成とインポートのアクセス・ポリシーが無効になったことを確認できます。

$ curl -X GET \
    "https://<region>.kms.cloud.ibm.com/api/v2/instance/policies?policy=keyCreateImportAccess" \
    -H "accept: application/vnd.ibm.kms.policy+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

ここで、<instance_ID> はインスタンスの名前で、<IAM_token> は IAM トークンです。