Declarações de chave KMS e de política do IAM de linha de base - AWS IAM Identity Center

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á.

Declarações de chave KMS e de política do IAM de linha de base

A chave KMS de linha de base e as políticas baseadas em identidade fornecidas aqui servem como base para requisitos comuns. Também recomendamos que você revise se Declarações de política de chave KMS avançadas fornece controles de acesso mais granulares, como garantir que a chave KMS seja acessível somente para uma instância específica do IAM Identity Center ou aplicação gerenciada pela AWS. Antes de usar declarações avançadas de política de chave KMS, revise Considerações sobre a escolha das declarações de política de chave KMS de linha de base em comparação com as avançadas.

As seções a seguir fornecem declarações de política de linha de base para cada caso de uso. Copie as declarações de política de chave KMS que correspondam aos casos de uso e, em seguida, retorne para Etapa 2: preparar as declarações de política de chave KMS.

Declarações da política de chave KMS de linha de base para uso do IAM Identity Center (obrigatório)

Use o seguinte modelo de declaração de política de chave KMS em Etapa 2: preparar as declarações de política de chave KMS para permitir que os administradores do IAM Identity Center, do Identity Store associado e do IAM Identity Center usem a chave KMS.

  • No elemento de Entidade principal das declarações de política do administrador, especifique as entidades principais das contas de administração do IAM Identity Center da AWS, isto é, a conta gerencial da organização AWS e a conta de administração delegada, usando o formato “arn:aws:iam::111122223333:root”.

  • No elemento PrincipalArn, substitua os ARNs de exemplo pelos perfis do IAM dos administradores do IAM Identity Center.

    Você pode especificar:

    • ARN específico de perfil do IAM:

      "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/ap-southeast-2/AWSReservedSSO_permsetname_12345678"

    • Padrão curinga (recomendado):

      "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/ap-southeast-2/AWSReservedSSO_permsetname_*"

    O uso do curinga (*) evita a perda de acesso se o conjunto de permissões for excluído e recriado, pois o Identity Center gera novos identificadores exclusivos para conjuntos de permissões recriados. Para obter um exemplo de implementação, consulte Exemplos de políticas personalizadas.

  • No elemento SourceAccount, especifique o ID da conta do IAM Identity Center.

  • O Identity Store tem a própria entidade principal de serviço, identitystore.amazonaws.com, que deve ter permissão para usar a chave KMS.

  • Essas declarações de política permitem que as instâncias do IAM Identity Center em uma conta AWS específica usem a chave KMS. Para restringir o acesso a uma instância específica do IAM Identity Center, consulte Declarações de política de chave KMS avançadas. Você pode ter apenas uma instância do IAM Identity Center para cada conta AWS.

Declarações de política de chave KMS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_AdminPermissionSet_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdminSet_*" ] }, "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_AdminPermissionSet_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdminSet_*" ] }, "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*", "kms:ViaService": "identitystore.*.amazonaws.com" } } }, { "Sid": "AllowIAMIdentityCenterAdminToDescribeTheKMSKey", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_AdminPermissionSet_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdminSet_*" ] } } }, { "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": "*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "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": "*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "AllowIAMIdentityCenterAndIdentityStoreToDescribeKMSKey", "Effect": "Allow", "Principal": { "Service": [ "identitystore.amazonaws.com", "sso.amazonaws.com" ] }, "Action": "kms:DescribeKey", "Resource": "*" } ] }

Use o seguinte modelo de declaração de política do IAM em Etapa 4: configurar políticas do IAM para o uso entre contas da chave KMS para permitir que os administradores do IAM Identity Center usem a chave KMS.

  • Substitua o exemplo da chave ARN no elemento Resource pelo ARN real da chave KMS. Para obter ajuda para encontrar os valores dos identificadores referenciados, consulte Encontrar os identificadores exigidos.

  • Essas declarações de política do IAM concedem acesso à chave KMS à entidade principal do IAM, mas não restringem qual serviço da AWS pode fazer a solicitação. A política de chave KMS normalmente fornece essas restrições de serviço. No entanto, você pode adicionar contexto de criptografia a essa política do IAM para limitar o uso a uma instância específica do Identity Center. Para obter detalhes, consulte Declarações de política de chave KMS avançadas.

Declarações de política do IAM exigidas para administradores delegados do IAM Identity Center

{ "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": "*" } ] }

Chave KMS de linha de base e declarações de política do IAM para uso das aplicações gerenciadas pela AWS

nota

Algumas aplicações gerenciadas pela AWS não podem ser usadas com o IAM Identity Center configurado com uma chave KMS gerenciada pelo cliente. Para obter mais informações, consulte as Aplicações gerenciadas pela AWS que funcionam com o IAM Identity Center.

Use o seguinte modelo de declaração de política de chave KMS em Etapa 2: preparar as declarações de política de chave KMS para permitir que as aplicações gerenciadas pela AWS e os administradores usem a chave KMS.

Declarações de política de chave KMS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAppAdminsInTheSameOrganizationToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5" }, "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": "o-a1b2c3d4e5" }, "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" }, "StringEquals": { "aws:SourceOrgID": "o-a1b2c3d4e5" } } }, { "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" }, "StringEquals": { "aws:SourceOrgID": "o-a1b2c3d4e5" } } } ] }

Use o seguinte modelo de 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 de aplicações gerenciadas pela AWS usem a chave KMS de uma conta de membro.

  • Substitua o ARN de exemplo no elemento Resource pelo ARN real da chave KMS. Para obter ajuda para encontrar os valores dos identificadores referenciados, consulte Encontrar os identificadores exigidos.

  • Algumas aplicações gerenciadas pela AWS exigem que você configure permissões para as APIs de serviço do IAM Identity Center. Antes de configurar uma chave gerenciada pelo cliente no IAM Identity Center, verifique se essas permissões também permitem o uso da chave KMS. Para requisitos específicos de permissão da chave KMS, consulte a documentação de cada aplicação gerenciada pela AWS que você implantou.

Declarações de política do IAM exigidas para administradores de aplicações gerenciadas pela AWS:

{ "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" ] } } }] }

Declaração de chave KMS de linha de base para uso de AWS Control Tower

Use os seguintes modelos de declaração de chave KMS em Etapa 2: preparar as declarações de política de chave KMS para permitir que os administradores do AWS Control Tower usem a chave KMS.

  • No elemento de Entidade principal, especifique as entidades principais do IAM usadas para acessar as APIs do serviço do IAM Identity Center. Para obter mais informações sobre as entidades principais do IAM, consulte Como especificar uma entidade principal no Guia do usuário do IAM.

  • Essas declarações de política permitem que os administradores do AWS Control Tower usem a chave KMS por meio de qualquer uma das instâncias do IAM Identity Center. No entanto, o AWS Control Tower restringe o acesso à instância de organização do IAM Identity Center na mesma organização AWS. Por causa dessa restrição, não há qualquer benefício prático em restringir adicionalmente a chave KMS a uma instância específica do IAM Identity Center, conforme descrito em Declarações de política de chave KMS avançadas.

  • Para ajudar a se proteger contra alterações no nome do perfil do IAM quando os conjuntos de permissões são recriados, use a abordagem descrita em Exemplos de políticas personalizadas.

Declaração de política de chaves do KMS:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowControlTowerAdminRoleToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/AWSControlTowerExecution" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowControlTowerAdminRoleToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/AWSControlTowerExecution" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }

O AWS Control Tower não oferece suporte à administração delegada e, portanto, você não precisa configurar uma política do IAM para os administradores.

Chave KMS de linha de base e declarações de política do IAM para uso do IAM Identity Center em instâncias Windows do Amazon Elastic Compute Cloud

Use o seguinte modelo de declaração de política de chave KMS em Etapa 2: preparar as declarações de política de chave KMS para permitir que usuários de autenticação única (SSO) nas instâncias Windows do Amazon EC2 usem a chave KMS em todas as contas.

  • Especifique as entidades principais do IAM usadas para acessar o IAM Identity Center no campo Entidade principal. Para obter mais informações sobre as entidades principais do IAM, consulte Como especificar uma entidade principal no Guia do usuário do IAM.

  • Essa declaração de política permite que qualquer uma das instâncias do IAM Identity Center use a chave KMS. Para restringir o acesso a uma instância específica do IAM Identity Center, consulte Declarações de política de chave KMS avançadas.

  • Para ajudar a se proteger contra alterações no nome do perfil do IAM quando os conjuntos de permissões são recriados, use a abordagem descrita no Exemplo de política de confiança personalizada.

Declaração de política de chaves do KMS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIAMIdentityCenterPermissionSetRoleToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_MyPermissionSet_1a2b3c4d5e6f7g8h" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowIAMIdentityCenterPermissionSetRoleToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_MyPermissionSet_1a2b3c4d5e6f7g8h" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }

Use o seguinte modelo de declaração de política do IAM em Etapa 4: configurar políticas do IAM para o uso entre contas da chave KMS para permitir que o SSO para instâncias do Windows no EC2 use a chave KMS.

Anexe a declaração de política do IAM ao conjunto de permissões existente no IAM Identity Center que você está usando para permitir o acesso via SSO às instâncias do Windows do Amazon EC2. Para exemplos de políticas do IAM, consulte Conexões do protocolo de desktop remoto no Guia do usuário do AWS Systems Manager.

  • Substitua o ARN de exemplo no elemento Resource pelo ARN real da chave KMS. Para obter ajuda para encontrar os valores dos identificadores referenciados, consulte Encontrar os identificadores exigidos.

Política do IAM do conjunto de permissões:

{ "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" ] } } }] }

Chave KMS de linha de base e declarações de política do IAM para uso de fluxos de trabalho personalizados com o IAM Identity Center

Use os seguintes modelos de declaração de política de chave KMS em Etapa 2: preparar as declarações de política de chave KMS para permitir que fluxos de trabalho personalizados, como aplicações gerenciadas pelo cliente, na conta gerencial do AWS Organizations ou na conta de administração delegada usem a chave KMS.

  • No elemento de Entidade principal, especifique as entidades principais do IAM usadas para acessar as APIs do serviço do IAM Identity Center. Para obter mais informações sobre as entidades principais do IAM, consulte Como especificar uma entidade principal no Guia do usuário do IAM.

  • Essas declarações de política permitem que o fluxo de trabalho use a chave KMS em qualquer uma das instâncias do IAM Identity Center. Para restringir o acesso a uma instância específica do IAM Identity Center, consulte Declarações de política de chave KMS avançadas.

  • Para ajudar a se proteger contra alterações no nome do perfil do IAM quando os conjuntos de permissões são recriados, use a abordagem descrita em Exemplos de políticas personalizadas.

Declaração de política de chaves do KMS:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCustomWorkflowToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyCustomWorkflowRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowCustomWorkflowToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyCustomWorkflowRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }

Use o seguinte modelo de declaração de política do IAM em Etapa 4: configurar políticas do IAM para o uso entre contas da chave KMS para permitir que a entidade principal do IAM associada ao fluxo de trabalho personalizado use a chave KMS em todas as contas. Adicione a declaração de política do IAM à entidade principal do IAM.

  • Substitua o ARN de exemplo no elemento Resource pelo ARN real da chave KMS. Para obter ajuda para encontrar os valores dos identificadores referenciados, consulte Encontrar os identificadores exigidos.

Declaração de política do IAM (exigida somente para uso entre contas):

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowCustomWorkflowToUseTheKMSKeyViaIdentityCenterAndIdentityStore", "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" ] } } }] }