カスタムキーストアでの CMK の作成 - AWS Key Management Service

カスタムキーストアでの CMK の作成

カスタムキーストアの作成後、キーストアでカスタマーマスターキー (CMK) を作成することができます。これらは、AWS KMS が生成するキーマテリアルを持つ対称 CMK である必要があります。インポートされたキーマテリアルを使用して非対称 CMK や CMK を作成することはできません。また、カスタムキーストアで対称 CMK を使用して非対称データキーペアを生成することはできません。

AWS KMS で任意の CMK を使用および管理するのと同じ方法で、カスタムキーストア内の CMK を使用および管理します。たとえば、次のいずれかを実行できます。

  • 暗号化オペレーションで CMK を使用する。

  • CMK に IAM およびキーポリシーを設定する。

  • エイリアスの作成は CMK に関連付けられます。

  • CMK にタグをアタッチします。

  • CMK を有効または無効にする。

  • CMK の削除をスケジュールする。

カスタムキーストアで CMK 作成するには、カスタムキーストアは、その関連する AWS CloudHSM クラスターに接続されている必要があり、クラスターには、少なくとも 2 つのアクティブな HSM が異なるアベイラビリティーゾーンに含まれている必要があります。接続ステータスと HSM の数を確認するには、AWS マネジメントコンソール にカスタムキーストアページを表示します。API オペレーションを使用する場合、DescribeCustomKeyStores オペレーションを使用して、カスタムキーストアが接続されていることを確認します。AWS CloudHSM DescribeClusters オペレーションを使用して、クラスター内のアクティブな HSM の数とそのアベイラビリティーゾーンを取得します。

カスタムキーストアで CMK を作成する場合、AWS KMS は AWS KMS 内で CMK を作成します。しかし、関連付けられた AWS CloudHSM クラスター内に CMK のキーマテリアルが作成されます。具体的には、AWS KMS が作成した kmsuser CU としてクラスターにサインインします。次に、クラスター内に永続的で抽出不可能な 256 ビットの Advanced Encryption Standard (AES) 対称キーが作成されます。AWS KMS が、キーラベルの属性の値を設定します。これはクラスター内で、CMK の Amazon リソースネーム (ARN) にのみ表示されます。

コマンドが成功すると、新しい CMK のキーステータスEnabled になり、そのオリジンは AWS_CLOUDHSM になります。作成後に CMK のオリジンを変更することはできません。コンソールで、または DescribeKey オペレーションを使用して、カスタムキーストア内の CMK を表示すると、そのキー ID、キーステータス、作成日などの一般的なプロパティを参照することができます。カスタムキーストア ID と AWS CloudHSM クラスター ID (オプション) を確認することもできます。詳細については、「カスタムキーストアでの CMK の表示」を参照してください。

カスタムキーストアで CMK を作成しようとして失敗した場合は、エラーメッセージを使用して原因を判断します。カスタムキーストアが接続されていない (CustomKeyStoreInvalidStateException)、または関連する AWS CloudHSM クラスターに、このオペレーションに必要な 2 つのアクティブな HSM がないこと (CloudHsmClusterInvalidConfigurationException) を示している可能性があります。ヘルプについては、「カスタムキーストアのトラブルシューティング」を参照してください。

カスタムキーストアで CMK を作成する (コンソール)

以下の手順でカスタムキーストアにカスタマーマスターキー (CMK) を作成します。

  1. AWS マネジメントコンソール にサインインし、AWS Key Management Service (AWS KMS) コンソール (https://console.aws.amazon.com/kms) を開きます。

  2. AWS リージョンを変更するには、ページの右上隅にあるリージョンセレクターを使用します。

  3. ナビゲーションペインで、[Customer managed keys (カスタマー管理型のキー)] を選択します。

  4. [キーの作成] を選択します。

  5. [対称] を選択します。

    カスタムキーストアで非対称 CMK を作成することはできません。

  6. [Advanced options (詳細オプション)] を選択します。

  7. [キーマテリアルのオリジン] に [Custom key store (CloudHSM) (カスタムキーストア (CloudHSM))] を選択します。

  8. [次へ] を選択します。

  9. 新しい CMK にカスタムキーストアを選択します。新しいカスタムキーストアを作成するには、[Create custom key store (カスタムキーストアの作成)] を選択します。

    選択したカスタムキーストアは、[CONNECTED (接続)] のステータスが割り当てられている必要があります。関連付けられた AWS CloudHSM クラスターがアクティブで、異なるアベイラビリティーゾーンに少なくとも 2 つのアクティブな HSM が含まれている必要があります。

    カスタムキーストアの接続に関するヘルプについては、「カスタムキーストアの接続および切断」を参照してください。HSM の追加に関するヘルプについては、AWS CloudHSM User Guide で「HSM の追加」を参照してください。

  10. [Next] を選択します。

  11. エイリアスと CMK のオプションの説明を入力します。

  12. (オプション).[タグの追加] ページで、CMK を識別または分類するタグを追加します。

    AWS リソースにタグを追加すると、使用量とコストがタグごとに集計されたコスト配分レポートが AWS によって生成されます。CMK にタグ付けする方法の詳細については、「キーのタグ付け」を参照してください。

  13. [次へ] を選択します。

  14. [キー管理者] セクションで、CMK を管理できる IAM ユーザーとロールを選択します。詳細については、「キー管理者による CMK 管理の許可」を参照してください。

    注記

    IAM ポリシーによって、CMK を使用するアクセス許可を他の IAM ユーザーおよびロールに付与できます。

  15. (オプション) これらのキー管理者がこの CMK を削除できないようにするには、ページの下部にある [キーの管理者がこのキーを削除できるようにします。] チェックボックスをオフにします。

  16. [Next] を選択します。

  17. [このアカウント] セクションで、暗号化オペレーションで CMK を使用できる、この AWS アカウント内の IAM ユーザーおよびロールを選択します。詳細については、「キーユーザーに CMK の使用を許可する」を参照してください。

    注記

    IAM ポリシーによって、CMK を使用するアクセス許可を他の IAM ユーザーおよびロールに付与できます。

  18. (オプション) 他の AWS アカウントが暗号化オペレーションにこの CMK を使用するようにできます。これを行うには、ページの下部にある [Other AWS accounts (別の AWS アカウント)] セクションで [Add another AWS account (別の AWS アカウントを追加する)] を選択し、外部アカウントの AWS アカウント ID 番号を入力します。複数の外部アカウントを追加するには、この手順を繰り返します。

    注記

    別の AWS アカウントの管理者が、ユーザーの IAM ポリシーを作成して、CMK へのアクセスを許可する必要もあります。詳細については、「他のアカウントのユーザーに CMK の使用を許可する」を参照してください。

  19. [次へ] を選択します。

  20. [Review and edit key policy (キーポリシーの表示と編集)] ページで、新しい CMK のポリシードキュメントを確認して編集します。完了したら、[完了] を選択します。

プロシージャが正常に終了すると、選択したカスタムキーストアに新しい CMK が表示されます。新しい CMK の名前やエイリアスを選択すると、その詳細ページに CMK のオリジン (CloudHSM)、カスタムキーストアの名前と ID、AWS CloudHSM クラスターの ID が表示されます。手順が失敗すると、失敗を説明するエラーメッセージが表示されます。

ヒント

カスタムキーストアで CMK をより簡単に識別できるようにするには、[Customer managed keys (カスタマー管理型のキー)] ページで、[Custom key store ID (カスタムキーストア ID)] 列を追加して表示します。右上隅にある歯車アイコンをクリックし、[Custom key store ID (カスタムキーストア ID)] を選択します。

カスタムキーストアで CMK を作成する (API)

カスタムキーストアに新しい カスタマーマスターキー (CMK) を作成するには、CreateKey オペレーションを使用します。CustomKeyStoreId パラメータを使用してカスタムキーストアを識別し、AWS_CLOUDHSMOrigin 値を指定します。

また、キーポリシーを指定するために Policy パラメータが必要になる場合もあります。キーポリシー (PutKeyPolicy) を変更して、説明タグ などのオプショナルの要素をいつでも追加できます。

このセクションの例では AWS Command Line Interface (AWS CLI) を使用しますが、サポートされているすべてのプログラミング言語を使用できます。

次の例は、カスタムキーストアが関連する AWS CloudHSM クラスターに接続されていることを確認するため、DescribeCustomKeyStores オペレーションに対する呼び出しから開始されます。デフォルトでは、このオペレーションは、アカウントとリージョンのすべてのカスタムキーストアを返します。特定のカスタムキーストアのみを記述するには、CustomKeyStoreId または CustomKeyStoreName パラメータ (一方のみ) を使用します。

このコマンドを実行する前に、例のカスタムキーストア ID を有効な ID に置き換えます。

$ aws kms describe-custom-key-stores --custom-key-store-id cks-1234567890abcdef0 { "CustomKeyStores": [ "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "CloudHsmClusterId": "cluster-1a23b4cdefg", "TrustAnchorCertificate": "<certificate string appears here>", "CreationDate": "1.499288695918E9", "ConnectionState": "CONNECTED" ], }

次のコマンド例では、DescribeClusters オペレーションを使用して、ExampleKeyStore (cluster-1a23b4cdefg) と関連付けられた AWS CloudHSM クラスターに少なくとも 2 つのアクティブな HSM があることを確認します。クラスターにある HSM が 2 つに満たない場合、CreateKey オペレーションは失敗します。

$ aws cloudhsmv2 describe-clusters { "Clusters": [ { "SubnetMapping": { ... }, "CreateTimestamp": 1507133412.351, "ClusterId": "cluster-1a23b4cdefg", "SecurityGroup": "sg-865af2fb", "HsmType": "hsm1.medium", "VpcId": "vpc-1a2b3c4d", "BackupPolicy": "DEFAULT", "Certificates": { "ClusterCertificate": "-----BEGIN CERTIFICATE-----\...\n-----END CERTIFICATE-----\n" }, "Hsms": [ { "AvailabilityZone": "us-west-2a", "EniIp": "10.0.1.11", "ClusterId": "cluster-1a23b4cdefg", "EniId": "eni-ea8647e1", "StateMessage": "HSM created.", "SubnetId": "subnet-a6b10bd1", "HsmId": "hsm-abcdefghijk", "State": "ACTIVE" }, { "AvailabilityZone": "us-west-2b", "EniIp": "10.0.0.2", "ClusterId": "cluster-1a23b4cdefg", "EniId": "eni-ea8647e1", "StateMessage": "HSM created.", "SubnetId": "subnet-b6b10bd2", "HsmId": "hsm-zyxwvutsrqp", "State": "ACTIVE" }, ], "State": "ACTIVE" } ] }

このコマンド例では、CreateKey オペレーションを使用して、カスタムキーストアで CMK を作成します。カスタムキーストアで CMK を作成するには、カスタムキーストア名の ID を指定し、AWS_CLOUDHSMOrigin 値を指定する必要があります。

応答には、カスタムキーストアと AWS CloudHSM クラスターの ID が含まれています。

このコマンドを実行する前に、例のカスタムキーストア ID を有効な ID に置き換えます。

$ aws kms create-key --origin AWS_CLOUDHSM --custom-key-store-id cks-1234567890abcdef0 { "KeyMetadata": { "AWSAccountId": "111122223333", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1.499288695918E9, "Description": "Example key", "Enabled": true, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "Origin": "AWS_CLOUDHSM" "CloudHsmClusterId": "cluster-1a23b4cdefg", "CustomKeyStoreId": "cks-1234567890abcdef0" "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }