AWS Key Management Service
開発者ガイド

キーポリシーの変更

AWS KMS でカスタマーマスターキー (CMK) のアクセス許可を変更するには、CMK のキーポリシーを変更します。

キーポリシーを変更する場合は、以下のルールに注意してください。

  • キーポリシーの IAM ユーザー、IAM ロール、AWS アカウント (ルートユーザー) を追加または削除したり、それらのプリンシパルに許可または拒否されるアクションを変更したりできます。キーポリシーでプリンシパルとアクセス権限を指定する方法については、「キーポリシーの使用」を参照してください。

     

  • キーポリシーに IAM グループを追加することはできませんが、複数の IAM ユーザーを追加することはできます。詳細については、「CMK への複数の IAM ユーザーのアクセスの許可」を参照してください。

     

  • キーポリシーに外部 AWS アカウントを追加する場合は、外部アカウントの IAM ポリシーを使用して、それらのアカウントの IAM ユーザー、グループ、またはロールにアクセス許可を付与する必要もあります。詳細については、「他のアカウントのユーザーに CMK の使用を許可する」を参照してください。

     

  • 結果として得られるキーポリシードキュメントは 32 KB (32,768 バイト) を超えることはできません。

キーポリシーを変更する方法

キーポリシーは 3 つの異なる方法で変更できます。それぞれの方法について以下のセクションで説明します。

AWS マネジメントコンソールのデフォルトビューの使用

コンソールを使用して、デフォルトビューと呼ばれるグラフィカルインターフェイスで、キーポリシーを変更できます。

以下のステップがコンソールの表示と一致しない場合、このキーポリシーはコンソールで作成されなかった可能性があります。または、コンソールのデフォルトビューがサポートしていない方法でキーポリシーが変更されている可能性があります。その場合は、「AWS マネジメントコンソールのポリシービューの使用」または「AWS KMS API の使用」の手順に従ってください。

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

  2. 左のナビゲーションペインで、暗号化キーを選択します。

  3. フィルタ で、AWS の該当するリージョンを選択します。

  4. ナビゲーションペインで、[Customer managed keys (カスタマー管理型のキー)] を選択します。 (AWS 管理型のキーのキーポリシーを変更することはできません)

  5. キーポリシーを変更する CMK のエイリアスまたはキー ID を選択します。

  6. [Key policy (キーポリシー)] タブまで下にスクロールします。

  7. 変更する対象を決定します。

    • キー管理者を追加または削除し、キー管理者による CMK の削除を許可または拒否するには、ページの [Key administrators (キー管理者)] セクションのコントロールを使用します。キー管理者は、CMK の有効化と無効化、キーポリシーの設定、およびキーローテーションの有効化を含め、CMK を管理します。

    • キーユーザーを追加または削除し、外部 AWS アカウントによる CMK の使用を許可または拒否するには、ページの [Key users (キーユーザー)] セクションのコントロールを使用します。キーユーザーは、データキーの暗号化、復号、再暗号化、および生成などの暗号化オペレーションで CMK を使用できます。

AWS マネジメントコンソールのポリシービューの使用

コンソールのポリシービューで、キーポリシードキュメントを変更できます。

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

  2. 左のナビゲーションペインで、暗号化キーを選択します。

  3. フィルタ で、AWS の該当するリージョンを選択します。

  4. ナビゲーションペインで、[Customer managed keys (カスタマー管理型のキー)] を選択します。 (AWS 管理の CMK のキーポリシーを変更することはできません)

  5. 変更する CMK のエイリアスまたはキー ID を選択します。

  6. [Key policy (キーポリシー)] タブまで下にスクロールします。

  7. [Key Policy (キーポリシー)] セクションで、[Switch to policy view (ポリシービューへの切り替え)] を選択します。

  8. キーポリシードキュメントを編集し、[変更の保存] を選択します。

AWS KMS API の使用

AWS KMS API を使用して、キーポリシードキュメントを変更できます。以下のステップでは、AWS KMSHTTP API を使用します。AWS SDK または AWS コマンドラインツールで同じオペレーションを実行できます。これは多くの場合、HTTP API を使用するよりも簡単です。他の SDK やツールに使用するオペレーションや構文については、その特定の SDK またはツールのリファレンスドキュメントを参照してください。AWS SDK for Java を使用するサンプルコードについては、「キーポリシーの使用」を参照してください。

キーポリシードキュメントを変更するには (KMS API)

  1. GetKeyPolicy を使用して既存のキーポリシードキュメントを取得し、キーポリシードキュメントをファイルに保存します。

  2. 任意のテキストエディタでキーポリシードキュメントを開き、キーポリシードキュメントを編集してファイルを保存します。

  3. PutKeyPolicy を使用して、更新されたキーポリシードキュメントを CMK に適用します。

CMK への複数の IAM ユーザーのアクセスの許可

IAM グループは、キーポリシーで有効なプリンシパルではありません。CMK に複数の IAM ユーザーのアクセスを許可するには、次のいずれかを実行します。

  • 各 IAM ユーザーをキーポリシーに追加します。この手法では、承認されたユーザーのリストが変更されるたびに、キーポリシーを更新する必要があります。

  • キーポリシーには、IAM ポリシーで CMK キーへのアクセスを許可するステートメントが含まれている必要があります。次に、CMK へのアクセスを許可する IAM ポリシーを作成し、承認された IAM ユーザーを含む IAM グループにそのポリシーをアタッチします。このアプローチを使用すると、承認されたユーザーのリストが変更されたときにポリシーを変更する必要はありません。代わりに、該当する IAM グループに対してそれらのユーザーを追加または削除する必要があります。

AWS KMS キーポリシーと IAM のポリシーの動作の詳細については、「キーアクセスのトラブルシューティング」を参照してください。