Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

IAM ポリシーのベストプラクティス

フォーカスモード
IAM ポリシーのベストプラクティス - AWS Key Management Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

へのアクセスを保護する AWS KMS keys ことは、すべての AWS リソースのセキュリティにとって重要です。KMS キーは、 AWS アカウントで最も機密性の高いリソースの多くを保護するために使用されます。KMS キーへのアクセスを制御するキーポリシー、IAM ポリシー、グラント (権限付与)、VPC エンドポイントポリシーを設計します。

KMS キーへのアクセスを制御する IAM ポリシーステートメントでは、最小権限の原則を使用します。IAM プリンシパルで、使用または管理する必要がある KMS キーのみに対して、必要なアクセス許可のみを付与します。

AWS KMS キーとエイリアスへのアクセスを制御する IAM ポリシーには、次のベストプラクティスが適用されます。IAM ポリシーの一般的なベストプラクティスのガイダンスについては、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。

キーポリシーを使用する

可能であれば、他の AWS アカウントを含む多くの KMS キーに適用できる IAM ポリシーではなく、1 つの KMS キーに影響するキーポリシーでアクセス許可を付与します。これは、 kms:PutKeyPolicykms:ScheduleKeyDeletion などの機密性の高いアクセス許可にとって特に重要ですが、データの保護方法を決定する暗号化オペレーションでも重要です。

CreateKey アクセス許可を制限する

キー (kms:CreateKey) を作成する権限を必要なプリンシパルにのみ付与します。KMS キーを作成するプリンシパルは、そのキーポリシーも設定するため、自分自身や他のユーザーに、作成した KMS キーを使用および管理するためのアクセス許可を付与できます。このアクセス許可を許可する場合は、 ポリシー条件を使用して制限することを検討してください。例えば、kms:KeySpec 条件を使用して、対称暗号化 KMS キーに対する許可を制限できます。

IAM ポリシーで KMS キーを指定する

ベストプラクティスとして、ポリシーステートメントの Resource 要素でアクセス許可が適用する各 KMS キーの キー ARN を指定します。この方法は、プリンシパルが必要とする KMS キーへのアクセス許可を制限します。例えば、この Resource 要素は、プリンシパルが使用する必要がある KMS キーのみを一覧表示します。

"Resource": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321" ]

KMS キーの指定が実用的でない場合は、 などの信頼できる AWS アカウント およびリージョンの KMS キーへのアクセスを制限するResource値を使用しますarn:aws:kms:region:account:key/*。または、 など AWS アカウント、信頼できる のすべてのリージョン (*) の KMS キーへのアクセスを制限しますarn:aws:kms:*:account:key/*

キー IDエイリアス名エイリアス ARN を使用して、IAM ポリシーの Resource フィールド内の KMS キーを表すことはできません。エイリアス ARN を指定する場合、ポリシーは KMS キーではなく、エイリアスに適用されます。エイリアスの IAM ポリシーの詳細については、エイリアスへのアクセスの制御 を参照してください。

IAM ポリシーの「リソース」:「*」を避ける

ワイルドカード文字 (*) を慎重に使用してください。キーポリシーでは、Resource 要素のワイルドカード文字は、キーポリシーがアタッチされている KMS キーを表します。ただし、IAM ポリシーでは、 Resource要素 ("Resource": "*") のワイルドカード文字だけが、プリンシパルのアカウント AWS アカウント が使用するアクセス許可を持つすべての のすべての KMS キーにアクセス許可を適用します。これには、他の の KMS キー AWS アカウントと、プリンシパルの アカウントの KMS キーが含まれる場合があります。

たとえば、別の で KMS キーを使用するには AWS アカウント、プリンシパルに、外部アカウントの KMS キーのキーポリシーと、自分のアカウントの IAM ポリシーからのアクセス許可が必要です。任意のアカウントが自分の KMS キーに対する AWS アカウント kms:Decrypt アクセス許可を付与したとします。この場合、すべての KMS キー ("Resource": "*") に対するロール kms:Decrypt のアクセス許可を付与するアカウントの IAM ポリシーは、要件の IAM パートを満たします。その結果、そのロールを引き受けることができるプリンシパルは、信頼されていないアカウントの KMS キーを使用して、暗号テキストを復号できるようになります。オペレーションのエントリは、両方のアカウントの CloudTrail ログに表示されます。

特に、次の API オペレーションを許可するポリシーステートメントではを使用しないでください。 "Resource": "*"これらのオペレーションは、他の の KMS キーで呼び出すことができます AWS アカウント。

「リソース」を使用する場合:「*」

IAM ポリシーでは、 Resource 要素でワイルドカード文字は、それを必要とするアクセス権限に対してのみ使用します。"Resource": "*" 要素が必要なのは、次の権限のみです。

注記

エイリアスオペレーションのアクセス許可 (kms:CreateAliaskms:UpdateAliaskms:DeleteAlias) は、エイリアスと KMS キーにアタッチする必要があります。IAM ポリシーで "Resource": "*" を使用し、エイリアスと KMS キーを表すことも、Resource エレメントでエイリアスと KMS キーを指定することもできます。例については「エイリアスへのアクセスの制御」を参照してください。

 

このトピックの例では、KMS キーの IAM ポリシーを設計するための詳細情報とガイダンスを示します。すべての AWS リソースの IAM ベストプラクティスについては、「IAM ユーザーガイド」の「IAM のセキュリティのベストプラクティス」を参照してください。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.