Cifrado de datos en reposo para Amazon DataZone
El cifrado de los datos en reposo de forma predeterminada ayuda a reducir la sobrecarga operativa y la complejidad que implica la protección de los datos confidenciales. Al mismo tiempo, le permite crear aplicaciones seguras que cumplen con los estrictos requisitos normativos y de conformidad con el cifrado.
Amazon DataZone utiliza claves predeterminadas propiedad de AWS para cifrar automáticamente los datos en reposo. No puede ver, administrar ni auditar el uso de las claves que sean propiedad de AWS. Para obtener más información, consulte Claves propiedad de AWS.
Si bien no puede deshabilitar esta capa de cifrado ni seleccionar un tipo de cifrado alternativo, puede elegir una clave administrada por el cliente al crear sus dominios de Amazon DataZone. Amazon DataZone admite el uso de claves simétricas administradas por el cliente que haya creado, posea y administre usted. Debido a que usted tiene control total sobre el cifrado, puede realizar las siguientes tareas:
-
Establecer y mantener políticas de claves.
-
Establecer y mantener políticas y concesiones de IAM.
-
Habilitar y deshabilitar políticas de claves.
-
Rotar el material criptográfico.
-
Agregar etiquetas.
-
Crear alias de claves.
-
Programar la eliminación de claves.
Para usar su propia clave, elija una clave administrada por el cliente al crear su dominio de Amazon DataZone.
Para obtener más información, consulte Customer managed keys.
Amazon DataZone habilita automáticamente el cifrado en reposo mediante claves propiedad de AWS para proteger sus datos sin coste alguno.
Se aplicarán cargos de AWS KMS cuando utilice una clave administrada por el cliente. Para obtener más información acerca de los precios, consulte Precios de AWS Key Management Service.
Cómo utiliza Amazon DataZone las concesiones en AWS KMS
Amazon DataZone requiere dos concesiones para utilizar su clave administrada por el cliente. Cuando usted crea un dominio de Amazon DataZone cifrado con una clave administrada por el cliente, Amazon DataZone crea concesiones en su nombre enviando solicitudes CreateGrant a AWS KMS. Las concesiones en AWS KMS se utilizan para otorgar a Amazon DataZone acceso a una clave de KMS en su cuenta. Amazon DataZone crea las siguientes concesiones con el objetivo de que pueda utilizar la clave administrada por el cliente para las siguientes operaciones internas:
Una concesión para cifrar los datos en reposo para las siguientes operaciones:
-
Enviar solicitudes DescribeKey a AWS KMS para comprobar que el ID de la clave KMS simétrica administrada por el cliente que se ha introducido al crear un dominio de Amazon DataZone es válido.
-
Enviar solicitudes GenerateDataKey a AWS KMS para generar claves de datos cifradas por su clave administrada por el cliente.
-
Enviar solicitudes Decrypt permite que Amazon DataZone descifre datos almacenados.
-
RetireGrant para retirar la concesión cuando se elimina el dominio.
Una concesión para la búsqueda y detección de sus datos:
Puede revocar el acceso a la concesión de la clave administrada por el cliente en cualquier momento. Si lo hace, Amazon DataZone no podrá acceder a ninguno de los datos cifrados por la clave administrada por el cliente, lo que afectará a las operaciones que dependen de esos datos.
Crear una clave administrada por el cliente
Puede crear una clave simétrica administrada por el cliente mediante la consola de administración de AWS o las API de AWS.
Para crear una clave simétrica administrada por el cliente, siga los pasos indicados en Creación de clave simétrica administrada por el cliente de la Guía para desarrolladores de AWS.
Política de claves: las políticas de claves controlan el acceso a la clave administrada por el cliente. cliente o a su cuenta y región.Cada clave administrada por el cliente debe tener exactamente una política de clave, que contiene instrucciones que determinan quién puede usar la clave y cómo puede utilizarla. Cuando crea la clave administrada por el cliente, puede especificar una política de clave. Para obtener más información, consulte Managing access to customer managed keys en la Guía para desarrolladores de AWS Key Management Service.
Para utilizar su clave administrada por el cliente con sus recursos de Amazon DataZone, en la política de claves deben permitirse las siguientes operaciones de API:
-
kms:CreateGrant: añade una concesión a una clave administrada por el cliente. Otorga el acceso de control a una clave KMS específica, que permite acceder a las operaciones de concesión que requieren Amazon DataZone. Para más información sobre el uso de concesiones, consulte la Guía para desarrolladores de AWS Key Management Service.
-
kms:DescribeKey: proporciona los detalles de la clave administrada por el cliente y permite que Amazon DataZone valide la clave.
-
kms:GenerateDataKey: devuelve una clave de datos simétrica única para usarla fuera de AWS KMS.
-
KMS:Decrypt: descifra texto cifrado con una clave de KMS.
Los siguientes son ejemplos de declaraciones de política que puede agregar para Amazon DataZone.
"Statement": [
{
"Sid": "Enable IAM User Permissions for DescribeKey",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:DescribeKey",
"Resource": "arn:aws:kms:region:111122223333:key/key_ID"
},
{
"Sid": "Allow access to principals authorized to manage Amazon DataZone",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey"
],
"Resource": "arn:aws:kms:region:111122223333:key/key_ID",
"Condition": {
"ForAnyValue:StringEquals": {
"kms:EncryptionContextKeys": "aws:datazone:domainId"
}
}
},
{
"Sid": "Allow creating grants when creating an Amazon DataZone for all principals in the account that are authorized to manage Amazon DataZone",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:CreateGrant",
"Resource": "arn:aws:kms:region:111122223333:key/key_ID",
"Condition": {
"StringLike": {
"kms:CallerAccount": "111122223333",
"kms:ViaService": "datazone.region.amazonaws.com"
},
"Bool": {
"kms:GrantIsForAWSResource": "true"
},
"ForAnyValue:StringEquals": {
"kms:EncryptionContextKeys": "aws:datazone:domainId"
}
}
}
]
El portal de datos de Amazon DataZone recibe acceso a la clave administrada por el cliente a través de la entidad principal del rol de ejecución del dominio.
Para obtener más información sobre la especificación de permisos en una política, consulte la Guía para desarrolladores de AWS Key Management Service.
Para más información sobre la solución de problemas de acceso a claves, consulte la Guía para desarrolladores de AWS Key Management Service.
Especificar una clave administrada por el cliente para Amazon DataZone
Puede especificar una clave administrada por el cliente como cifrado de segunda capa durante la creación del dominio.
Contexto de cifrado de Amazon DataZone
Un contexto de cifrado es un conjunto opcional de pares clave-valor que pueden contener información contextual adicional sobre los datos.
AWS KMS utiliza contextos de cifrado como los datos autenticados adicionales para ser compatible con el cifrado autenticado. Cuando se incluye un contexto de cifrado en una solicitud para cifrar datos, AWS KMS vincula el contexto de cifrado a los datos cifrados. Para descifrar los datos, debe incluir el mismo contexto de cifrado en la solicitud.
Amazon DataZone usa el contexto de cifrado para lo siguiente:
"encryptionContextSubset": {
"aws:datazone:domainId": "{dzd_samleid}"
}
Para la supervisión: si utiliza una clave simétrica administrada por el cliente para cifrar los datos de Amazon DataZone, también puede utilizar el contexto de cifrado en registros y en registros de auditoría para identificar cómo se está utilizando la clave administrada por el cliente. El contexto de cifrado también aparece en los registros generados por AWS CloudTrail o en los registros de Amazon CloudWatch.
Utilizar el contexto de cifrado para controlar el acceso a su clave administrada por el cliente: usted puede utilizar el contexto de cifrado en políticas de claves y políticas de IAM como condiciones para controlar el acceso a su clave simétrica administrada por el cliente. Puede usar también una restricción de contexto de cifrado en una concesión.
Amazon DataZone utiliza el contexto de cifrado para restringir las concesiones que permiten el acceso a la clave administrada por el cliente en su cuenta y región. La restricción de concesión requiere que las operaciones que permite la concesión utilicen el contexto de cifrado especificado.
Los siguientes son ejemplos de declaraciones de política de claves para conceder acceso a una clave administrada por el cliente para un contexto de cifrado específico.
{
"Sid": "Enable DescribeKey",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/ExampleRole"
},
"Action": "kms:DescribeKey",
"Resource": "arn:aws:kms:region:111122223333:key/key_ID"
},
{
"Sid": "Allow access to principal to manage an Amazon DataZone domain with the given domain id",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/ExampleRole"
},
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey"
],
"Resource": "arn:aws:kms:region:111122223333:key/key_ID",
"Condition": {
"StringEquals": {
"kms:EncryptionContext:aws:datazone:domainId": "dzd_sampleid"
}
}
},
{
"Sid": "Allow creating grants when creating an Amazon DataZone domain to principal",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/ExampleRole"
},
"Action": "kms:CreateGrant",
"Resource": "arn:aws:kms:region:111122223333:key/key_ID",
"Condition": {
"StringLike": {
"kms:CallerAccount": "111122223333",
"kms:ViaService": "datazone.region.amazonaws.com"
},
"Bool": {
"kms:GrantIsForAWSResource": "true"
},
"ForAnyValue:StringEquals": {
"kms:EncryptionContextKeys": "aws:datazone:domainId"
}
}
}
Supervisión de sus claves de cifrado para Amazon DataZone
Cuando utiliza una clave administrada por el cliente de AWS KMS con sus recursos de Amazon DataZone, puede utilizar AWS CloudTrail para realizar un seguimiento de las solicitudes que Amazon DataZone envía a AWS KMS. Los siguientes ejemplos son eventos de AWS CloudTrail para CreateGrant, GenerateDataKey, Decrypt y RetireGrant para supervisar las operaciones de KMS solicitadas por Amazon DataZone con el objetivo de acceder a los datos que se han cifrado con su clave administrada por el cliente.
- CreateGrant
-
Cuando utiliza una clave administrada por el cliente de AWS KMS para cifrar su dominio Amazon DataZone, Amazon DataZone envía una solicitud de CreateGrant en su nombre para acceder a la clave de KMS en su cuenta de AWS. Las concesiones que Amazon DataZone crea son específicas para el recurso asociado a la clave administrada por el cliente AWS KMS. Además, Amazon DataZone utiliza la operación RetireGrant para eliminar una concesión cuando se elimina un dominio.
El siguiente evento de ejemplo registra la operación CreateGrant:
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
"arn": "arn:aws:sts::111122223333:assumed-role/Example/Sampleuser01",
"accountId": "111122223333",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAIGDTESTANDEXAMPLE",
"arn": "arn:aws:iam::111122223333:role/Example",
"accountId": "111122223333",
"userName": "Example"
},
"attributes": {
"creationDate": "2024-04-22T17:02:00Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "datazone.amazonaws.com"
},
"eventTime": "2024-04-22T17:02:00Z",
"eventSource": "kms.amazonaws.com",
"eventName": "CreateGrant",
"awsRegion": "us-east-2",
"sourceIPAddress": "datazone.amazonaws.com",
"userAgent": "datazone.amazonaws.com",
"requestParameters": {
"retiringPrincipal": "datazone.us-east-2.amazonaws.com",
"operations": [
"GenerateDataKey",
"RetireGrant",
"DescribeKey",
"Decrypt"
],
"granteePrincipal": "datazone.us-east-2.amazonaws.com",
"constraints": {
"encryptionContextSubset": {
"aws:datazone:domainId": "dzd_sampleid"
}
},
"keyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
},
"responseElements": {
"grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
"keyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
},
"requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"readOnly": false,
"resources": [
{
"accountId": "111122223333",
"type": "AWS::KMS::Key",
"ARN": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"eventCategory": "Management",
"sessionCredentialFromConsole": "true"
}
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
"arn": "arn:aws:sts::111122223333:assumed-role/Example/Sampleuser01",
"accountId": "111122223333",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAIGDTESTANDEXAMPLE",
"arn": "arn:aws:iam::111122223333:role/Example",
"accountId": "111122223333",
"userName": "Example"
},
"attributes": {
"creationDate": "2024-04-22T17:10:00Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "datazone.amazonaws.com"
},
"eventTime": "2024-04-22T17:49:00Z",
"eventSource": "kms.amazonaws.com",
"eventName": "CreateGrant",
"awsRegion": "us-east-2",
"sourceIPAddress": "datazone.amazonaws.com",
"userAgent": "datazone.amazonaws.com",
"requestParameters": {
"retiringPrincipal": "datazone.us-east-2.amazonaws.com",
"operations": [
"DescribeKey",
"Decrypt"
],
"granteePrincipal": "datazone.us-east-2.amazonaws.com",
"constraints": {
"encryptionContextSubset": {
"aws:datazone:domainId": "dzd_sampleid"
}
},
"keyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
},
"responseElements": {
"grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
"keyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
},
"requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"readOnly": false,
"resources": [
{
"accountId": "111122223333",
"type": "AWS::KMS::Key",
"ARN": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"eventCategory": "Management",
"sessionCredentialFromConsole": "true"
}
- GenerateDataKey
-
Cuando activa una clave administrada por el cliente de AWS KMS para el dominio de Amazon DataZone, Amazon DataZone genera claves de datos. Envía una solicitud GenerateDataKey a AWS KMS que especifica la clave administrada por el cliente de AWS KMS para el dominio.
El siguiente evento de ejemplo registra la operación GenerateDataKey:
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAIGDTESTANDEXAMPLE:AmazonSageMakerDomainExecution",
"arn": "arn:aws:sts::111122223333:assumed-role/AmazonSageMakerDomainExecution/AmazonSageMakerDomainExecution",
"accountId": "111122223333",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAIGDTESTANDEXAMPLE",
"arn": "arn:aws:iam::111122223333:role/service-role/AmazonSageMakerDomainExecution",
"accountId": "111122223333",
"userName": "AmazonSageMakerDomainExecution"
},
"attributes": {
"creationDate": "2024-04-22T19:50:39Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "datazone.amazonaws.com"
},
"eventTime": "2024-04-22T19:50:40Z",
"eventSource": "kms.amazonaws.com",
"eventName": "GenerateDataKey",
"awsRegion": "us-east-2",
"sourceIPAddress": "datazone.amazonaws.com",
"userAgent": "datazone.amazonaws.com",
"requestParameters": {
"keySpec": "AES_256",
"encryptionContext": {
"aws:datazone:domainId": "dzd_sampleid",
"V": "2024-04-22T17:49:12.98177136Z|cacf3df7-7b99-49f6-ae14-sample",
"version": "0",
"N": "dzd_sampleid|arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
"*aws-kms-table*": "awsdatazoneroaring-data-store-datakeys-prod-us-east-2"
},
"keyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
},
"responseElements": null,
"requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"readOnly": true,
"resources": [
{
"accountId": "111122223333",
"type": "AWS::KMS::Key",
"ARN": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"eventCategory": "Management"
}
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AWSService",
"invokedBy": "AWS Internal"
},
"eventTime": "2024-04-22T19:50:40Z",
"eventSource": "kms.amazonaws.com",
"eventName": "GenerateDataKey",
"awsRegion": "us-east-2",
"sourceIPAddress": "AWS Internal",
"userAgent": "AWS Internal",
"requestParameters": {
"encryptionContext": {
"aws:datazone:domainId": "dzd_sampleid",
"aws:s3:arn": "arn:aws:s3:::amazon-datazone-us-east-2-422ceee9465430bdb354d1c9efsample"
},
"keyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
"keySpec": "AES_256"
},
"responseElements": null,
"requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"readOnly": true,
"resources": [
{
"accountId": "111122223333",
"type": "AWS::KMS::Key",
"ARN": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"sharedEventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventCategory": "Management"
}
- Decrypt
-
Cuando accede a un dominio cifrado de Amazon DataZone, Amazon DataZone llama a la operación Decrypt para utilizar la clave de datos cifrados almacenada a fin de acceder a los datos cifrados.
El siguiente evento de ejemplo registra la operación Decrypt:
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAIGDTESTANDEXAMPLE:AmazonSageMakerDomainExecution",
"arn": "arn:aws:sts::111122223333:assumed-role/AmazonSageMakerDomainExecution/AmazonSageMakerDomainExecution",
"accountId": "111122223333",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAIGDTESTANDEXAMPLE",
"arn": "arn:aws:iam::111122223333:role/service-role/AmazonSageMakerDomainExecution",
"accountId": "111122223333",
"userName": "AmazonSageMakerDomainExecution"
},
"attributes": {
"creationDate": "2024-04-22T19:50:39Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "datazone.amazonaws.com"
},
"eventTime": "2024-04-22T19:51:54Z",
"eventSource": "kms.amazonaws.com",
"eventName": "Decrypt",
"awsRegion": "us-east-2",
"sourceIPAddress": "datazone.amazonaws.com",
"userAgent": "datazone.amazonaws.com",
"requestParameters": {
"encryptionAlgorithm": "SYMMETRIC_DEFAULT",
"encryptionContext": {
"aws:datazone:domainId": "dzd_sampleid",
"V": "2024-04-22T17:49:12.98177136Z|cacf3df7-7b99-49f6-ae14-sample",
"version": "0",
"N": "dzd_sampleid|arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
"*aws-kms-table*": "awsdatazoneroaring-data-store-datakeys-prod-us-east-2"
}
},
"responseElements": null,
"requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"readOnly": true,
"resources": [
{
"accountId": "111122223333",
"type": "AWS::KMS::Key",
"ARN": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"eventCategory": "Management"
}
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AWSService",
"invokedBy": "datazone.amazonaws.com"
},
"eventTime": "2024-04-22T19:51:54Z",
"eventSource": "kms.amazonaws.com",
"eventName": "Decrypt",
"awsRegion": "us-east-2",
"sourceIPAddress": "datazone.amazonaws.com",
"userAgent": "datazone.amazonaws.com",
"requestParameters": {
"encryptionContext": {
"aws:datazone:domainId": "dzd_sampleid",
"V": "2024-04-22T17:49:12.98177136Z|cacf3df7-7b99-49f6-ae14-sample",
"version": "0",
"N": "dzd_sampleid|arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
"*aws-kms-table*": "awsdatazoneroaring-data-store-datakeys-prod-us-east-2"
},
"encryptionAlgorithm": "SYMMETRIC_DEFAULT"
},
"responseElements": null,
"requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"readOnly": true,
"resources": [
{
"accountId": "111122223333",
"type": "AWS::KMS::Key",
"ARN": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"sharedEventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventCategory": "Management"
}
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AWSService",
"invokedBy": "AWS Internal"
},
"eventTime": "2024-04-22T19:51:54Z",
"eventSource": "kms.amazonaws.com",
"eventName": "Decrypt",
"awsRegion": "us-east-2",
"sourceIPAddress": "AWS Internal",
"userAgent": "AWS Internal",
"requestParameters": {
"encryptionAlgorithm": "SYMMETRIC_DEFAULT",
"encryptionContext": {
"aws:datazone:domainId": "dzd_sampleid",
"aws:s3:arn": "arn:aws:s3:::amazon-datazone-us-east-2-422ceee9465430bdb354d1c9efsample"
}
},
"responseElements": null,
"requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"readOnly": true,
"resources": [
{
"accountId": "111122223333",
"type": "AWS::KMS::Key",
"ARN": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"sharedEventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventCategory": "Management"
}
- RetireGrant
-
El siguiente evento de ejemplo registra la operación RetireGrant:
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AWSService",
"invokedBy": "datazone.amazonaws.com"
},
"eventTime": "2025-04-29T22:18:50Z",
"eventSource": "kms.amazonaws.com",
"eventName": "RetireGrant",
"awsRegion": "us-east-2",
"sourceIPAddress": "datazone.amazonaws.com",
"userAgent": "datazone.amazonaws.com",
"requestParameters": null,
"responseElements": {
"keyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
},
"additionalEventData": {
"grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE"
},
"requestID": "294308c0-7617-4727-b5c9-34eaf75aa8e3",
"eventID": "273708f7-5fbb-3a90-b04d-2b3138bf0ec9",
"readOnly": false,
"resources": [
{
"accountId": "111122223333",
"type": "AWS::KMS::Key",
"ARN": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"sharedEventID": "b46377d7-b3c3-4bfd-a257-722bd3f3411d",
"eventCategory": "Management"
}
Creación de entornos de lago de datos que incluyen catálogos cifrados de AWS Glue
En casos de uso avanzado, cuando se trabaja con un catálogo cifrado de AWS Glue, debe conceder acceso al servicio Amazon DataZone para usar su clave de KMS administrada por el cliente. Para ello, actualice su política de KMS personalizada y añada una etiqueta a la clave. Para conceder acceso al servicio Amazon DataZone con el objetivo de trabajar con los datos de un catálogo cifrado de AWS Glue, siga estos pasos:
-
Agregue la siguiente política a su clave personalizada de KMS. Para obtener más información, consulte Changing a key policy.
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "Allow datazone environment roles to decrypt using the key",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"kms:Decrypt"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:EncryptionContext:glue_catalog_id": "<GLUE_CATALOG_ID>"
},
"ArnLike": {
"aws:PrincipalArn": [
"arn:aws:iam::111122223333:role/*datazone_usr*",
"arn:aws:iam::444455556666:role/*datazone_usr*"
]
}
}
},
{
"Sid": "Allow datazone environment roles to describe the key",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"ArnLike": {
"aws:PrincipalArn": [
"arn:aws:iam::111122223333:role/*datazone_usr*",
"arn:aws:iam::444455556666:role/*datazone_usr*"
]
}
}
}
]
}
-
Debe modificar los ARN de "aws:PrincipalArn" de la política utilizando los ID de las cuenta en las que desee crear los entornos. Cada cuenta en la que desee crear un entorno debe figurar en la política como "aws:PrincipalArn".
-
También debe reemplazar <GLUE_CATALOG_ID> por el ID válido de la cuenta de AWS en la que se encuentra su catálogo de AWS Glue.
-
Tenga en cuenta que esta política concede acceso para usar la clave a todos los roles de usuario del entorno de Amazon DataZone en las cuentas especificadas. Si solo quiere permitir que determinados roles de usuario del entorno utilicen la clave, debe especificar el nombre completo del rol de usuario del entorno (por ejemplo, arn:aws:iam::<ENVIRONMENT_ACCOUNT_ID>:role/datazone_usr_<ENVIRONMENT_ID>, donde <ENVIRONMENT_ID> es el ID del entorno) en lugar del formato con comodín.
-
Agregue la siguiente etiqueta a su clave personalizada de KMS. Para obtener más información, consulte Using tags to control access to KMS keys.
key: AmazonDataZoneEnvironment
value: all