

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

# Gerenciamento de chaves para acesso aos dados do Amazon S3
<a name="key-management"></a>

Esta página é específica para o tipo de acesso a dados do Amazon S3 em que o provedor compartilha objetos criptografados usando SSE-KMS. O assinante deve ter uma concessão nas chaves utilizadas para acesso.

Se seu bucket do Amazon S3 contiver dados criptografados usando chaves gerenciadas pelo AWS KMS cliente, você deverá compartilhá-los AWS Data Exchange para configurar seu AWS KMS keys conjunto de dados de acesso a dados do Amazon S3. Para obter mais informações, consulte [Etapa 2: configurar o acesso aos dados do Amazon S3](publish-s3-data-access-product.md#configure-s3-data-access-product).

**Topics**
+ [Criação de AWS KMS subsídios](#create-kms-grants)
+ [Contexto de criptografia e restrições de concessão](#encryption-context-grant-constraint)
+ [Monitorando sua AWS KMS keys entrada AWS Data Exchange](#monitoring-your-kms-keys)

## Criação de AWS KMS subsídios
<a name="create-kms-grants"></a>

Quando você fornece AWS KMS keys como parte do seu conjunto de dados de acesso a dados do Amazon S3, AWS Data Exchange cria uma AWS KMS concessão em cada AWS KMS key compartilhamento. Esse subsídio, conhecido como *subsídio principal*, é usado para dar AWS Data Exchange permissão para criar AWS KMS subsídios adicionais para assinantes. Esses subsídios adicionais são conhecidos como *subsídios secundários*. Cada assinante tem direito a uma AWS KMS concessão. Os assinantes têm permissão para decifrar o. AWS KMS key Em seguida, eles poderão descriptografar e usar os objetos criptografados do Amazon S3 compartilhados com eles. Para obter mais informações, consulte [Concessões no AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) no *Guia do desenvolvedor AWS Key Management Service *.

AWS Data Exchange também usa a concessão AWS KMS principal para gerenciar o ciclo de vida da AWS KMS concessão que ela cria. Quando uma assinatura termina, o subsídio AWS Data Exchange para AWS KMS crianças criado para o assinante correspondente é cancelado. Se a revisão for revogada ou o conjunto de dados for excluído, a concessão AWS KMS principal será AWS Data Exchange cancelada. Para obter mais informações sobre AWS KMS ações, consulte a [referência AWS KMS da API](https://docs.aws.amazon.com/kms/latest/APIReference/API_Operations.html).

## Contexto de criptografia e restrições de concessão
<a name="encryption-context-grant-constraint"></a>

AWS Data Exchange usa restrições de concessão para permitir a operação de descriptografia somente quando a solicitação inclui o contexto de criptografia especificado. Você pode usar o recurso Amazon S3 Bucket Key para criptografar seus objetos do Amazon S3 e compartilhá-los com. AWS Data Exchange O nome de recurso da Amazon (ARN) do bucket é usado implicitamente pelo Amazon S3 como contexto de criptografia. O exemplo a seguir mostra que AWS Data Exchange usa o ARN do bucket como a restrição de concessão para todas as AWS KMS concessões que ele cria.

```
"Constraints": {
   "EncryptionContextSubset":  "aws:s3:arn": “arn:aws:s3:::<Bucket ARN>"
   }
}
```

## Monitorando sua AWS KMS keys entrada AWS Data Exchange
<a name="monitoring-your-kms-keys"></a>

Ao compartilhar chaves gerenciadas pelo AWS KMS cliente AWS Data Exchange, você pode usá-las [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)para rastrear solicitações AWS Data Exchange ou dados para os quais os assinantes enviam AWS KMS. Veja a seguir exemplos de como serão seus CloudTrail registros para o `CreateGrant` e as `Decrypt` chamadas para AWS KMS.

------
#### [ CreateGrant for parent ]

`CreateGrant`é para subsídios para pais criados AWS Data Exchange por ele mesmo.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole", 
        "principalId": "AROAIGDTESTANDEXAMPLE:Provider01",
        "arn": "arn:aws:sts::<your-account-id>:assumed-role/Admin/Provider01",
        "accountId": "<your-account-id>",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::<your-account-id>:role/Admin/Provider01”,
                "accountId": "<your-account-id>",
                "userName": "Admin"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-02-16T17:29:23Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "datax.amazonaws.com"
    },
    "eventTime": "2023-02-16T17:32:47Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-east-2",
    "sourceIPAddress": "datax.amazonaws.com",
    "userAgent": "datax.amazonaws.com",
    "requestParameters": {
        "keyId": "<Key ARN of the Key you shared with AWS Data Exchange>",
        "operations": [
            "CreateGrant",
            "Decrypt",
            "RetireGrant"
        ],
        "granteePrincipal": "dataexchange.us-east-2.amazonaws.com",
        "retiringPrincipal": "dataexchange.us-east-2.amazonaws.com",
        "constraints": {
            "encryptionContextSubset": { AWS:s3:arn": "arn:aws:s3:::<Your Bucket ARN>"
            }
        }
    },
    "responseElements": {
        "grantId": "<KMS Grant ID of the created Grant>",
        "keyId": "<Key ARN of the Key you shared with AWS Data Exchange>"
    },
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": false,
    "resources": [
        {
            "accountId": "<Your Account Id>",
            "type": "AWS::KMS::Key",
            "ARN": "<Key ARN of the Key you shared with AWS Data Exchange>"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "<Your Account Id>",
    "eventCategory": "Management"
}
```

------
#### [ CreateGrant for child ]

`CreateGrant`é para bolsas infantis criadas por AWS Data Exchange para assinantes.

```
{
      "eventVersion": "1.08",
      "userIdentity": {
         "type": "AWSService",
         "invokedBy": "datax.amazonaws.com"
     },
     "eventTime": "2023-02-15T23:15:49Z",
     "eventSource": "kms.amazonaws.com",
     "eventName": "CreateGrant",
     "awsRegion": "us-east-2",
     "sourceIPAddress": "datax.amazonaws.com",
     "userAgent": "datax.amazonaws.com",
     "requestParameters": {
         "keyId": "<Key ARN of the Key you shared with AWS Data Exchange>",
         "operations": [
             "Decrypt"
         ],
         "granteePrincipal": “<Subscriber’s account Id>”,
         "retiringPrincipal": "dataexchange.us-east-2.amazonaws.com",
         "constraints": {
             "encryptionContextSubset": {
                 "aws:s3:arn": "arn:aws:s3:::<Your Bucket ARN>"
             }
         }
     },
     "responseElements": {
         "grantId": "<KMS Grant ID of the created Grant>",
         "keyId": "<Key ARN of the Key you shared with AWS Data Exchange>"
     },
     "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
     "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
     "readOnly": false,
     "resources": [
         {
             "accountId": "<Your Account Id>",
             "type": "AWS::KMS::Key",
             "ARN": "<Key ARN of the Key you shared with AWS Data Exchange>"
         }
     ],
     "eventType": "AwsApiCall",
     "managementEvent": true,
     "recipientAccountId": "<Your Account Id>",
     "sharedEventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE ",
     "eventCategory": "Management"
}
```

------
#### [ Decrypt ]

`Decrypt` é chamado pelos assinantes quando tentam ler os dados criptografados nos quais estão inscritos.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AWSAccount",
        "principalId": "AROAIGDTESTANDEXAMPLE:Subscriber01",
        "accountId": "<subscriber-account-id>",
        "invokedBy": "<subscriber’s IAM identity>"
    },
    "eventTime": "2023-02-15T23:28:30Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-east-2",
    "sourceIPAddress": "<subscriber’s IP address>",
    "userAgent": "<subscriber’s user agent>",
    "requestParameters": {
        "encryptionContext": {
            "aws:s3:arn": "arn:aws:s3:::<Your Bucket ARN>"
        },
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT"
    },
    "responseElements": null,
    "requestID": ""ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": ""ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE”,
    "readOnly": true,
    "resources": [
        {
            "accountId": "<Your Account Id>",
            "type": "AWS::KMS::Key",
            "ARN": "<Key ARN of the Key you shared with AWS Data Exchange>"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "602466227860",
    "sharedEventID": "bcf4d02a-31ea-4497-9c98-4c3549f20a7b",
    "eventCategory": "Management"
}
```

------