カスタムキーストアへのアクセスのコントロール - AWS Key Management Service

カスタムキーストアへのアクセスのコントロール

IAM ポリシーを使用して AWS KMS カスタムキーストアおよび AWS CloudHSM クラスターへのアクセスをコントロールします。IAM ポリシーとキーポリシーを使用して、カスタムキーストアの カスタマーマスターキー (CMKs) へのアクセスをコントロールできます。ユーザー、グループ、およびロールには、実行する可能性が高いタスクに必要なアクセス許可のみを与えることをお勧めします。

カスタムキーストアマネージャーおよびユーザーの承認

カスタムキーストアを設計するときは、そのキーストアを使用および管理するプリンシパルに必要なアクセス許可のみが付与されていることを確認してください。次のリストは、カスタムキーストアの管理者とユーザーに必要な最小限のアクセス許可を示しています。

  • カスタムキーストアを作成および管理するプリンシパルは、カスタムキーストア API オペレーションを使用するために次のアクセス許可を必要とします。

    • cloudhsm:DescribeClusters

    • kms:CreateCustomKeyStore

    • kms:ConnectCustomKeyStore

    • kms:DisconnectCustomKeyStore

    • kms:UpdateCustomKeyStore

    • kms:DeleteCustomKeyStore

    • kms:DescribeCustomKeyStores

    • iam:CreateServiceLinkedRole

  • カスタムキーストアに関連付けられた AWS CloudHSM クラスターを作成し管理するプリンシパルには、AWS CloudHSM クラスターを作成し初期化するアクセス許可が必要です。これには、仮想プライベートクラウドを作成または使用する、サブネットを作成する、Amazon EC2 インスタンスを作成するアクセス許可が含まれます。また、HSM の作成と削除、およびバックアップの管理が必要な場合もあります。必要なアクセス許可のリストについては、『AWS CloudHSM User Guide』の「AWS CloudHSM に必要なユーザーアクセス許可に限定する」を参照してください。

  • カスタムキーストアでカスタマーマスターキー CMKs (CMK) を作成および管理するプリンシパルには、AWS KMS で CMK を作成および管理するプリンシパルと同じアクセス許可が必要です。たとえば、これらのプリンシパルには kms:CreateKey アクセス許可のある IAM ポリシーが必要です。追加のアクセス許可は必要ありません。カスタムキーストアの CMKs のデフォルトのキーポリシーは、AWS KMS での CMKs のデフォルトのキーポリシーと同一です。

  • 暗号化オペレーションでカスタムキーストアの CMKs を使用するプリンシパルは、kms:Decrypt など、CMK で暗号化オペレーションを実行するためのアクセス許可を必要とします。IAM またはキーポリシーで、これらのアクセス許可を提供できます。ただし、カスタムキーストアで CMK を使用するための追加のアクセス許可は必要ありません。

AWS CloudHSM リソースおよび Amazon EC2 リソースを管理することを AWS KMS に許可する

カスタムキーストアをサポートするために、AWS KMS には AWS CloudHSM クラスターに関する情報を取得するアクセス許可が必要です。また、カスタムキーストアを AWS CloudHSM クラスターに接続するネットワークインフラストラクチャを作成するアクセス許可が必要です。これらのアクセス許可を取得するために、AWS KMS は AWS アカウントに AWSServiceRoleForKeyManagementServiceCustomKeyStores サービスにリンクされたロールを作成します。カスタムキーストアを作成するユーザーには、サービスにリンクされたロールの作成を許可する iam:CreateServiceLinkedRole アクセス許可が必要です。

AWS KMS サービスにリンクされたロールについて

サービスにリンクされたロール は、代理でその他の AWS サービスを呼び出す 1 つの AWS サービスアクセス許可を付与する IAM ロールです。これは、複数の統合された AWS サービスの機能を、複雑な IAM ポリシーを作成したり維持したりせずに、簡単に使用できるよう設計されました。

カスタムキーストアでは、AWS KMS は AWSKeyManagementServiceCustomKeyStoresServiceRolePolicy ポリシーがある AWSServiceRoleForKeyManagementServiceCustomKeyStores サービスにリンクされたロールを作成します。このポリシーはロールに以下のアクセス許可を与えます。

[AWSServiceRoleForKeyManagementServiceCustomKeyStores] サービスにリンクされたロールは cks.kms.amazonaws.com のみを信頼するため、AWS KMS のみがこのサービスにリンクされたロールを引き受けることができます。このロールは、AWS KMS が AWS CloudHSM クラスターを表示し、カスタムキーストアをそれに関連付けられた AWS CloudHSM クラスターに接続するために必要なオペレーションに限定されています。AWS KMS に対して追加のアクセス許可は付与されません。たとえば、AWS KMS に、AWS CloudHSM クラスター、HSM、またはバックアップを作成、管理、または削除するためのアクセス許可はありません。

リージョン

カスタムキーストア機能と同様に、AWSServiceRoleForKeyManagementServiceCustomKeyStores ロールは AWS KMS と AWS CloudHSM の両方が使用可能なすべての AWS リージョンでサポートされています。各サービスがサポートする AWS リージョンのリストは、「AWS Key Management Service エンドポイントとクォータ」と『アマゾン ウェブ サービス全般のリファレンス』の「AWS CloudHSM エンドポイントとクォータ」を参照してください。

AWS のサービスがサービスにリンクされたロールを使用する詳細については、『IAM ユーザーガイド』の「サービスにリンクされたロールの使用」を参照してください。

サービスにリンクされたロールの作成

ロールが現時点で存在しない場合、カスタムキーストアを作成する際に AWS KMS は自動で AWS アカウントに AWSServiceRoleForKeyManagementServiceCustomKeyStores サービスにリンクされたロールを作成します。このサービスにリンクされたロールを直接作成または再作成することはできません。

サービスにリンクされたロールの説明を編集する

ロール名または AWSServiceRoleForKeyManagementServiceCustomKeyStores サービスにリンクされたロールのポリシーステートメントを編集することはできませんが、ロールの説明を編集できます。手順については、IAM ユーザーガイド の「サービスにリンクされたロールの編集」を参照してください。

サービスにリンクされたロールを削除する

AWS KMS は AWS アカウントから AWSServiceRoleForKeyManagementServiceCustomKeyStores サービスにリンクされたロールを削除しません。 カスタムキーストアをすべて削除し、新しいキーストアを作成する予定がない場合は、このサービスにリンクされたロールは不要です。AWS KMS は、アクティブなカスタムキーストアがない限り、このロールを引き受けたり、そのアクセス許可を使用したりしません。ただし、AWSServiceRoleForKeyManagementServiceCustomKeyStores サービスにリンクされたロールを削除する手順は現在ありません。