のリソースコントロールポリシー AWS KMS - AWS Key Management Service

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

のリソースコントロールポリシー AWS KMS

リソースコントロールポリシー (RCPsは、組織内の AWS リソースに予防コントロールを適用するために使用できる組織ポリシーの一種です。RCPsは、 AWS リソースへの外部アクセスを大規模に一元的に制限するのに役立ちます。RCP はサービスコントロールポリシー (SCP) を補完します。SCPs を使用して組織内の IAM ロールとユーザーに最大アクセス許可を一元的に設定できますが、RCPs を使用して組織内の AWS リソースに最大アクセス許可を一元的に設定できます。

RCP を使用して組織内のカスタマーマネージド KMS キーへのアクセス許可を管理できます。RCP だけでは、カスタマーマネージドキーにアクセス許可を付与するには不十分です。RCP によって付与されるアクセス許可はありません。RCP は、影響を受けるアカウントのリソースに対して ID が実行できるアクションのアクセス許可ガードレールを定義 (またはアクセス許可の制限を設定) します。それでも、実際にアクセス許可を付与するには、管理者が ID ベースのポリシーを IAM ロールまたはユーザー、またはキーポリシーにアタッチする必要があります。

注記

組織内のリソースコントロールポリシーは、AWS マネージドキー には適用されません。

AWS マネージドキー は、ユーザーに代わって AWS サービスによって作成、管理、使用されます。ユーザーのアクセス許可を変更または管理することはできません。

詳細はこちら

  • RCP の詳細については、「AWS Organizations ユーザーガイド」の「リソースコントロールポリシー (RCP)」を参照してください。

  • RCP の定義方法と例の詳細については、「AWS Organizations ユーザーガイド」の「RCP 構文」を参照してください。

次の例は、RCP を使用して、外部プリンシパルが組織内のカスタマーマネージドキーにアクセスすることを防止する方法を示しています。このポリシーは単なる例なので、独自のビジネスおよびセキュリティニーズに合わせて調整する必要があります。例えば、ポリシーをカスタマイズして、ビジネスパートナーによるアクセスを許可することができます。詳細については、「data-perimeter-policy-examples」を参照してください。

注記

Action 要素でアスタリスク (*) をワイルドカードとして指定しても、kms:RetireGrant アクセス許可は、RCP では有効ではありません。

kms:RetireGrant に対するアクセス許可を決定する方法の詳細については、「グラントの使用停止と取り消し」を参照してください。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "RCPEnforceIdentityPerimeter", "Effect": "Deny", "Principal": "*", "Action": "kms:*", "Resource": "*", "Condition": { "StringNotEqualsIfExists": { "aws:PrincipalOrgID": "my-org-id" }, "Bool": { "aws:PrincipalIsAWSService": "false" } } } ] }

次の RCP の例では、リクエストが組織から送信された場合にのみ、 AWS サービスプリンシパルがカスタマーマネージド KMS キーにアクセスできることを要求しています。このポリシーは、aws:SourceAccount が存在するリクエストにのみコントロールを適用します。その結果、aws:SourceAccount の使用を必要としないサービス統合は影響を受けません。aws:SourceAccount キーがリクエストコンテキストに存在する場合、Null 条件は true に評価され、aws:SourceOrgID キーが強制されます。

混乱した代理問題の詳細については、「IAM ユーザーガイド」の「『混乱した代理』問題」を参照してください。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "RCPEnforceConfusedDeputyProtection", "Effect": "Deny", "Principal": "*", "Action": "kms:*", "Resource": "*", "Condition": { "StringNotEqualsIfExists": { "aws:SourceOrgID": "my-org-id" }, "Bool": { "aws:PrincipalIsAWSService": "true" }, "Null": { "aws:SourceAccount": "false" } } } ] }