

# Impor e definir o escopo de uso do SSE-KMS para tabelas e buckets de tabela
<a name="tables-require-kms"></a>

Você pode usar políticas baseadas em recursos da funcionalidade Tabelas do S3, políticas de chave do KMS, políticas baseadas em identidade do IAM ou qualquer combinação delas para impor o uso do SSE-KMS a tabelas e buckets de tabela do S3. Para ter mais informações sobre políticas de identidade e recursos destinados a tabelas, consulte [Gerenciamento de acesso para a funcionalidade Tabelas do S3](s3-tables-setting-up.md). Para ter mais informações sobre políticas de chave, consulte [Key policies](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) no *Guia do desenvolvedor do AWS Key Management Service*. Os exemplos a seguir mostram como você pode usar políticas para impor o uso do SSE-KMS.

## Impor o uso do SSE-KMS para todas as tabelas com uma política de bucket de tabela
<a name="w2aac20c35c15b3c11b5b1"></a>

Este é um exemplo de política de bucket de tabela que impede que os usuários criem tabelas em um bucket de tabela específico, a menos que criptografem tabelas com uma chave do AWS KMS específica. Para usar essa política, substitua os *espaços reservados para entrada do usuário* por suas próprias informações: 

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

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnforceKMSEncryptionAlgorithm",
      "Effect": "Deny",
      "Principal": "*",
      "Action": [
        "s3tables:CreateTable"
      ],
      "Resource": [
        "arn:aws:s3tables:us-west-2:111122223333:bucket/example-table-bucket/*"
      ],
      "Condition": {
        "StringNotEquals": {
          "s3tables:sseAlgorithm": "aws:kms"
        }
      }
    },
    {
      "Sid": "EnforceKMSEncryptionKey",
      "Effect": "Deny",
      "Principal": "*",
      "Action": [
        "s3tables:CreateTable"
      ],
      "Resource": [
        "arn:aws:s3tables:us-west-2:111122223333:bucket/example-table-bucket/*"
      ],
      "Condition": {
        "StringNotEquals": {
          "s3tables:kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
      }
    }
  ]
}
```

------

## Exigir que os usuários usem a criptografia SSE-KMS com uma política do IAM
<a name="w2aac20c35c15b3c11b7b1"></a>

Essa política de identidade do IAM exige que os usuários usem uma chave do AWS KMS específica para criptografia ao criar ou configurar recursos da funcionalidade Tabelas do S3. Para usar essa política, substitua os *espaços reservados para entrada do usuário* por suas próprias informações:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "RequireSSEKMSOnTables",
      "Action": [
          "s3tables:CreateTableBucket",
          "s3tables:PutTableBucketEncryption",
          "s3tables:CreateTable"
      ],
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
            "s3tables:sseAlgorithm": "aws:kms"
        }
      }
    },
    {
      "Sid": "RequireKMSKeyOnTables",
      "Action": [
          "s3tables:CreateTableBucket",
          "s3tables:PutTableBucketEncryption",
          "s3tables:CreateTable"
      ],
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
            "s3tables:kmsKeyArn": "<key_arn>"
        }
      }
    }
  ]
}
```

## Restringir o uso de uma chave a um bucket de tabela específico com uma política de chave do KMS
<a name="w2aac20c35c15b3c11b9b1"></a>

Este exemplo de política de chave do KMS permite que a chave seja usada por um usuário específico somente para operações de criptografia em um bucket de tabela específico. Esse tipo de política é útil para limitar o acesso a uma chave em cenários entre contas. Para usar essa política, substitua os *espaços reservados para entrada do usuário* por suas próprias informações: 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "Id",
  "Statement": [
    {
      "Sid": "AllowPermissionsToKMS",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:root"
      },
      "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt"
      ],
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "kms:EncryptionContext:aws:s3:arn": "<table-bucket-arn>/*"
        }
      }
    }
  ]
}
```

------