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, consulteOnde encontrar os identificadores necessários.

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

  • 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 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, consulteOnde encontrar os identificadores necessários.

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 sozinha não restringe o acesso às operações somente para leitura. A política do IAM deve impor o acesso somente de leitura no serviço IAM Identity Center. APIs

{ "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 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. Consulte Aplicações gerenciadas pela AWS 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:

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

  • Instância do aplicativo ARNs

  • AWS account 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. Substituir a amostra da entidade principal de serviço pela entidade principal de serviço da aplicação real

  2. Substitua a conta IDs de exemplo pela conta real em IDs que seus aplicativos AWS gerenciados são implantados

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