

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

# AWS KMS key Criptografia gerenciada pelo cliente para SageMaker HyperPod
<a name="smcluster-cmk"></a>

Por padrão, o volume raiz do Amazon EBS anexado ao seu SageMaker HyperPod cluster é criptografado usando um volume de AWS KMS key propriedade de. AWS Agora você tem a opção de criptografar o volume raiz do Amazon EBS e o volume secundário com chaves do KMS gerenciadas pelo cliente. O tópico a seguir descreve como as chaves gerenciadas pelo cliente (CMKs) funcionam com volumes em HyperPod clusters.

**nota**  
As seguintes exclusões se aplicam ao usar chaves gerenciadas pelo cliente para SageMaker HyperPod clusters:  
A criptografia de chave gerenciada pelo cliente só é permitida em clusters usando o modo de provisionamento contínuo de nós. Não é possível usar chaves gerenciadas pelo cliente em grupos de instâncias restritas.
HyperPod Atualmente, os clusters não oferecem suporte à transmissão de contexto de AWS KMS criptografia em solicitações de criptografia de chave gerenciadas pelo cliente. Portanto, não restrinja o escopo de sua política de chave do KMS usando condições de contexto de criptografia, pois isso impede que o cluster use a chave.
No momento, não é possível a transição de chaves do KMS. Portanto, a chave do KMS especificada na sua configuração não pode ser alterada. Para usar uma chave diferente, crie outro grupo de instâncias com a chave desejada e exclua seu grupo de instâncias antigo.
Atualmente, não há suporte para especificar chaves gerenciadas pelo cliente para HyperPod clusters por meio do console.

## Permissões
<a name="smcluster-cmk-permissions"></a>

Antes de usar sua chave gerenciada pelo cliente com HyperPod, você deve preencher os seguintes pré-requisitos:
+ Certifique-se de que a função de execução AWS do IAM que você está usando para SageMaker IA tenha as seguintes permissões AWS KMS adicionadas. A `[ kms:CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)` permissão permite HyperPod realizar as seguintes ações usando permissões para sua chave KMS:
  + Escalando sua contagem de instâncias (UpdateCluster operações)
  + Adicionar nós de cluster (BatchAddClusterNodes operações)
  + Software de correção (UpdateClusterSoftware operações)

  Para ter mais informações sobre como atualizar as permissões do seu perfil do IAM, consulte [Adicionar e remover permissões de identidade do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) no *Guia do usuário do IAM*.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "kms:CreateGrant",
                  "kms:DescribeKey"
              ],
              "Resource": "*"
          }
      ]
  }
  ```

------
+ Adicione as permissões a seguir à política de chave do KMS. Para ter mais informações, consulte [Change a key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html) no *Guia do desenvolvedor do AWS KMS *.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Id": "hyperpod-key-policy",
      "Statement": [
          {
              "Sid": "Enable IAM User Permissions",
              "Effect": "Allow",
              "Principal": {
                  "AWS": "arn:aws:iam::111122223333:root"
              },
              "Action": "kms:*",
              "Resource": "*"
          },
          {
              "Effect": "Allow",
              "Principal": {
                  "AWS": "arn:aws:iam::111122223333:role/<iam-role>"
              },
              "Action": "kms:CreateGrant",
              "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id",
              "Condition": {
                  "StringEquals": {
                      "kms:ViaService": "sagemaker.us-east-1.amazonaws.com"
                  },
                  "Bool": {
                      "kms:GrantIsForAWSResource": "true"
                  }
              }
          },
          {
              "Effect": "Allow",
              "Principal": {
                  "AWS": "arn:aws:iam::111122223333:role/<iam-role>"
              },
              "Action": "kms:DescribeKey",
              "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id",
              "Condition": {
                  "StringEquals": {
                      "kms:ViaService": "sagemaker.us-east-1.amazonaws.com"
                  }
              }
          }
      ]
  }
  ```

------

## Como usar sua chave do KMS
<a name="smcluster-cmk-usage"></a>

Você pode especificar suas chaves gerenciadas pelo cliente ao criar ou atualizar um cluster usando as operações de [UpdateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)API [CreateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)e. A estrutura `InstanceStorageConfigs` permite no máximo duas configurações `EbsVolumeConfig`, nas quais você pode configurar o volume raiz do Amazon EBS e, opcionalmente, um volume secundário. É possível usar a mesma chave do KMS ou uma chave do KMS diferente para cada volume, dependendo das suas necessidades.

Você tem as seguintes opções ao especificar uma chave gerenciada pelo cliente para volumes: nenhum volume, ambos ou um ou outro. No entanto, não é possível especificar dois volumes raiz ou dois volumes secundários.

Ao configurar o volume raiz, os seguintes requisitos se aplicam:
+ `RootVolume` deve ser definido como `True`. O valor padrão é `False`, que, em vez disso, configura o volume secundário.
+ O campo `VolumeKmsKeyId` é obrigatório e você deve especificar sua chave gerenciada pelo cliente. Isso ocorre porque o volume raiz sempre deve ser criptografado com uma AWS chave própria ou uma chave gerenciada pelo cliente (se você não especificar a sua própria, uma AWS chave própria será usada).
+ Você não pode especificar o `VolumeSizeInGB` campo para volumes raiz, pois HyperPod determina o tamanho do volume raiz para você.

Ao configurar o volume secundários, os seguintes requisitos se aplicam:
+ `RootVolume` deve ser `False` (o valor padrão desse campo é `False`).
+ O campo `VolumeKmsKeyId` é opcional. É possível usar a mesma chave gerenciada pelo cliente especificada para o volume raiz ou usar uma chave diferente.
+ O campo `VolumeSizeInGB` é obrigatório, pois você deve especificar o tamanho desejado para o volume secundário.

**Importante**  
Ao usar chaves gerenciadas pelo cliente, sugerimos que você utilize chaves diferentes do KMS para cada grupo de instâncias do cluster. Usar a mesma chave gerenciada pelo cliente em vários grupos de instâncias pode dar lugar a permissões contínuas indesejadas, mesmo se você tentar revogar uma concessão. Por exemplo, se você revogar uma AWS KMS concessão para os volumes de um grupo de instâncias, esse grupo de instâncias ainda poderá permitir operações de escalabilidade e correção devido às concessões existentes em outros grupos de instâncias usando a mesma chave. Para evitar esse problema, atribua chaves exclusivas do KMS a cada grupo de instâncias no cluster. Se precisar restringir permissões em grupos de instâncias, você pode experimentar uma das seguintes opções:  
Desabilite a chave do KMS.
Aplique políticas de negação à política de chave do KMS.
Revogue todas as concessões de grupos de instâncias para a chave (em vez de revogar uma única concessão).
Exclua o grupo de instâncias.
Excluir o cluster.

Os exemplos a seguir mostram como especificar chaves gerenciadas pelo cliente para volumes raiz e secundário usando o CreateCluster UpdateCluster APIs e. Esses exemplos mostram somente os campos obrigatórios para a integração de chaves gerenciadas pelo cliente. Para configurar uma chave gerenciada pelo cliente para somente um dos volumes, especifique somente uma `EbsVolumeConfig`.

Para ter mais informações sobre como configurar solicitações de criação e atualização de clusters, consulte [Criação de um SageMaker HyperPod cluster](sagemaker-hyperpod-eks-operate-cli-command-create-cluster.md) e [Atualizando a configuração do SageMaker HyperPod cluster](sagemaker-hyperpod-eks-operate-cli-command-update-cluster.md).

------
#### [ CreateCluster ]

O exemplo a seguir mostra uma AWS CLI solicitação de [criação de cluster com criptografia de](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html) chave gerenciada pelo cliente.

```
aws sagemaker create-cluster \
  --cluster-name <your-hyperpod-cluster> \
  --instance-groups '[{
    "ExecutionRole": "arn:aws:iam::111122223333:role/<your-SageMaker-Execution-Role>",
    "InstanceCount": 2,
    "InstanceGroupName": "<your-ig-name>",
    "InstanceStorageConfigs": [
            {
                "EbsVolumeConfig": {
                    "RootVolume": True,
                    "VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/root-volume-key-id"
                }
            },
            {
                "EbsVolumeConfig": {
                    "VolumeSizeInGB": 100,
                    "VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/secondary-volume-key-id"
                }
            }
    ],
    "InstanceType": "<desired-instance-type>"
  }]' \
  --vpc-config '{
    "SecurityGroupIds": ["<sg-id>"],
    "Subnets": ["<subnet-id>"]
  }'
```

------
#### [ UpdateCluster ]

O exemplo a seguir mostra uma AWS CLI solicitação de [cluster de atualização](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) com criptografia de chave gerenciada pelo cliente.

```
aws sagemaker update-cluster \
  --cluster-name <your-hyperpod-cluster> \
  --instance-groups '[{
    "InstanceGroupName": "<your-ig-name>",
    "InstanceStorageConfigs": [
            {
                "EbsVolumeConfig": {
                    "RootVolume": true,
                    "VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/root-volume-key-id"
                }
            },
            {
                "EbsVolumeConfig": {
                    "VolumeSizeInGB": 100,
                    "VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/secondary-volume-key-id"
                }
            }
    ]
  }]'
```

------