Política de claves predeterminada - AWS Key Management Service

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.

Política de claves predeterminada

Al crear una clave KMS, puede especificar la política de claves para la nueva clave KMS. Si no la proporciona, AWS KMS crea una para usted. La política de claves predeterminada que se AWS KMS utiliza varía en función de si se crea la clave en la AWS KMS consola o se utiliza la AWS KMS API.

Política de claves predeterminada al crear una clave KMS mediante programación

Cuando se crea una clave de KMS mediante programación con la AWS KMS API (incluso mediante los AWS SDK AWS Tools for PowerShell) y no se especifica una política de claves, AWS KMS se aplica una política de claves predeterminada muy simple. AWS Command Line Interface Esta política de claves predeterminada tiene una declaración de política que otorga al propietario de la Cuenta de AWS clave de KMS permiso para usar las políticas de IAM a fin de permitir el acceso a todas las AWS KMS operaciones de la clave de KMS. Para obtener más información sobre esta declaración de política, consulte Permite el acceso a la Cuenta de AWS y habilita las políticas de IAM.

Política de claves predeterminada al crear una clave KMS con AWS Management Console

Al crear una clave de KMS con la AWS Management Console, la política clave comienza con la declaración de política que permite el acceso a las políticas de IAM Cuenta de AWS y las habilita. A continuación, la consola añade una declaración del administrador clave, una declaración de los usuarios clave y (para la mayoría de los tipos de claves) una declaración que permite a los directores utilizar la clave de KMS con otros AWS servicios. Puede utilizar las funciones de la AWS KMS consola para especificar los usuarios de IAM, los roles de IAM y Cuentas de AWS quiénes son los administradores clave y los usuarios clave (o ambos).

Permisos

Permite el acceso a la Cuenta de AWS y habilita las políticas de IAM

La siguiente declaración de política de claves predeterminada es fundamental.

  • Otorga al propietario Cuenta de AWS de la clave KMS acceso completo a la clave KMS.

    A diferencia de otras políticas de AWS recursos, una política AWS KMS clave no otorga automáticamente permisos a la cuenta ni a ninguna de sus identidades. Para conceder permisos a los administradores de cuentas, la política de claves debe incluir una declaración explícita que proporcione este permiso, de forma similar a ésta.

  • Permite que la cuenta utilice las políticas de IAM para permitir el acceso a la clave KMS, además de la política de claves.

    Sin este permiso, las políticas de IAM que permiten el acceso a la clave son ineficaces, aunque las políticas de IAM que deniegan el acceso a la clave siguen siendo eficaces.

  • Reduce el riesgo de que la clave deje de poder administrarse dando permiso de control de acceso a los administradores de la cuenta, incluido el usuario raíz de la cuenta, que no se puede eliminar.

La siguiente declaración de política de claves es toda la política de claves predeterminada para las claves KMS creadas mediante programación. Es la primera declaración de política de la política de claves predeterminada para las claves de KMS creadas en la AWS KMS consola.

{ "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }
Permite que las políticas de IAM permitan el acceso a la clave KMS.

La declaración de política clave Cuenta de AWS que se muestra arriba otorga al propietario de la clave permiso para usar las políticas de IAM, así como las políticas clave, para permitir todas las acciones (kms:*) en la clave de KMS.

La entidad principal en esta declaración de política de claves es la entidad principal de la cuenta, que está representada por un ARN en este formato: arn:aws:iam::account-id:root. El principal de la cuenta representa a la AWS cuenta y a sus administradores.

Cuando la entidad principal de una declaración de política de claves es la entidad principal de la cuenta, la declaración de política no concede permisos a ninguna entidad principal de IAM para utilizar la clave KMS. En su lugar, permite que la cuenta utilice las políticas de IAM para delegar los permisos especificados en la declaración de la política. Esta declaración de política de claves predeterminada permite a la cuenta utilizar las políticas de IAM para delegar el permiso para todas las acciones (kms:*) en la clave KMS.

reduce el riesgo de que la clave KMS deje de poder administrarse.

A diferencia de otras políticas de AWS recursos, una política AWS KMS clave no otorga automáticamente permisos a la cuenta ni a ninguno de sus directores. Para dar permisos a cualquier entidad principal, incluida la entidad principal de la cuenta, debe utilizar una declaración de política de claves que proporcione los permisos de forma explícita. No es necesario dar a la entidad principal de la cuenta, ni a ninguna entidad principal, acceso a la clave KMS. Sin embargo, dar acceso a la entidad principal de la cuenta le ayuda a evitar que la clave deje de poder administrarse.

Por ejemplo, supongamos que se crea una política de claves que da acceso a la clave KMS a un solo usuario. Si posteriormente elimina ese usuario, la clave deja de poder administrarse y deberá ponerse en contacto con el servicio de asistencia de AWS para recuperar el acceso a la clave KMS.

La declaración de política clave que se muestra arriba permite controlar la clave del principal de la cuenta, que lo representa a él Cuenta de AWS y a sus administradores, incluido el usuario raíz de la cuenta. La cuenta de usuario raíz es la única entidad principal que no se puede eliminar a menos que se elimine la cuenta de Cuenta de AWS. Las prácticas recomendadas de IAM desaconsejan actuar en nombre del usuario raíz de la cuenta, excepto en caso de emergencia. Sin embargo, es posible que tenga que actuar como usuario raíz de la cuenta si elimina todos los demás usuarios y funciones con acceso a la clave KMS.

Permite que los administradores de claves administren la clave KMS

La política de claves predeterminada creada por la consola le permite elegir usuarios y roles de IAM de la cuenta y convertirlos en administradores de claves. Esta declaración se denomina la declaración de los administradores de claves. Los administradores de claves tienen permisos para administrar la clave KMS, pero no para utilizar la clave KMS en operaciones criptográficas. Puede agregar usuarios y roles de IAM a la lista de administradores de claves al crear la clave KMS en la vista predeterminada o en la vista de política.

aviso

Como los administradores de claves tienen permiso para cambiar la política de claves y crear concesiones, pueden concederse a sí mismos y a otras personas AWS KMS permisos no especificados en esta política.

Las entidades principales que tienen permiso para administrar etiquetas y alias también pueden controlar el acceso a una clave KMS. Para obtener más detalles, consulte ABAC para AWS KMS.

nota

Las prácticas recomendadas de IAM desalientan el uso de usuarios de IAM con credenciales a largo plazo. Siempre que sea posible, utilice los roles de IAM, que proporcionan credenciales temporales. Para obtener más información, consulte la sección Prácticas recomendadas de seguridad de IAM en la Guía del usuario de IAM;.

En el siguiente ejemplo se muestra la declaración de los administradores de claves en la vista predeterminada de la consola de AWS KMS .

Administradores de claves en la política de claves predeterminada de la consola, vista predeterminada

A continuación se muestra un ejemplo de declaración de los administradores de claves en la vista de política de la consola de AWS KMS . Esta declaración de los administradores de claves es para una clave KMS de cifrado simétrica de una sola región.

{ "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": {"AWS":"arn:aws:iam::111122223333:role/ExampleAdminRole"}, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion", "kms:RotateKeyOnDemand" ], "Resource": "*" }

La declaración de los administradores de claves predeterminada para la clave KMS más común, una clave KMS de cifrado simétrica de una región única, permite los siguientes permisos. Para obtener información detallada sobre cada permiso, consulte la AWS KMS permisos.

Al usar la AWS KMS consola para crear una clave KMS, la consola agrega los usuarios y roles que especifique al Principal elemento en la declaración del administrador clave.

Muchos de estos permisos contienen el carácter comodín (*), que permite todos los permisos que empiezan por el verbo especificado. Como resultado, cuando se AWS KMS añaden nuevas operaciones de API, los administradores de claves pueden utilizarlas automáticamente. No es necesario actualizar las políticas de claves para incluir las nuevas operaciones. Si prefiere limitar sus administradores de claves a un conjunto fijo de operaciones de API, puede cambiar la política de claves.

kms:Create*

Permite kms:CreateAlias y kms:CreateGrant. (El permiso kms:CreateKey solo es válido en una política de IAM).

kms:Describe*

Permite kms:DescribeKey. Se requiere el permiso kms:DescribeKey para ver la página de detalles de clave de una clave KMS en la AWS Management Console.

kms:Enable*

Permite kms:EnableKey. Para las claves KMS de cifrado simétricas, también se permite kms:EnableKeyRotation.

kms:List*

Permite kms:ListGrants, kms:ListKeyPolicies y kms:ListResourceTags. (Los permisos kms:ListAliases y kms:ListKeys, necesarios para ver las claves KMS en la AWS Management Console, solo son válidos en las políticas de IAM.)

kms:Put*

Permite kms:PutKeyPolicy. Este permiso permite a los administradores de claves cambiar la política de claves de esta clave KMS.

kms:Update*

Permite kms:UpdateAlias y kms:UpdateKeyDescription. Para las claves de varias regiones, permite kms:UpdatePrimaryRegion en esta clave KMS.

kms:Revoke*

Permite kms:RevokeGrant, que permite a los administradores de claves eliminar una concesión incluso si no son una entidad principal retirada en la concesión.

kms:Disable*

Permite kms:DisableKey. Para las claves KMS de cifrado simétricas, también se permite kms:DisableKeyRotation.

kms:Get*

Permite kms:GetKeyPolicy y kms:GetKeyRotationStatus. Para claves KMS con material de claves importado, permite kms:GetParametersForImport. Para claves KMS asimétricas, permite kms:GetPublicKey. Se requiere el permiso kms:GetKeyPolicy para ver la política de claves de una clave KMS en la AWS Management Console.

kms:Delete*

Permite kms:DeleteAlias. Para claves con material de claves importado, permite kms:DeleteImportedKeyMaterial. El permiso kms:Delete* no permite a los administradores de claves eliminar la clave KMS (ScheduleKeyDeletion).

kms:TagResource

Permite kms:TagResource, que permite a los administradores de claves agregar etiquetas a la clave KMS. Dado que las etiquetas también se pueden utilizar para controlar el acceso a la clave KMS, este permiso permite a los administradores permitir o denegar el acceso a la clave KMS. Para obtener más detalles, consulte ABAC para AWS KMS.

kms:UntagResource

Permite kms:UntagResource, que permite a los administradores de claves eliminar etiquetas de la clave KMS. Dado que las etiquetas se pueden utilizar para controlar el acceso a la clave, este permiso permite a los administradores permitir o denegar el acceso a la clave KMS. Para obtener más detalles, consulte ABAC para AWS KMS.

kms:ScheduleKeyDeletion

Permite kms:ScheduleKeyDeletion, que permite a los administradores de claves eliminar esta clave KMS. Para eliminar este permiso, desactive la opción Allow key administrators to delete this key (Permitir a los administradores de claves eliminar esta clave).

kms:CancelKeyDeletion

Permite kms:CancelKeyDeletion, que permite a los administradores de claves cancelar la eliminación de esta clave KMS. Para eliminar este permiso, desactive la opción Allow key administrators to delete this key (Permitir a los administradores de claves eliminar esta clave).

kms:RotateKeyOnDemand

Permite kms:RotateKeyOnDemand, lo que permite a los administradores de claves realizar la rotación bajo demanda del material clave de esta clave de KMS.

 

AWS KMS añade los siguientes permisos a la declaración predeterminada del administrador de claves al crear claves de uso especial.

kms:ImportKeyMaterial

El permiso kms:ImportKeyMaterial permite a los administradores de claves importar material de claves KMS. Este permiso solo se incluye en la política de claves cuando crea una clave KMS sin material de claves.

kms:ReplicateKey

El kms:ReplicateKeypermiso permite a los administradores de claves crear una réplica de una clave principal multirregional en otra región. AWS Este permiso solo se incluye en la política de claves cuando crea una clave principal o de réplica de varias regiones.

kms:UpdatePrimaryRegion

El permiso kms:UpdatePrimaryRegion permite a los administradores de claves cambiar una clave de réplica de varias regiones a una clave principal de varias regiones. Este permiso solo se incluye en la política de claves cuando crea una clave principal o de réplica de varias regiones.

Permite a los usuarios de claves utilizar la clave KMS

La política de claves predeterminada que la consola crea para las claves de KMS permite elegir los usuarios y roles de IAM en la cuenta y los externos Cuentas de AWS, y convertirlos en usuarios clave.

La consola agrega dos declaraciones de política a la política de claves para los usuarios de claves.

Puede añadir usuarios de IAM, funciones de IAM y otros Cuentas de AWS a la lista de usuarios clave al crear la clave de KMS. También puede editar la lista con la vista predeterminada de la consola para las políticas de claves, tal como se muestra en la siguiente imagen. La vista predeterminada de las políticas de claves está disponible en la página de detalles de clave. Para obtener más información sobre cómo permitir que los usuarios de otros países Cuentas de AWS usen la clave de KMS, consulte. Permitir a los usuarios de otras cuentas utilizar una clave KMS

nota

Las prácticas recomendadas de IAM desalientan el uso de usuarios de IAM con credenciales a largo plazo. Siempre que sea posible, utilice los roles de IAM, que proporcionan credenciales temporales. Para obtener más información, consulte la sección Prácticas recomendadas de seguridad de IAM en la Guía del usuario de IAM;.

Usuarios de claves en la política de claves predeterminada de la consola, vista predeterminada

Las declaraciones de usuarios de claves predeterminadas para una clave simétrica de región única permite los siguientes permisos. Para obtener información detallada sobre cada permiso, consulte la AWS KMS permisos.

Cuando utiliza la AWS KMS consola para crear una clave KMS, la consola agrega los usuarios y roles que especifique al Principal elemento de la declaración de cada usuario clave.

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:role/ExampleRole", "arn:aws:iam::444455556666:root" ]}, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:role/ExampleRole", "arn:aws:iam::444455556666:root" ]}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} }

Permite a los usuarios de claves utilizar una clave KMS para las operaciones criptográficas

Los usuarios de claves tienen permiso para usar la clave KMS directamente en todas las operaciones criptográficas admitidas en la clave KMS. También pueden usar la DescribeKeyoperación para obtener información detallada sobre la clave de KMS en la AWS KMS consola o mediante las operaciones de la AWS KMS API.

De forma predeterminada, la AWS KMS consola añade las declaraciones de los usuarios clave, como las de los ejemplos siguientes, a la política de claves predeterminada. Debido a que son compatibles con diferentes operaciones de la API, las acciones en las declaraciones de la política para las claves KMS de cifrado simétricas, claves KMS HMAC, claves KMS asimétricas para el cifrado de claves público y las claves KMS asimétricas para la firma y la verificación son ligeramente diferentes.

Claves KMS de cifrado simétricas

La consola agrega la siguiente declaración a la política de claves para claves KMS de cifrado simétricas.

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/ExampleKeyUserRole"}, "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*" ], "Resource": "*" }
Claves KMS HMAC

La consola agrega la siguiente declaración a la política de claves para claves KMS HMAC.

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/ExampleKeyUserRole"}, "Action": [ "kms:DescribeKey", "kms:GenerateMac", "kms:VerifyMac" ], "Resource": "*" }
Claves KMS asimétricas para el cifrado de claves públicas

La consola agrega la siguiente declaración a la política de claves para claves KMS asimétricas con un uso de claves de Encrypt and decrypt (Cifrar y descifrar).

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleKeyUserRole" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:DescribeKey", "kms:GetPublicKey" ], "Resource": "*" }
Claves KMS asimétricas para la firma y la verificación

La consola agrega la siguiente declaración a la política de claves para claves KMS asimétricas con un uso de claves de Sign and verify (Firmar y verificar).

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/ExampleKeyUserRole"}, "Action": [ "kms:DescribeKey", "kms:GetPublicKey", "kms:Sign", "kms:Verify" ], "Resource": "*" }
Claves KMS asimétricas para obtener secretos compartidos

La consola añade la siguiente declaración a la política de claves para las claves KMS asimétricas con un acuerdo de uso de claves.

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/ExampleKeyUserRole"}, "Action": [ "kms:DescribeKey", "kms:GetPublicKey", "kms:DeriveSharedSecret" ], "Resource": "*" }

Las acciones de estas declaraciones proporcionan a los usuarios de clave los siguientes permisos.

kms:Encrypt

Permite a los usuarios de claves cifrar datos con esta clave KMS.

kms:Decrypt

Permite a los usuarios de claves descifrar los datos con esta clave KMS.

kms:DeriveSharedSecret

Permite a los usuarios clave obtener secretos compartidos con esta clave de KMS.

kms:DescribeKey

Permite a los usuarios de claves recuperar información sobre esta clave KMS, incluidos sus identificadores, fecha de creación, estado y mucho más. También permite a los usuarios clave mostrar detalles sobre la clave KMS en la AWS KMS consola.

kms:GenerateDataKey*

Permite a los usuarios de claves solicitar una clave de datos simétrica o un par de claves de datos asimétricos para operaciones criptográficas del cliente. La consola utiliza el carácter comodín * para representar el permiso para las siguientes operaciones de API: GenerateDataKey, GenerateDataKeyWithoutPlaintextGenerateDataKeyPair, y GenerateDataKeyPairWithoutPlaintext. Estos permisos solo son válidos en las claves KMS simétricas que cifran las claves de datos.

kms: GenerateMac

Permite a los usuarios de claves utilizar una clave KMS HMAC para generar una etiqueta HMAC.

km: GetPublicKey

Permite a los usuarios de claves descargar la clave pública de la clave KMS asimétrica. Las partes con las que compartes esta clave pública pueden cifrar los datos fuera de AWS KMS. Sin embargo, esos textos cifrados solo se pueden descifrar llamando a la operación Descifrar en AWS KMS.

km: * ReEncrypt

Permite a los usuarios de claves volver a cifrar los datos que se habían cifrado originalmente con esta clave KMS, o utilizar esta clave KMS para volver a cifrar los datos cifrados anteriormente. La ReEncryptoperación requiere acceso a las claves KMS de origen y destino. Para lograr esto, puede habilitar el permiso kms:ReEncryptFrom en la clave KMS fuente y el permiso kms:ReEncryptTo en la clave KMS de destino. Sin embargo, para simplificar, la consola permite kms:ReEncrypt* (con el carácter comodín *) en ambas claves KMS.

kms:Sign

Permite a los usuarios de claves firmar mensajes con esta clave KMS.

kms:Verify

Permite a los usuarios de claves verificar las firmas con esta clave KMS.

kms: VerifyMac

Permite a los usuarios de claves utilizar una clave KMS HMAC para verificar una etiqueta HMAC.

Permite a los usuarios de claves utilizar la clave KMS con los servicios de AWS

La política de claves predeterminada de la consola también proporciona a los usuarios clave los permisos de concesión que necesitan para proteger sus datos en AWS los servicios que utilizan concesiones. AWS los servicios suelen utilizar las concesiones para obtener un permiso específico y limitado para usar una clave de KMS.

Esta declaración de política clave permite al usuario clave crear, ver y revocar concesiones en la clave de KMS, pero solo cuando la solicitud de operación de concesión proviene de un AWS servicio integrado en ella. AWS KMS La condición de GrantIsFor AWSResource política kms: no permite al usuario llamar directamente a estas operaciones de concesión. Cuando el usuario clave lo permite, un AWS servicio puede crear una concesión en nombre del usuario que permita al servicio utilizar la clave KMS para proteger los datos del usuario.

Los usuarios de claves requieren estos permisos de concesiones para utilizar la clave KMS con los servicios integrados, pero estos permisos no son suficientes. Los usuarios de claves también necesitan permiso para utilizar los servicios integrados. Para obtener más información sobre cómo dar a los usuarios acceso a un AWS servicio que se integra con él AWS KMS, consulte la documentación del servicio integrado.

{ "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/ExampleKeyUserRole"}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} }

Por ejemplo, los usuarios de claves pueden utilizar estos permisos en la clave KMS de las siguientes maneras.

  • Utilice esta clave KMS con Amazon Elastic Block Store (Amazon EBS) y Amazon Elastic Compute Cloud (Amazon EC2) para adjuntar un volumen de EBS cifrado a una instancia EC2. El usuario de claves concede implícitamente a Amazon EC2 permiso para utilizar la clave KMS con el fin de asociar el volumen cifrado a la instancia. Para obtener más información, consulte Cómo utiliza Amazon Elastic Block Store (Amazon EBS) AWS KMS.

  • Utilice esta clave KMS con Amazon Redshift para lanzar un clúster cifrado. El usuario de claves concede implícitamente a Amazon Redshift permiso para utilizar la clave KMS con el fin de lanzar el clúster cifrado y crear instantáneas cifradas. Para obtener más información, consulte ¿Cómo Amazon Redshift utiliza AWS KMS?.

  • Utilice esta clave KMS con otros servicios de AWS integrados con AWS KMS, que utilizan concesiones, para crear, administrar o usar recursos cifrados con esos servicios.

La política de claves predeterminada permite a los usuarios de claves delegar su permiso de concesión a todos los servicios integrados que utilizan concesiones. Sin embargo, puede crear una política de claves personalizada que restrinja el permiso a AWS servicios específicos. Para obtener más información, consulte la clave de condición kms: ViaService.