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.
Uso de claves administradas por el cliente en Amazon QLDB
Puede utilizar la API AWS Management Console, AWS Command Line Interface (AWS CLI) o QLDB para especificar los libros de contabilidad nuevos y AWS KMS key los libros de contabilidad existentes en Amazon QLDB. Los siguientes temas describen cómo administrar y monitorizar el uso de las claves administradas por el cliente en QLDB.
Temas
Requisitos previos
Antes de poder proteger un libro mayor de QLDB con una clave gestionada por el cliente, primero debe crear la clave en (). AWS Key Management Service AWS KMS También debe especificar una política clave que permita a la QLDB crear subvenciones en su nombre AWS KMS key .
- Crear una clave administrada por el cliente
-
Para crear una clave administrada por el cliente, siga los pasos que se indican en la sección Creating symmetric encryption KMS keys en la Guía para desarrolladores de AWS Key Management Service . QLDB no admite claves asimétricas.
- Configurar una política de claves
-
Las políticas clave son la principal forma de controlar el acceso a las claves gestionadas por los clientes. AWS KMS Cada clave administrada por el cliente debe tener exclusivamente una política de clave. Las declaraciones en el documento de políticas de claves determinan quién tiene permiso para usar la clave KMS y cómo debe usar dicho permiso. Para obtener más información, consulte Uso de políticas clave en AWS KMS.
Cuando crea la clave administrada por el cliente, puede especificar una política de claves. Para cambiar una política de claves por una clave administrada por el cliente existente, consulte Cambiar una política de claves.
Para permitir que QLDB utilice su clave gestionada por el cliente, la política de claves debe incluir permisos para las siguientes acciones: AWS KMS
-
kms: CreateGrant — Añade una concesión a una clave gestionada por el cliente. Otorga acceso de control a una clave KMS específica.
Al crear o actualizar un libro mayor con una clave administrada por el cliente específica, QLDB crea concesiones que permiten el acceso a las operaciones de concesión que requiere. Las operaciones de concesiones incluyen lo siguiente:
-
kms: DescribeKey — Devuelve información detallada sobre una clave gestionada por el cliente. QLDB utiliza esta información para validar la clave.
Política de claves de ejemplo
A continuación, se muestra una política de claves de ejemplo que puede utilizar para QLDB. Esta política permite a entidades principales que están autorizadas a utilizar QLDB desde la
111122223333
cuenta realizar llamadas a las operacionesDescribeKey
yCreateGrant
del recursoarn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
.Para usar esta política, sustituya
us-east-1
111122223333
, y1234abcd-12ab-34cd-56ef-1234567890ab
en el ejemplo, por su propia información.{ "Version": "2012-10-17", "Statement": [ { "Sid" : "Allow access to principals authorized to use Amazon QLDB", "Effect" : "Allow", "Principal" : { "AWS" : "*" }, "Action" : [ "kms:DescribeKey", "kms:CreateGrant" ], "Resource" : "arn:aws:kms:
us-east-1
:111122223333
:key/1234abcd-12ab-34cd-56ef-1234567890ab
", "Condition" : { "StringEquals" : { "kms:ViaService" : "qldb.us-east-1
.amazonaws.com", "kms:CallerAccount" : "111122223333
" } } } ] } -
Especificar una AWS KMS key para un nuevo libro mayor
Siga estos pasos para especificar una clave KMS al crear un nuevo libro mayor mediante la consola de QLDB o la AWS CLI.
Puede especificar una clave administrada por el cliente utilizando un ID, un alias o el Nombre de recurso de Amazon (ARN). Para obtener más información, consulte los identificadores clave (KeyId) en la Guía para AWS Key Management Service desarrolladores.
nota
No se admiten claves entre regiones. La clave KMS especificada debe estar en el mismo lugar que Región de AWS el libro mayor.
-
Elija Crear libro mayor.
-
En la página Crear libro mayor, proceda del modo siguiente:
-
Información del libro mayor: introduzca un nombre de libro mayor que sea único entre todos los libros de contabilidad actuales y de la región. Cuenta de AWS
-
Modo de permisos: el modo de permisos que se va a asignar al libro mayor:
-
Permitir todo
-
Estándar (recomendado)
-
-
Cifrar datos en reposo: elija el tipo de clave KMS que se debe usarse para el cifrado en reposo:
-
Utilice una clave AWS de KMS propia: utilice una clave de KMS que sea de su propiedad y que administre AWS en su nombre. Esta es la opción predeterminada y no requiere ninguna configuración adicional.
-
Elige una AWS KMS clave diferente: usa una clave KMS de cifrado simétrico en tu cuenta que crees, poseas y administres.
Para crear una clave nueva mediante la AWS KMS consola, selecciona Crear una AWS KMS clave. Para más información, consulte Creación de claves de KMS de cifrado simétricas en la Guía para desarrolladores de AWS Key Management Service .
Para usar una clave de KMS existente, elija una de la lista desplegable o especifique un ARN de clave de KMS.
-
-
-
Cuando la configuración sea la deseada, elija Crear libro mayor.
Puede acceder a su libro mayor de QLDB cuando su estado pase a ser Activo. Esto puede tardar varios minutos.
Úselo AWS CLI para crear un libro mayor en QLDB con la clave Clave propiedad de AWS predeterminada o gestionada por el cliente.
ejemplo — Creación de un libro mayor con la Clave propiedad de AWS predeterminada
aws qldb create-ledger --name
my-example-ledger
--permissions-modeSTANDARD
ejemplo — Creación de un libro mayor con una clave administrada por el cliente
aws qldb create-ledger \ --name
my-example-ledger
\ --permissions-modeSTANDARD
\ --kms-keyarn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Actualización de la AWS KMS key de un libro mayor existente
También puede utilizar la consola QLDB o la para actualizar AWS CLI la clave KMS de un libro mayor existente a una clave gestionada por el cliente o a Clave propiedad de AWS una clave gestionada por el cliente en cualquier momento.
nota
Amazon QLDB lanzó el soporte para la AWS KMS keys gestión de clientes el 22 de julio de 2021. Todos los libros de contabilidad que se crearon antes del lanzamiento están protegidos de forma Claves propiedad de AWS predeterminada, pero actualmente no son aptos para el cifrado en reposo con claves administradas por el cliente.
Puede ver la hora de creación de su libro mayor en la consola de QLDB.
Los cambios de clave en QLDB son asíncronos. Mientras se procesa el cambio de clave, el registro es totalmente accesible sin ningún impacto en el rendimiento. El tiempo que tarda en actualizarse una clave varía según el tamaño del libro mayor.
Puede especificar una clave administrada por el cliente utilizando un ID, un alias o el Nombre de recurso de Amazon (ARN). Para obtener más información, consulte los identificadores de clave (KeyId) en la Guía AWS Key Management Service para desarrolladores.
nota
No se admiten claves entre regiones. La clave KMS especificada debe estar en el mismo lugar que Región de AWS el libro mayor.
-
En el panel de navegación, elija Libros mayores.
-
En la lista de libros mayores, seleccione el libro mayor que desee actualizar y, a continuación, elija Editar libro mayor.
-
En la página Editar libro mayor, elija el tipo de clave KMS que se utilizará para el cifrado en reposo:
-
Utilice una clave AWS de KMS propia: utilice una clave de KMS que sea de su propiedad y que administre en su nombre. AWS Esta es la opción predeterminada y no requiere ninguna configuración adicional.
-
Elige una AWS KMS clave diferente: usa una clave KMS de cifrado simétrico en tu cuenta que crees, poseas y administres.
Para crear una clave nueva mediante la AWS KMS consola, selecciona Crear una AWS KMS clave. Para más información, consulte Creación de claves de KMS de cifrado simétricas en la Guía para desarrolladores de AWS Key Management Service .
Para usar una clave de KMS existente, elija una de la lista desplegable o especifique un ARN de clave de KMS.
-
-
Seleccione Confirmar cambios.
Úselo AWS CLI para actualizar un libro mayor existente en QLDB con la clave Clave propiedad de AWS predeterminada o gestionada por el cliente.
ejemplo — Actualización de un libro mayor con la Clave propiedad de AWS predeterminada
aws qldb update-ledger --name
my-example-ledger
--kms-key AWS_OWNED_KMS_KEY
ejemplo — Actualización de un libro mayor con una clave administrada por el cliente
aws qldb update-ledger \ --name
my-example-ledger
\ --kms-keyarn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Monitoreo de AWS KMS keys
Si utilizas una clave gestionada por el cliente para proteger tus libros de contabilidad de Amazon QLDB, puedes utilizar AWS CloudTrail CloudWatch Amazon Logs para realizar un seguimiento de las solicitudes que QLDB envía en tu nombre. AWS KMS Para obtener más información, consulte Monitorear AWS KMS keys en la Guía para desarrolladores de AWS Key Management Service .
Los siguientes ejemplos son entradas de CloudTrail registro para las operacionesCreateGrant
,,, yGenerateDataKey
. Decrypt
Encrypt
DescribeKey
- CreateGrant
-
Cuando especifica una clave gestionada por el cliente para proteger su libro mayor, QLDB
CreateGrant
envía solicitudes en su nombre para permitir el acceso AWS KMS a su clave KMS. Además, QLDB utiliza la operaciónRetireGrant
para eliminar las concesiones cuando elimina un libro mayor.Las concesiones que crea QLDB son específicas de un libro mayor. La entidad principal en la solicitud
CreateGrant
es el usuario que creó la tabla.El evento que registra la operación
CreateGrant
es similar al siguiente evento de ejemplo. Los parámetros incluyen el nombre de recurso de Amazon (ARN) de la clave administrada por el cliente, la entidad principal beneficiaria, la entidad principal que retira la concesión (el servicio de QLDB) y las operaciones que cubre la concesión.{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAIOSFODNN7EXAMPLE:sample-user", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/sample-user", "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-06-04T21:37:11Z" } }, "invokedBy": "qldb.amazonaws.com" }, "eventTime": "2021-06-04T21:40:00Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "qldb.amazonaws.com", "userAgent": "qldb.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "granteePrincipal": "qldb.us-west-2.amazonaws.com", "operations": [ "DescribeKey", "GenerateDataKey", "Decrypt", "Encrypt" ], "retiringPrincipal": "qldb.us-west-2.amazonaws.com" }, "responseElements": { "grantId": "b3c83f999187ccc0979ef2ff86a1572237b6bba309c0ebce098c34761f86038a" }, "requestID": "e99188d7-3b82-424e-b63e-e086d848ed60", "eventID": "88dc7ba5-4952-4d36-9ca8-9ab5d9598bab", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }
- GenerateDataKey
-
Cuando especifica una clave administrada por el cliente para proteger su libro mayor, QLDB crea una clave de datos única. Envía una
GenerateDataKey
solicitud a la AWS KMS que se especifica la clave gestionada por el cliente para el libro mayor.El evento que registra la operación
GenerateDataKey
es similar al siguiente evento de ejemplo. El usuario es la cuenta del servicio QLDB. Los parámetros incluyen el ARN de la clave administrada por el cliente, un especificador de clave de datos que requiere una longitud de 32 bytes y el contexto de cifrado que identifica el nodo interno de la jerarquía de claves.{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "qldb.amazonaws.com" }, "eventTime": "2021-06-04T21:40:01Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "qldb.amazonaws.com", "userAgent": "qldb.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "numberOfBytes": 32, "encryptionContext": { "key-hierarchy-node-id": "LY4HWMnkeZWKYi6MlitVJC", "key-hierarchy-node-version": "1" } }, "responseElements": null, "requestID": "786977c9-e77c-467a-bff5-9ad5124a4462", "eventID": "b3f082cb-3e75-454e-bf0a-64be13075436", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "26688de5-0b1c-43d3-bc4f-a18029b08446" }
- Decrypt
-
Al acceder a un libro mayor, QLDB llama a la operación
Decrypt
para descifrar la clave de datos almacenada del libro mayor para que pueda acceder a los datos cifrados del libro mayor.El evento que registra la operación
Decrypt
es similar al siguiente evento de ejemplo. El usuario es la cuenta del servicio QLDB. Los parámetros incluyen el ARN de la clave administrada por el cliente y el contexto de cifrado que identifica el nodo interno de la jerarquía de claves.{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "qldb.amazonaws.com" }, "eventTime": "2021-06-04T21:40:56Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "qldb.amazonaws.com", "userAgent": "qldb.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "encryptionContext": { "key-hierarchy-node-id": "LY4HWMnkeZWKYi6MlitVJC", "key-hierarchy-node-version": "1" } }, "responseElements": null, "requestID": "28f2dd18-3cc1-4fe2-82f7-5154f4933ebf", "eventID": "603ad5d4-4744-4505-9c21-bd4a6cbd4b20", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "7b6ce3e3-a764-42ec-8f90-5418c97ec411" }
- Encrypt
-
QLDB llama a la operación
Encrypt
para cifrar texto sin formato en texto cifrado mediante la clave administrada por el cliente.El evento que registra la operación
Encrypt
es similar al siguiente evento de ejemplo. El usuario es la cuenta del servicio QLDB. Los parámetros incluyen el ARN de la clave administrada por el cliente y el contexto de cifrado que especifica el identificador único interno del libro mayor.{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "qldb.amazonaws.com" }, "eventTime": "2021-06-04T21:40:01Z", "eventSource": "kms.amazonaws.com", "eventName": "Encrypt", "awsRegion": "us-west-2", "sourceIPAddress": "qldb.amazonaws.com", "userAgent": "qldb.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "encryptionContext": { "LedgerId": "F6qRNziJLUXA4Vy2ZUv8YY" }, "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "b2daca7d-4606-4302-a2d7-5b3c8d30c64d", "eventID": "b8aace05-2e37-4fed-ae6f-a45a1c6098df", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "ce420ab0-288e-4b4f-aee8-541e18a28aa5" }
- DescribeKey
-
QLDB llama a la operación
DescribeKey
para determinar si la clave KMS que ha especificado existe en Cuenta de AWS y en la región.El evento que registra la operación
DescribeKey
es similar al siguiente evento de ejemplo. El principal es el usuario suyo Cuenta de AWS que especificó la clave KMS. Los parámetros incluyen el ARN de la clave administrada por el cliente.{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAIOSFODNN7EXAMPLE:sample-user", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/sample-user", "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-06-04T21:37:11Z" } }, "invokedBy": "qldb.amazonaws.com" }, "eventTime": "2021-06-04T21:40:00Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "qldb.amazonaws.com", "userAgent": "qldb.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "responseElements": null, "requestID": "a30586af-c783-4d25-8fda-33152c816c36", "eventID": "7a9caf07-2b27-44ab-afe4-b259533ebb88", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }