翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ベースライン KMS キーと IAM ポリシーステートメント
注記
のカスタマーマネージド KMS キー AWS IAM Identity Center は、現在、一部の AWS リージョンで利用できます。
ここで提供されるベースライン KMS キーとアイデンティティベースのポリシーは、一般的な要件の基盤として機能します。また、KMS キーが特定の IAM Identity Center インスタンスまたは AWS マネージドアプリケーションにのみアクセスできるようにするなど、より詳細なアクセスコントロール高度な KMS キーポリシーステートメントを提供する を確認することをお勧めします。高度な KMS キーポリシーステートメントを使用する前に、「」を確認してくださいベースラインとアドバンスト KMS キーポリシーステートメントの選択に関する考慮事項。
以下のセクションでは、各ユースケースのベースラインポリシーステートメントについて説明します。ユースケースに一致する KMS キーポリシーステートメントをコピーし、 に戻りますステップ 2: KMS キーポリシーステートメントを準備する。
IAM Identity Center を使用するためのベースライン KMS キーポリシーステートメント (必須)
で次の KMS キーポリシーステートメントテンプレートを使用してステップ 2: KMS キーポリシーステートメントを準備する、IAM Identity Center、関連付けられた Identity Store、および IAM Identity Center 管理者が KMS キーを使用できるようにします。
-
Principal 要素で IAM Identity Center 管理者の IAM プリンシパルを指定します。IAM プリンシパルの詳細については、IAM ユーザーガイドの「プリンシパルの指定」を参照してください。
Identity Store には独自のサービスプリンシパル があり
identitystore.amazonaws.com
、KMS キーの使用を許可する必要があります。これらのポリシーステートメントにより、任意の IAM Identity Center インスタンスで KMS キーを使用できます。特定の IAM Identity Center インスタンスへのアクセスを制限するには、「」を参照してください高度な KMS キーポリシーステートメント。
KMS キーポリシーステートメント
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*", "kms:ViaService": "identitystore.*.amazonaws.com" } } }, { "Sid": "AllowIAMIdentityCenterAdminToDescribeTheKMSKey", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "AllowIAMIdentityCenterToUseTheKMSKey", "Effect": "Allow", "Principal": { "Service": "sso.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowIAMIdentityStoreToUseTheKMSKey", "Effect": "Allow", "Principal": { "Service": "identitystore.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } }, { "Sid": "AllowIAMIdentityCenterAndIdentityStoreToDescribeKMSKey", "Effect": "Allow", "Principal": { "Service": [ "identitystore.amazonaws.com", "sso.amazonaws.com" ] }, "Action": "kms:DescribeKey", "Resource": "*" } ] }
で次の IAM ポリシーステートメントテンプレートステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定するを使用して、IAM Identity Center 管理者が KMS キーを使用できるようにします。
Resource 要素のサンプルキー ARN を実際の KMS キー ARN に置き換えます。参照される識別子の値を見つける方法については、「」を参照してください必要な識別子を検索する。
IAM アイデンティティセンターの委任管理者に必要な IAM ポリシーステートメント
{ "Version": "2012-10-17", "Statement": [{ "Sid": "IAMPolicyToAllowIAMIdentityCenterAdminToUseKMSkey", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Sid": "IAMPolicyToAllowIAMIdentityCenterAdminToListKeyAliases", "Effect": "Allow", "Action": "kms:ListAliases", "Resource": "*" } ] }
AWS マネージドアプリケーションを使用するためのベースライン KMS キーと IAM ポリシーステートメント
注記
一部の AWS マネージドアプリケーションは、カスタマーマネージド KMS キーで設定された IAM Identity Center では使用できません。詳細については、AWS 「IAM Identity Center で動作するマネージドアプリケーション」を参照してください。
で次の KMS キーポリシーステートメントテンプレートステップ 2: KMS キーポリシーステートメントを準備するを使用して、 AWS マネージドアプリケーションとその管理者が KMS キーを使用できるようにします。
AWS Organizations ID を PrincipalOrgID 条件に挿入します。参照される識別子の値を検索する方法については、「」を参照してください必要な識別子を検索する。
これらのポリシーステートメントにより、同じ 内の任意の AWS マネージドアプリケーション AWS Organizations が KMS キーを使用できるようになります。これらのポリシーステートメントを特定の AWS マネージドアプリケーション、アカウント、または IAM Identity Center インスタンスに制限するには、「」を参照してください高度な KMS キーポリシーステートメント。
KMS キーポリシーステートメント
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowAppAdminsInTheSameOrganizationToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "${organization_ID}" }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowAppAdminsInTheSameOrganizationToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "${organization_ID}" }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } }, { "Sid": "AllowManagedAppsToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } }, { "Sid": "AllowManagedAppsToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } } ] }
で次の IAM ポリシーステートメントテンプレートステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定するを使用して、 AWS マネージドアプリケーションの管理者がメンバーアカウントの KMS キーを使用できるようにします。
Resource 要素のサンプル ARN を実際の KMS キー ARN に置き換えます。参照される識別子の値を見つける方法については、「」を参照してください必要な識別子を検索する。
一部の AWS マネージドアプリケーションでは、IAM Identity Center および Identity Store APIs のアクセス許可を設定する必要があります。IAM アイデンティティセンターでカスタマーマネージドキーを設定する前に、これらのアクセス許可で KMS キーの使用も許可されていることを確認してください。特定の KMS キーのアクセス許可要件については、デプロイした各 AWS マネージドアプリケーションのドキュメントを参照してください。
AWS マネージドアプリケーションの管理者に必要な IAM ポリシーステートメント:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenterAndIdentityStore", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringLike": { "kms:ViaService": [ "sso.*.amazonaws.com", "identitystore.*.amazonaws.com" ] } } }] }
を使用するためのベースライン KMS キーステートメント AWS Control Tower
で次の KMS キーステートメントテンプレートステップ 2: KMS キーポリシーステートメントを準備するを使用して、 AWS Control Tower 管理者が KMS キーを使用できるようにします。
Principal フィールドで、IAM Identity Center の APIs へのアクセスに使用する IAM プリンシパルを指定します。IAM プリンシパルの詳細については、IAM ユーザーガイドの「プリンシパルの指定」を参照してください。
これらのポリシーステートメントにより、 AWS Control Tower 管理者は任意の IAM Identity Center インスタンスを通じて KMS キーを使用できます。ただし、 AWS Control Tower は、同じ組織内の IAM Identity Center の AWS 組織インスタンスへのアクセスを制限します。この制限により、「」で説明されているように KMS キーを特定の IAM アイデンティティセンターインスタンスにさらに制限する実用的な利点はありません高度な KMS キーポリシーステートメント。
KMS キーポリシーステートメント:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowControlTowerAdminRoleToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "${Control_Tower_Admins}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowControlTowerAdminRoleToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "${Control_Tower_Admins}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }
AWS Control Tower は委任管理をサポートしていないため、管理者に IAM ポリシーを設定する必要はありません。
Amazon Elastic Compute Cloud Windows インスタンスに IAM Identity Center を使用するためのベースライン KMS キーと IAM ポリシーステートメント
次の の KMS キーポリシーステートメントテンプレートステップ 2: KMS キーポリシーステートメントを準備するを使用して、Amazon EC2 Windows インスタンスへのシングルサインオン (SSO) のユーザーがアカウント間で KMS キーを使用できるようにします。
Principal フィールドで、IAM Identity Center へのアクセスに使用する IAM プリンシパルを指定します。IAM プリンシパルの詳細については、IAM ユーザーガイドの「プリンシパルの指定」を参照してください。
このポリシーステートメントは、任意の IAM Identity Center インスタンスに KMS キーの使用を許可します。特定の IAM Identity Center インスタンスへのアクセスを制限するには、「」を参照してください ポリシーテンプレート。
KMS キーポリシーステートメント
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowIAMIdentityCenterPermisionSetRoleToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "${Permission_Set_IAM_Role}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowIAMIdentityCenterPermisionSetRoleToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "${Permission_Set_IAM_Role}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }
次の IAM ポリシーステートメントテンプレートを で使用ステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定するして、EC2 Windows インスタンスへの SSO が KMS キーを使用できるようにします。
Amazon EC2 Windows インスタンスへの SSO アクセスを許可するために使用している IAM Identity Center の既存のアクセス許可セットに IAM ポリシーステートメントをアタッチします。IAM ポリシーの例については、AWS 「Systems Manager ユーザーガイド」の「リモートデスクトッププロトコル接続」を参照してください。
Resource 要素のサンプル ARN を実際の KMS キー ARN に置き換えます。参照される識別子の値を見つける方法については、「」を参照してください必要な識別子を検索する。
アクセス許可セット IAM ポリシー:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "IAMPolicyToAllowKMSKeyUseViaIdentityCenterAndIdentityStore", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringLike": { "kms:ViaService": [ "sso.*.amazonaws.com", "identitystore.*.amazonaws.com" ] } } }] }
IAM Identity Center でカスタムワークフローを使用するためのベースライン KMS キーと IAM ポリシーステートメント
で次の KMS キーポリシーステートメントテンプレートステップ 2: KMS キーポリシーステートメントを準備するを使用して、 AWS Organizations 管理アカウントまたは委任管理アカウントのカスタムワークフローが KMS キーを使用できるようにします。
Principal 要素で IAM Identity Center APIs へのアクセスに使用される IAM プリンシパルを指定します。IAM プリンシパルの詳細については、IAM ユーザーガイドの「プリンシパルの指定」を参照してください。
これらのポリシーステートメントにより、ワークフローは任意の IAM Identity Center インスタンスを介して KMS キーを使用できます。特定の IAM Identity Center インスタンスへのアクセスを制限するには、「」を参照してください ポリシーテンプレート。
KMS キーポリシーステートメント:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowCustomWorkflowToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "${Workflow_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowCustomWorkflowToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "${Workflow_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }
次の IAM ポリシーステートメントテンプレートを で使用ステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定するして、カスタムワークフローに関連付けられた IAM プリンシパルがアカウント間で KMS キーを使用できるようにします。IAM ポリシーステートメントを IAM プリンシパルに追加します。
Resource 要素のサンプル ARN を実際の KMS キー ARN に置き換えます。参照される識別子の値を見つける方法については、「」を参照してください必要な識別子を検索する。
IAM ポリシーステートメント (クロスアカウント使用にのみ必要):
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenterAndIdentityStore", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringLike": { "kms:ViaService": [ "sso.*.amazonaws.com", "identitystore.*.amazonaws.com" ] } } }] }