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

IBM Cloud® Hyper Protect Crypto Services インスタンスをセットアップすると、 Hyper Protect Crypto Services キー管理サービス API。

このポリシーは、キー管理サービスのキーおよび関連操作にのみ適用されます。

鍵の作成とインポートのアクセス設定について

キーの作成とインポートのアクセス権限ポリシー (Hyper Protect Crypto Services インスタンス向け) は、キーがどのように Hyper Protect Crypto Services インスタンスで暗号キーが誤って削除されたり、悪意を持って削除されたりすることを防止するための追加ポリシーです。

このポリシーを有効にすると、Hyper Protect Crypto Services は、 キーの作成またはインポートのみを許可します キーの作成およびインポートのアクセス権限ポリシーにリストされているキーの作成とインポートの設定に従う Hyper Protect Crypto Services インスタンス。

鍵の作成とインポートのアクセス・ポリシーの設定と取得は、API でのみサポートされています。 Hyper Protect Crypto Services キー管理サービス API へのアクセスについて詳しくは、API のセットアップを参照してください。

キーの作成とインポートのアクセス・ポリシーを Hyper Protect Crypto Services インスタンスで有効にする前に、以下の考慮事項に留意してください。

  • KeyCreateImportAccess ポリシーは、ポリシー作成前に存在していたキーには影響しません。

    KeyCreateImportAccess ポリシーは、ポリシーの設定後に送信される Hyper Protect Crypto Services 要求にのみ影響します。 ポリシー作成前に Hyper Protect Crypto Services インスタンスに存在していたすべての鍵にはアクセスすることができます。

  • KeyCreateImportAccess ポリシーは、様々な鍵アクションにおいて鍵に影響する場合がある。

    enforce_token 属性は、作成時、ローテーション時、リストア時にインポートされるキーに影響します。 create_root_keyimport_root_keycreate_standard_keyimport_standard_key の各属性は、作成時にのみキーに影響します。 ラップやアンラップなど、他のすべての Hyper Protect Crypto Services アクションは影響を受けず、通常どおり鍵に対して呼び出すことができます。

UI を使用したサービス・インスタンスの鍵作成およびインポート・アクセス・ポリシーの有効化または更新

セキュリティー管理者は、グラフィカル・インターフェースを使用して鍵の作成およびインポートのアクセス・ポリシー設定を管理する場合は、UI を使用できます。

Hyper Protect Crypto Services インスタンスを作成した後、以下のステップを実行して、鍵の作成とインポートのアクセス・ポリシーを有効にします。

  1. UI にログインします

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

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

  4. 選択したサービス・インスタンスの UI で、サイド・メニューの**「インスタンス・ポリシー (Instance policies)」**タブを選択します。

  5. **「鍵アクセス権限の作成とインポート」セクションで、対応するボックスにチェック・マークを付けたりクリアしたりして keyCreateImportAccess 設定を更新してから、「ポリシーの保存」**をクリックします。

    • Allow creation of root keys: このボックスにチェック・マークを付けると、Hyper Protect Crypto Services インスタンスでのルート鍵の作成が許可されます。
    • Allow creation of standard keys: このボックスにチェック・マークを付けると、Hyper Protect Crypto Services インスタンスでの標準鍵の作成が許可されます。
    • Allow import of root keys: このボックスにチェック・マークを付けると、Hyper Protect Crypto Services インスタンスへのルート鍵のインポートが許可されます。
    • Allow import of standard keys: このボックスにチェック・マークを付けると、Hyper Protect Crypto Services インスタンスへの標準鍵のインポートが許可されます。
    • Enable secure import: 許可ユーザーがインポート・トークンを使用せずにキー素材を Hyper Protect Crypto Services インスタンスにインポートできないようにするには、このボックスにチェック・マークを付けます。

    Enable secure import のボックスにチェック・マークを付けた後、すべての鍵インポート・アクションに対してセキュアなインポートを有効にすることが必要です。 UI ではセキュア・インポートを使用できないため、CLI または API を使用してさらにアクションを実行する必要があります。

無効になっている鍵アクションは、**「キーの追加」**パネルで選択することができません。 Secure import のボックスにチェック・マークを付けた後、すべての鍵インポート・アクションに対してセキュアなインポートを有効にすることが必要です。 鍵のインポートは UI では使用できないため、CLI または API を使用してさらにアクションを実行する必要があります。

サービス・インスタンスに対する鍵の作成とインポートのアクセス・ポリシーを API で有効化または更新する

セキュリティー管理者として、Hyper Protect Crypto Services インスタンスの鍵の作成およびインポートのアクセス・ポリシーを有効化または更新するには、 PUT 以下のエンドポイントを呼び出します。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/instance/policies?policy=keyCreateImportAccess

Hyper Protect Crypto Services インスタンスのキーの作成とインポートのアクセス権限ポリシーを更新する場合は、 例えば、要求から属性が省略された場合、フィールドはデフォルト値に設定され、省略されたフィールドの既存の値はデフォルト値で上書きされることに注意してください。

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

    KeyCreateImportAccess ポリシーを有効にするには、Hyper Protect Crypto Services インスタンスへの_「マネージャー」_アクセス権限が必要 インスタンス。 IAM ロールがどのように Hyper Protect Crypto Services アクションにマップされるかについて詳しくは、サービス・アクセス権限ロールを参照してください。

  2. キーの作成とインポートのアクセス権限ポリシーを Hyper Protect Crypto Services インスタンスで有効化または更新するには、以下の cURL コマンドを実行します。

    $ curl -X PUT \
        "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/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>
                            }
                        }
                    }
                ]
            }'
    

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

    表 1. 鍵の作成とインポートのアクセス・ポリシーを有効にするために必要な変数について説明します。
    変数 説明
    region 必須。 Hyper Protect Crypto Services インスタンスが存在する地理的領域を表す地域の省略形 ( us-southeu-de など)。 詳細については、リージョナル・サービス・エンドポイントを参照してください。
    IAM_token 必須。 IBM Cloud アクセス・トークン。 Bearer 値を含む、IAM トークンの全コンテンツを cURL 要求に組み込みます。 詳細については、アクセス・トークンのリトリーブを参照してください。
    instance_ID 必須。 Hyper Protect Crypto Services サービス・インスタンスに割り当てられた固有 ID。 詳細については、インスタンス ID のリトリーブを参照してください。
    create_root_key 必須。 Hyper Protect Crypto Services インスタンスでルート鍵を作成できるようにするには、 true に設定します。 インスタンス内にルート鍵が作成されないようにするには、 false に設定します。 この属性を省略すると、 true がデフォルト値として設定されます。
    create_standard_key 必須。 Hyper Protect Crypto Services インスタンスで標準鍵を作成できるようにするには、 true に設定します。 インスタンスで標準鍵が作成されないようにするには、 false に設定します。 この属性を省略すると、 true がデフォルト値として設定されます。
    import_root_key 必須。 ルート鍵を Hyper Protect Crypto Services インスタンスにインポートできるようにするには、 true に設定します。 ルート鍵がインスタンスにインポートされないようにするには、 false に設定します。 この属性を省略すると、 true がデフォルト値として設定されます。
    import_standard_key 必須。 標準鍵を Hyper Protect Crypto Services インスタンスにインポートできるようにするには、 true に設定します。 標準鍵がインスタンスにインポートされないようにするには、 false に設定します。 この属性を省略すると、 true がデフォルト値として設定されます。
    enforce_token 必須。 許可ユーザーがインポート・トークンを使用せずに Hyper Protect Crypto Services インスタンスに鍵素材をインポートできないようにするには、 true に設定します。 false に設定すると、許可ユーザーがインポート・トークンを使用せずにインスタンスに鍵素材をインポートすることが許可されます。 enforce_token が有効になっている場合、すべての鍵インポート・アクションに対してセキュアなインポートを有効にすることが必要です。 鍵インポートは UI では選択できず、CLI または API でさらにアクションを実行する必要があります。 この属性を省略すると、 false がデフォルト値として設定されます。

    要求が成功すると、HTTP 204 No Content 応答が返されますが、これは Hyper Protect Crypto Services インスタンスが有効になったことを示しています。 これで、Hyper Protect Crypto Services インスタンスが、要求で指定されたメソッドからのキーの作成またはインポートのみを許可できるようになりました。

  3. オプション: 以下のポリシー詳細をリトリーブして、キーの作成とインポートのアクセス権限ポリシーが作成または更新されたことを確認します。 Hyper Protect Crypto Services インスタンスで暗号キーが誤って削除されたり、悪意を持って削除されたりすることを防止するための追加ポリシーです。

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

キー管理サービス API を使用したサービス・インスタンスのキーの作成とインポートのアクセス権限ポリシーの無効化

Hyper Protect Crypto Services インスタンスの管理者として、キー管理サービス API を使用してキーの作成とインポートのアクセス権限ポリシーを無効にするには、以下のエンドポイントに対して PUT 呼び出しを行います。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/instance/policies?policy=keyCreateImportAccess

鍵の作成とインポートのアクセス・ポリシーを無効にする要求を行うときは、属性を指定しないでください。

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

    KeyCreateImportAccess ポリシーを有効にするには、Hyper Protect Crypto Services インスタンスへの_「マネージャー」_アクセス権限が必要 インスタンス。 IAM ロールがどのように Hyper Protect Crypto Services アクションにマップされるかについて詳しくは、サービス・アクセス権限ロールを参照してください。

  2. 既存のキーの作成とインポートのアクセス権限ポリシーを無効にします Hyper Protect Crypto Services インスタンスで有効化または更新するには、以下の cURL コマンドを実行します。

    $ curl -X PUT \
        "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/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
                        }
                    }
                ]
            }'
    

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

    表 2. 鍵の作成とインポートのアクセス・ポリシーを無効にするために必要な変数について説明します。
    変数 説明
    region 必須。 Hyper Protect Crypto Services インスタンスが存在する地理的領域を表す地域の省略形 ( us-south など)。 詳細については、リージョナル・サービス・エンドポイントを参照してください。
    IAM_token 必須。 IBM Cloud アクセス・トークン。 Bearer 値を含む、IAM トークンの全コンテンツを cURL 要求に組み込みます。 詳細については、アクセス・トークンのリトリーブを参照してください。
    instance_ID 必須。 Hyper Protect Crypto Services インスタンスに割り当てられた固有 ID。 詳細については、インスタンス ID のリトリーブを参照してください。

    要求が成功すると、HTTP 204 No Content 応答が返されます。これは、サービス・インスタンスに対する鍵の作成とインポートのアクセス・ポリシーが更新されたことを示します。

  3. オプション: ポリシーの詳細を取得して、キーの作成とインポートのアクセス権限ポリシーが無効になっていることを確認します。 Hyper Protect Crypto Services インスタンスで暗号キーが誤って削除されたり、悪意を持って削除されたりすることを防止するための追加ポリシーです。

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