As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Política básica de chaves do KMS
A política de chaves do KMS a seguir abrange o cenário de implantação mais comum: uma instância do IAM Identity Center com administradores delegados e aplicativos AWS gerenciados AWS Control Tower, incluindo SSO para instâncias do Amazon EC2 e fluxos de trabalho personalizados. Use essa política como ponto de partida ao criar uma chave KMS gerenciada pelo cliente para o IAM Identity Center. Se você precisar de controles de acesso mais granulares, como restringir a chave a uma instância ou aplicativo específico do IAM Identity Center, consulte. Declarações de política de chave KMS avançadas Observe que, se estiver usando uma chave multirregional, a mesma política deve ser usada em todas as réplicas para ajudar a garantir uma autorização consistente.
Para usar essa política, substitua os seguintes valores de espaço reservado pelos seus próprios:
-
— O ID da AWS conta da sua instância do IAM Identity Center (a conta AWS Organizations de gerenciamento).111122223333 -
— O ID da AWS conta de sua conta de administração delegada. Se você não usa a administração delegada, remova esse princípio.444455556666
Como o AWS IAM Identity Center exige que a chave KMS esteja na mesma AWS conta do serviço, as instruções a seguir usam as ${aws:ResourceAccount} variáveis ${aws:ResourceOrgID} e em vez de valores literais. Você pode substituir essas variáveis pela ID AWS da organização e pela ID da AWS conta, se preferir.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIdentityCenterAdminAccounts", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": "kms:*", "Resource": "*" }, { "Sid": "AllowIdentityCenterAndIdentityStoreToDescribeKey", "Effect": "Allow", "Principal": { "Service": [ "identitystore.amazonaws.com", "sso.amazonaws.com" ] }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "${aws:ResourceAccount}" } } }, { "Sid": "AllowIdentityCenterAndIdentityStoreToUseKey", "Effect": "Allow", "Principal": { "Service": [ "identitystore.amazonaws.com", "sso.amazonaws.com" ] }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "${aws:ResourceAccount}" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": [ "aws:sso:instance-arn", "aws:identitystore:identitystore-arn" ] } } }, { "Sid": "AllowOrgPrincipalsViaIdentityCenterAndIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "${aws:ResourceOrgID}" }, "StringLike": { "kms:ViaService": [ "sso.*.amazonaws.com", "identitystore.*.amazonaws.com" ] }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": [ "aws:sso:instance-arn", "aws:identitystore:identitystore-arn" ] } } }, { "Sid": "AllowManagedApps", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "Bool": { "aws:PrincipalIsAWSService": "true" }, "StringEquals": { "aws:SourceOrgID": "${aws:ResourceOrgID}" }, "StringLike": { "kms:ViaService": [ "identitystore.*.amazonaws.com", "sso.*.amazonaws.com" ] }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": [ "aws:sso:instance-arn", "aws:identitystore:identitystore-arn" ] } } } ] }
Esta política contém cinco declarações. A tabela a seguir descreve o que cada declaração faz.
| Declaração | Finalidade |
|---|---|
| AllowIdentityCenterAdminAccounts | Concede permissões completas da chave KMS à conta de gerenciamento do IAM Identity Center e à conta de administração delegada. Isso inclui ações de gerenciamento de chaves, como modificar a política de chaves e programar a exclusão de chaves. Os administradores dessas contas podem gerenciar e usar a chave se tiverem as permissões necessárias em suas políticas baseadas em identidade. |
| AllowIdentityCenterAndIdentityStoreToDescribeKey | Permite que os diretores de serviço do IAM Identity Center e do Identity Store recuperem os principais metadados. Isso é necessário para operações de serviço que validam a chave sem realizar criptografia ou descriptografia. A aws:SourceAccount condição ajuda a garantir que somente sua instância do IAM Identity Center possa usar sua chave KMS. |
| AllowIdentityCenterAndIdentityStoreToUseKey | Permite que os diretores de serviço do IAM Identity Center e do Identity Store usem a chave para operações de criptografia, como criptografia, descriptografia e recriptografia de dados. A aws:SourceAccount condição ajuda a garantir que somente sua instância do IAM Identity Center possa usar sua chave KMS. |
| AllowOrgPrincipalsViaIdentityCenterAndIdentityStore | Permite que os diretores do IAM em sua AWS organização descriptografem dados por meio dos serviços do IAM Identity Center e Identity Store. Isso abrange administradores de aplicativos que interagem com os AWS serviços integrados ao IAM Identity Center usando sessões de acesso direto (FAS). |
| AllowManagedApps | Permite que aplicativos AWS gerenciados descriptografem dados protegidos por sua chave KMS por meio do IAM Identity Center e do Identity Store. |
Use a seguinte declaração de política do IAM Etapa 4: configurar políticas do IAM para o uso entre contas da chave KMS para permitir que administradores delegados usem a chave KMS por meio do serviço IAM Identity Center. APIs Substitua o ARN da chave de exemplo pelo ARN real da chave KMS. A região curinga no exemplo acomoda todas as réplicas de uma chave KMS multirregional.
Para casos de uso entre contas que não sejam a administração do IAM Identity Center, como SSO para instâncias do Amazon EC2 ou administração AWS de aplicativos gerenciados, reduza o AllowCrossAccountKMSKeyUse escopo kms:Decrypt para somente e remova a declaração. AllowListKMSKeyAliases
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCrossAccountKMSKeyUse", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:DescribeKey" ], "Resource": [ "arn:aws:kms:*:111122223333:key/mrk-1234abcd-12ab-34cd-56ef-1234567890ab" ] }, { "Sid": "AllowListKMSKeyAliases", "Effect": "Allow", "Action": "kms:ListAliases", "Resource": "*" } ] }