

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
<a name="advanced-kms-policy"></a>

 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](baseline-KMS-key-policy.md) 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
<a name="using-encryption-context-to-restrict-access"></a>

 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 “\$1” 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[Onde encontrar os identificadores necessários](identity-center-customer-managed-keys.md#find-the-required-identifiers). 

**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
<a name="considerations-for-implementing-encryption-context-conditions"></a>

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](considerations-for-customer-managed-kms-keys-advanced.md). 
+  **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](manage-your-identity-source-considerations.md).

## Modelos de políticas
<a name="advanced-policy-templates"></a>

 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](#kms-policy-statements-for-read-only-use-of-a-specific-iam-identity-center-instance). Esta seção demonstra o uso do contexto de criptografia para acesso somente leitura ao IAM Identity Center. 
+  [Declarações de política chave do KMS refinadas para uso de aplicativos AWS gerenciados](#refined-kms-key-policy-statements-for-use-of-aws-managed-applications). Esta seção demonstra como refinar as políticas de chaves do KMS para aplicativos AWS gerenciados usando o contexto de criptografia e as informações do aplicativo, como o principal do serviço do aplicativo, o ARN do aplicativo e o ID da conta. AWS 

## Declarações de política do KMS para uso somente para leitura de uma instância específica do IAM Identity Center
<a name="kms-policy-statements-for-read-only-use-of-a-specific-iam-identity-center-instance"></a>

 Essa política permite que [auditores de segurança](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/SecurityAudit.html) 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

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

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

1. Se estiver usando a [administração delegada](https://docs.aws.amazon.com/singlesignon/latest/userguide/delegated-admin.html), consulte [Etapa 4: configurar políticas do IAM para o uso entre contas da chave KMS](identity-center-customer-managed-keys.md#configure-iam-policies-kms-key)

Se precisar de ajuda para encontrar os valores desses identificadores, consulte[Onde encontrar os identificadores necessários](identity-center-customer-managed-keys.md#find-the-required-identifiers).

Depois de atualizar o modelo com os valores, volte a [Etapa 2: preparar as declarações de política de chave KMS](identity-center-customer-managed-keys.md#choose-kms-key-policy-statements) 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:ViaService": "sso.*.amazonaws.com",
          "kms:EncryptionContext:aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-1234567890abcdef"
        }
      }
    },
    {
      "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
<a name="refined-kms-key-policy-statements-for-use-of-aws-managed-applications"></a>

 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](https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps-that-work-with-identity-center.html). 

Eles [Chave básica do KMS e declarações de política do IAM para uso de AWS aplicativos gerenciados](baseline-KMS-key-policy.md#baseline-kms-key-policy-statements-for-use-of-aws-managed-applications) 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
<a name="restrict-by-account"></a>

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

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

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

1. 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
<a name="restrict-by-application-instance"></a>

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

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

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

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

# Considerações sobre chaves KMS gerenciadas pelo cliente e políticas avançadas de chaves KMS
<a name="considerations-for-customer-managed-kms-keys-advanced"></a>

Ao implementar chaves KMS gerenciadas pelo cliente com o IAM Identity Center, considere esses fatores que afetam a configuração, a segurança e a manutenção contínua de a configuração de criptografia.

## 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
<a name="kms-policy-considerations-advanced-vs-baseline"></a>

Ao decidir se deve tornar as permissões da chave KMS mais específicas usando [Declarações de política de chave KMS avançadas](advanced-kms-policy.md), considere a sobrecarga de gerenciamento e as necessidades de segurança da organização. Declarações de política mais específicas fornecem um controle mais refinado sobre quem pode usar a chave e para quais propósitos; no entanto, elas exigem manutenção contínua à medida que a configuração do IAM Identity Center evolui. Por exemplo, se você restringir o uso da chave KMS a implantações específicas de aplicativos AWS gerenciados, precisará atualizar a política de chaves sempre que sua organização quiser implantar ou desimplantar um aplicativo. Políticas menos restritivas reduzem a carga administrativa, mas podem conceder permissões mais amplas do que as necessárias para os requisitos de segurança.

## Considerações para habilitar uma nova instância do IAM Identity Center com uma chave KMS gerenciada pelo cliente
<a name="considerations-for-enabling-new-instance"></a>

 As considerações aqui se aplicam se você estiver usando o contexto de criptografia conforme descrito em [Declarações de política de chave KMS avançadas](advanced-kms-policy.md) para restringir o uso da chave KMS a uma instância específica do IAM Identity Center. 

 Ao habilitar uma nova instância do IAM Identity Center com uma chave KMS gerenciada pelo cliente, o IAM Identity Center e o Identity Store ARNs não estarão disponíveis até a configuração. Você tem as seguintes opções: 
+  Use padrões ARN genéricos temporariamente e, em seguida, substitua por full ARNs depois que a instância for ativada. Lembre-se de alternar entre StringLike operadores StringEquals e conforme necessário.
  +  Para o IAM Identity Center SPN: "arn:\$1\$1Partition\$1:sso:::instance/\$1". 
  +  Para o Identity Store SPN: "arn:\$1\$1Partition\$1:identitystore::\$1\$1Account\$1:identitystore/\$1". 
+  Use “Purpose:KEY\$1CONFIGURATION” no ARN temporariamente. Isso funciona somente para habilitação de instâncias e deve ser substituído pelo ARN real para que a instância do IAM Identity Center funcione normalmente. A vantagem dessa abordagem é que você não pode esquecer de substituí-la depois que a instância estiver habilitada. 
  +  Para o IAM Identity Center SPN, use: "arn:\$1\$1Partition\$1:sso:::instance/purpose:KEY\$1CONFIGURATION" 
  +  Para o Identity Store SPN, use: "arn:\$1\$1Partition\$1:identitystore::\$1\$1Account\$1:identitystore/purpose:KEY\$1CONFIGURATION" 
**Importante**  
 Não aplique essa configuração a uma chave KMS já em uso em uma instância existente do IAM Identity Center, pois isso pode interromper as operações normais. 
+  Omita a condição do contexto de criptografia da política de chave KMS até que a instância seja habilitada. 