Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Administración de claves para el acceso a datos de Amazon S3
Esta página es específica para el tipo de acceso a los datos de Amazon S3 con el que el proveedor comparte objetos cifrados SSE-KMS. El suscriptor debe tener derechos concedidos sobre las claves utilizadas para el acceso.
Si su bucket de Amazon S3 contiene datos cifrados con claves administradas por el AWS KMS cliente, debe compartirlos AWS KMS keys con ellos AWS Data Exchange para configurar su conjunto de datos de acceso a los datos de Amazon S3. Para obtener más información, consulte Paso 2: Configuración del acceso a los datos de Amazon S3.
Creación AWS KMS subsidios
Cuando los proporciona AWS KMS keys como parte de su conjunto de datos de acceso a los datos de Amazon S3, AWS Data Exchange
crea una AWS KMS concesión para cada uno de los datos AWS KMS key compartidos. Esta concesión, conocida como subvención principal, se utiliza para conceder AWS Data Exchange permiso a fin de crear AWS KMS subvenciones adicionales para los suscriptores. Estas concesiones adicionales se conocen como concesiones secundarias. A cada suscriptor se le permite una AWS KMS concesión. Los suscriptores obtienen permiso para descifrar el AWS KMS key. A continuación, pueden descifrar y utilizar los objetos cifrados de Amazon S3 compartidos con ellos. Para obtener más información, consulte Concesiones de AWS KMS en la Guía para desarrolladores de AWS Key Management Service .
AWS Data Exchange también usa la subvención AWS KMS principal para administrar el ciclo de vida de la AWS KMS subvención que crea. Cuando finaliza una suscripción, AWS Data Exchange retira la subvención AWS KMS secundaria creada para el suscriptor correspondiente. Si se revoca la revisión o se elimina el conjunto de datos, se AWS Data Exchange retira la AWS KMS subvención principal. Para obtener más información sobre AWS KMS las acciones, consulta la referencia de la AWS KMS
API.
Contexto de cifrado y restricciones de concesión
AWS Data Exchange usa restricciones de concesión para permitir la operación de descifrado solo cuando la solicitud incluye el contexto de cifrado especificado. Puede utilizar la función Bucket Key de Amazon S3 para cifrar sus objetos de Amazon S3 y compartirlos con ellos. AWS Data Exchange Amazon S3 utiliza implícitamente el nombre de recurso de Amazon (ARN) del bucket como contexto de cifrado. El siguiente ejemplo muestra que AWS Data Exchange utiliza el ARN del bucket como restricción de concesión para todas las AWS KMS subvenciones que crea.
"Constraints": {
"EncryptionContextSubset": "aws:s3:arn": “arn:aws:s3:::<Bucket ARN>"
}
}
Supervisando su AWS KMS keys in AWS Data Exchange
Cuando compartes con tus AWS KMS clientes las claves gestionadas AWS Data Exchange, puedes utilizarlas AWS CloudTrail para hacer un seguimiento de las solicitudes AWS Data Exchange o los datos a los que envían los suscriptores AWS KMS. Los siguientes son ejemplos del aspecto que tendrán tus CloudTrail registros para las Decrypt llamadas CreateGrant y a las que AWS KMS.
- CreateGrant for parent
-
CreateGrantse destina a subvenciones para padres creadas AWS Data Exchange por ella misma.
{
"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
-
CreateGrantse destina a las becas por hijos creadas AWS Data Exchange por los suscriptores.
{
"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
-
Los suscriptores llaman a Decrypt cuando intentan leer los datos cifrados a los que están suscritos.
{
"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"
}