

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 [Política básica de chaves do KMS](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 adicionando condições de contexto de criptografia às `AllowManagedApps` instruções `AllowOrgPrincipalsViaIdentityCenterAndIdentityStore` e na sua[Política básica de chaves do KMS](baseline-KMS-key-policy.md). Adicione as seguintes condições ao ARN específico da instância do Identity Center e ao ARN do Identity Store. 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). 

[Política básica de chaves do KMS](baseline-KMS-key-policy.md)Isso permite 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"
        }
      }
    }
  ]
}
```