Declarações de política chave avançadas do KMS - 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 política chave avançadas do KMS

nota

As chaves KMS AWS IAM Identity Center gerenciadas pelo cliente estão atualmente disponíveis em AWS regiões selecionadas.

Use declarações de política de chaves KMS avançadas para implementar controles de acesso mais granulares para sua chave KMS gerenciada pelo cliente. Essas políticas se baseiam na Declarações básicas da chave KMS e da política do IAM adicionando condições de contexto de criptografia e restrições específicas do serviço. Antes de decidir se deve usar declarações avançadas de política de chaves do KMS, certifique-se de revisar as considerações pertinentes.

Usando contexto de criptografia para restringir o acesso

Você pode restringir o uso da chave KMS a uma instância específica do IAM Identity Center adicionando uma condição de contexto de criptografia às suas principais declarações de política. Essa condição usa o ARN da instância do IAM Identity Center e o ARN do Identity Store para garantir que a chave funcione somente com a instância pretendida. Adicione essa condição a qualquer uma das declarações de política básica:

Identity Center

"StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}" }

Armazenamento de identidades

"StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}" }

Substitua ARNs o exemplo por seus valores reais de ARN. Se precisar de ajuda para encontrar esses identificadores, consulteEncontre os identificadores necessários.

Considerações para implementar condições de contexto de criptografia

Antes de implementar as condições de contexto de criptografia, analise estes requisitos:

  • DescribeKey ação. O contexto de criptografia não pode ser aplicado à ação “kms:DescribeKey”, que pode ser usada pelos administradores do IAM Identity Center. Ao configurar sua política de chaves do KMS, exclua o contexto de criptografia dessa ação específica para garantir as operações adequadas da sua instância do IAM Identity Center.

  • Nova configuração da instância. Se você estiver habilitando uma nova instância do IAM Identity Center com uma chave KMS gerenciada pelo cliente, consulteConsiderações sobre chaves KMS gerenciadas pelo cliente e políticas avançadas de chaves KMS.

  • Alterações na fonte de identidade. Ao alterar sua fonte de identidade de ou para o Active Directory, o contexto de criptografia requer atenção especial. Consulte Considerações para alterar sua fonte de identidade.

Modelos de políticas

Escolha entre esses modelos avançados de políticas com base em seus requisitos de segurança. Equilibre os controles de acesso granulares com a sobrecarga administrativa que eles introduzem.

Tópicos abordados aqui:

Declarações de política chave do KMS para uso de uma instância específica do IAM Identity Center

Essas declarações de política permitem que administradores de uma instância específica do IAM Identity Center usem a chave KMS enquanto restringem o acesso somente a essa instância.

nota

Atualmente, você pode usar uma chave KMS gerenciada pelo cliente somente com uma instância organizacional do IAM Identity Center. A chave gerenciada pelo cliente deve estar localizada na conta de gerenciamento da AWS organização, o que ajuda a garantir que a chave seja usada com uma única instância do IAM Identity Center. No entanto, o mecanismo de contexto de criptografia fornece uma proteção técnica independente do uso de uma única instância.

Política de acesso do administrador

O modelo de declaração de política a seguir permite que administradores de uma instância específica do IAM Identity Center e seu Identity Store associado usem a chave KMS.

Para usar essa política:

  1. Substitua o exemplo de diretores do IAM do administrador pelos diretores do IAM do administrador real.

  2. Substitua o exemplo de ARN da instância do IAM Identity Center pelo ARN da sua instância real

  3. Substitua o exemplo do Identity Store ARN pelo ARN real do Identity Store

Se precisar de ajuda para encontrar os valores desses identificadores, consulteEncontre os identificadores necessários.

Depois de atualizar o modelo com seus valores, volte Etapa 2: Preparar as principais declarações de política do KMS para preparar declarações adicionais de política chave do KMS, conforme necessário.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowSpecificIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowSpecificIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}", "kms:ViaService": "identitystore.*.amazonaws.com" } } }, { "Sid": "AllowIAMIdentityCenterAdminToDescribeTheKMSKey", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": "kms:DescribeKey", "Resource": "*" } ] }

Política de acesso ao serviço

O modelo de declaração de política a seguir permite que uma instância específica do IAM Identity Center e seu Identity Store associado usem a chave KMS.

Para usar essa política:

  1. Substitua o exemplo de ARN da instância do IAM Identity Center pelo ARN da sua instância real

  2. Substitua o exemplo do Identity Store ARN pelo ARN real do Identity Store

Se precisar de ajuda para encontrar os valores desses identificadores, consulteEncontre os identificadores necessários.

Depois de atualizar o modelo com seus valores, volte Etapa 2: Preparar as principais declarações de política do KMS para preparar declarações adicionais de política chave do KMS, conforme necessário.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowSpecificIAMIdentityCenterToUseTheKMSKey", "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": "${identity_center_arn}" } } }, { "Sid": "AllowSpecificIAMIdentityStoreToUseTheKMSKey", "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": "${identity_store_arn}" } } }, { "Sid": "AllowIAMIdentityCenterAndIdentityStoreToDescribeKMSKey", "Effect": "Allow", "Principal": { "Service": [ "identitystore.amazonaws.com", "sso.amazonaws.com" ] }, "Action": "kms:DescribeKey", "Resource": "*" } ] }

Declarações de política do KMS para uso somente para leitura de uma instância específica do IAM Identity Center

Essa política permite que auditores de segurança e outros funcionários que precisam apenas de acesso de leitura ao IAM Identity Center usem a chave KMS.

Para usar essa política:

  1. Substitua o exemplo de diretores IAM de administrador somente para leitura por seus diretores de IAM de administrador reais

  2. Substitua o exemplo de ARN da instância do IAM Identity Center pelo ARN da sua instância real

  3. Substitua o exemplo do Identity Store ARN pelo ARN real do Identity Store

  4. Se estiver usando a administração delegada, consulte Etapa 4: configurar as políticas do IAM para o uso da chave KMS em várias contas

Se precisar de ajuda para encontrar os valores desses identificadores, consulteEncontre os identificadores necessários.

Depois de atualizar o modelo com seus valores, volte Etapa 2: Preparar as principais declarações de política do KMS para preparar declarações adicionais de política chave do KMS, conforme necessário.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowReadOnlyAccessToIdentityCenterAPI", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowReadOnlyAccessToIdentityStoreAPI", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}" } } } ] }

Declarações de política chave do KMS refinadas para uso de aplicativos AWS gerenciados

Esses modelos de política fornecem um controle mais granular sobre quais aplicativos AWS gerenciados podem usar sua chave KMS.

nota

Alguns aplicativos AWS gerenciados não podem ser usados com o IAM Identity Center configurado com uma chave KMS gerenciada pelo cliente. Veja os aplicativos AWS gerenciados que você pode usar com o IAM Identity Center.

Eles Chave básica do KMS e declarações de política do IAM para uso de AWS aplicativos gerenciados permitem que qualquer aplicativo AWS gerenciado de qualquer conta na mesma AWS organização use a chave KMS. Use essas políticas refinadas para restringir o acesso por meio de:

  • Responsável pelo serviço de aplicativos

  • Instância do aplicativo ARNs

  • AWS conta IDs

  • Contexto de criptografia para instâncias específicas do IAM Identity Center

nota

Um principal de serviço é um identificador exclusivo para um AWS serviço, normalmente formatado como servicename.amazonaws.com (por exemplo, elasticmapreduce.amazonaws.com para Amazon EMR).

Restringir por conta

Esse modelo de declaração de política de chaves do KMS permite que um aplicativo AWS gerenciado em AWS contas específicas use a chave KMS usando uma instância específica do IAM Identity Center.

Para usar essa política:

  1. Substitua o principal de serviço de exemplo pelo principal de serviço de aplicativo real

  2. Substitua a conta IDs de exemplo pela sua conta real IDs

  3. Substitua o exemplo do Identity Store ARN pelo ARN real do Identity Store

  4. Substitua o exemplo de ARN da instância do IAM Identity Center pelo ARN da sua instância real

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowServiceInSpecificAccountsToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "Service": "${app_SPN_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:sourceAccount": [ "${account_id_1}", "${account_id_2}" ] }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } }, { "Sid": "AllowServiceInSpecificAccountsToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "Service": "${app_SPN_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:sourceAccount": [ "${account_id_1}", "${account_id_2}" ] }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } } ] }

Restringir por instância do aplicativo

Esse modelo de declaração de política de chaves do KMS permite que uma instância específica do aplicativo AWS gerenciado use a chave KMS usando uma instância específica do IAM Identity Center.

Para usar essa política:

  1. Substitua o principal de serviço de exemplo pelo principal de serviço de aplicativo real

  2. Substitua o ARN do aplicativo de exemplo pelo ARN real da instância do aplicativo

  3. Substitua o exemplo do Identity Store ARN pelo ARN real do Identity Store

  4. Substitua o exemplo de ARN da instância do IAM Identity Center pelo ARN da sua instância real

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowSpecificAppInstanceToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "Service": "${app_SPN_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceARN": "${app_arn}" }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } }, { "Sid": "AllowSpecificAppInstanceToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "Service": "${app_SPN_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceARN": "${app_arn}" }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } } ] }