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

Use declarações de política de chave KMS avançadas para implementar controles de acesso mais granulares para a chave KMS gerenciada pelo cliente. Essas políticas se baseiam em Declarações de chave KMS e de política do IAM de linha de base adicionando condições de contexto de criptografia e restrições específicas do serviço. Antes de decidir se você deve usar declarações de política de chave KMS avançadas, analise as considerações pertinentes.

Como usar o 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 especificando uma condição de contexto de criptografia nas declarações de política de chave. As declarações políticas de chave de linha de base já incluem esse contexto com um valor genérico. Substitua o caractere curinga “*” por um ARN específico da instância do Identity Center e pelo ARN do Identity Store para garantir que a chave funcione somente com a instância pretendida. Você também pode adicionar as mesmas condições de contexto de criptografia à política do IAM configurada para o uso entre contas da chave KMS.

Identity Center

"StringEquals": { "kms:EncryptionContext:aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-1234567890abcdef" }

Armazenamento de identidades

"StringEquals": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "arn:aws:identitystore::111122223333:identitystore/d-1234567890" }

Se precisar de ajuda para encontrar esses identificadores, consulte Encontrar os identificadores exigidos.

nota

Você pode usar uma chave KMS gerenciada pelo cliente somente com uma instância de organização do IAM Identity Center. A chave gerenciada pelo cliente deve estar localizada na conta gerencial da organização na AWS, 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. Você também pode usar a chave de condição aws:SourceArn nas declarações de política de chave KMS destinadas às entidades principais de serviço do Identity Center e do Identity Store.

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

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

  • Ação DescribeKey. 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 a política de chave KMS, exclua o contexto de criptografia dessa ação específica para garantir as operações adequadas da instância do IAM Identity Center.

  • Configuração da nova instância. Se for habilitar uma nova instância do IAM Identity Center com uma chave KMS gerenciada pelo cliente, consulte Considerações sobre chaves KMS gerenciadas pelo cliente e políticas avançadas de chaves KMS.

  • Alterações na fonte de identidade. Ao alterar a 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 de política avançada com base nos 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 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. Substituir as amostras de entidades principais do IAM de administrador somente leitura pelas entidades principais do IAM de administrador reais

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

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

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

Se precisar de ajuda para encontrar os valores desses identificadores, consulte Encontrar os identificadores exigidos.

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

A ação kms:Decrypt por si só não restringe o acesso a operações somente leitura. A política do IAM deve impor o acesso somente de leitura às APIs do serviço do IAM Identity Center.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowReadOnlyAccessToIdentityCenterAPI", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyAdminRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-1234567890abcdef", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowReadOnlyAccessToIdentityStoreAPI", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyAdminRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "arn:aws:identitystore::111122223333:identitystore/d-1234567890" } } } ] }

Declarações de política de chave KMS refinadas para uso de aplicações gerenciadas pela AWS

Esses modelos de política fornecem um controle mais granular sobre quais aplicações gerenciadas pela AWS podem usar a chave KMS.

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. Consulte Aplicações gerenciadas pela AWS que você pode usar com o IAM Identity Center.

O Chave KMS de linha de base e declarações de política do IAM para uso das aplicações gerenciadas pela AWS permite que qualquer aplicação gerenciada pela AWS de qualquer conta na mesma organização AWS use a chave KMS. Use essas políticas refinadas para restringir o acesso por meio de:

  • Entidade principal do serviço de aplicação

  • ARN da instância da aplicação

  • IDs de conta da AWS

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

nota

Uma entidade principal de serviço é um identificador exclusivo para um serviço da AWS, 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 chave KMS permite que uma aplicação gerenciada pela AWS em contas específicas da AWS use a chave KMS usando uma instância específica do IAM Identity Center.

Para usar essa política:

  1. Substituir a amostra da entidade principal de serviço pela entidade principal de serviço da aplicação real

  2. Substituir os IDs de conta de exemplo pelos IDs de conta reais em que as aplicações gerenciadas pela AWS são implantadas

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

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

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowServiceInSpecificAccountsToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "Service": "myapp.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": [ "111122223333", "444455556666" ] }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-1234567890abcdef" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } }, { "Sid": "AllowServiceInSpecificAccountsToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "Service": "myapp.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": [ "111122223333", "444455556666" ] }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "arn:aws:identitystore::111122223333:identitystore/d-1234567890" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } } ] }

Restringir por instância da aplicação

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

Para usar essa política:

  1. Substituir a amostra da entidade principal de serviço pela entidade principal de serviço da aplicação real

  2. Substituir o ARN da aplicação de exemplo pelo ARN real da instância da aplicação

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

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

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSpecificAppInstanceToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "Service": "myapp.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceARN": "arn:aws:myapp:us-east-1:111122223333:application/my-application" }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-1234567890abcdef" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } }, { "Sid": "AllowSpecificAppInstanceToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "Service": "myapp.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceARN": "arn:aws:myapp:us-east-1:111122223333:application/my-application" }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "arn:aws:identitystore::111122223333:identitystore/d-1234567890" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } } ] }