Creación de una política de claves - 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.

Creación de una política de claves

Puede crear y administrar políticas clave en la AWS KMS consola o mediante AWS KMS API operaciones como CreateKeyReplicateKey, y PutKeyPolicy.

Al crear una KMS clave en la AWS KMS consola, la consola le guiará por los pasos necesarios para crear una política clave basada en la política clave predeterminada de la consola. Al utilizar la política de claves CreateKey o ReplicateKeyAPIs, si no se especifica, APIs se aplica la política de claves predeterminada a las claves creadas mediante programación. Al utilizar la PutKeyPolicyAPI, se le exige que especifique una política clave.

Cada documento de política puede tener una o varias declaraciones de política. En el siguiente ejemplo se muestra un documento válido de política de claves con una declaración de política.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Describe the policy statement", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/Alice" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "kms:KeySpec": "SYMMETRIC_DEFAULT" } } } ] }

Formato de la política de claves

Un documento de política de claves debe cumplir las siguientes reglas:

  • Pesar hasta 32 kilobytes (32 768 bytes)

  • El elemento Sid de una declaración de política de claves puede incluir espacios. (Los espacios están prohibidos en el Sid elemento de un documento de IAM política).

Un documento de política de claves solo puede incluir los siguientes caracteres:

  • Caracteres imprimibles ASCII

  • Caracteres imprimibles del conjunto de caracteres Basic Latin y Latin-1 Supplement

  • Caracteres especiales como la pestaña (\u0009), la fuente de línea (\u000A) y retorno de carro (\u000D)

Elementos de una política de claves

Un documento de política de claves debe tener los siguientes elementos:

Versión

Especifica la versión del documento de política de claves. Configure la versión en 2012-10-17 (la última versión).

Instrucción

Contiene las declaraciones de la política. Un documento de política de claves debe tener al menos una declaración.

Cada declaración de política de claves consta de hasta seis elementos. Los elementos Effect,Principal,Action, y Resource son necesarios.

Sid

(Opcional) El identificador de la declaración (Sid) una cadena arbitraria que puede utilizar para describir la declaración. El Sid en una política de claves puede incluir espacios. (No puede incluir espacios en un Sid elemento IAM de política).

Efecto

(Obligatorio) Determina si desea permitir o denegar los permisos en la declaración de política. Los valores válidos son Allow o Deny. Si no permites el acceso a una KMS clave de forma explícita, el acceso se deniega implícitamente. También puedes denegar explícitamente el acceso a una KMS clave. Puede hacer esto para asegurarse de que un usuario no pueda tener acceso a ella, aunque otra política le permita el acceso.

Entidad principal

(Obligatorio) La entidad principal es la identidad que obtiene los permisos especificados en la declaración de política. Puede especificar IAM los usuarios Cuentas de AWS, IAM las funciones y algunos AWS servicios como principales en una política clave. IAMlos grupos de usuarios no son un principio válido en ningún tipo de política.

Un valor de asterisco, como "AWS": "*", representa todas las identidades de AWS de todas las cuentas.

importante

No establezca la Entidad principal en un asterisco (*) en ninguna declaración de política de claves que permita permisos a menos que utilice condiciones para limitar la política de claves. Un asterisco indica todas las identidades de todos los Cuenta de AWS permisos para usar la KMS clave, a menos que otra declaración de política lo niegue explícitamente. Los usuarios de otros Cuentas de AWS países pueden usar tu KMS clave siempre que dispongan de los permisos correspondientes en su propia cuenta.

nota

IAMlas mejores prácticas desaconsejan el uso de IAM usuarios con credenciales de larga duración. Siempre que sea posible, utilice IAM roles, que proporcionan credenciales temporales. Para obtener más información, consulte las prácticas recomendadas de seguridad IAM en la Guía del IAM usuario.

Cuando el principio de una declaración de política clave es un Cuenta de AWS principio expresado comoarn:aws:iam::111122223333:root", la declaración de política no autoriza a ningún IAM director. En su lugar, da Cuenta de AWS permiso para usar IAM políticas para delegar los permisos especificados en la política clave. (Una entidad principal en formato arn:aws:iam::111122223333:root" no representa al usuario raíz de la cuenta de AWS, a pesar del uso de “root” en el identificador de la cuenta. Sin embargo, la entidad principal de la cuenta representa a la cuenta y a sus administradores, incluido el usuario raíz de la cuenta).

Cuando el principal es otro Cuenta de AWS o sus directores, los permisos solo entran en vigor cuando la cuenta está habilitada en la región con la KMS clave y la política de claves. Para obtener información acerca de las regiones que no están habilitadas de forma predeterminada (“Regiones de adhesión”), consulte Administración de Regiones de AWS en la Referencia general de AWS.

Para permitir que otra Cuenta de AWS persona o sus directores usen una KMS clave, debes conceder el permiso en una política de claves y en una IAM política de la otra cuenta. Para obtener más información, consulte Permitir a los usuarios de otras cuentas utilizar una clave KMS.

Acción

(Obligatorio) Especifique las API operaciones que se van a permitir o denegar. Por ejemplo, la kms:Encrypt acción corresponde a la operación de AWS KMS cifrado. Puede enumerar varias acciones en una declaración de política. Para obtener más información, consulte Referencia de permisos.

nota

Si falta el elemento Action requerido en una declaración de política de claves, la declaración de la política no tiene efecto. Una declaración de política clave sin un Action elemento no se aplica a ninguna KMS clave.

Cuando a una declaración de política clave le falta su Action elemento, la AWS KMS consola informa correctamente de un error, pero lo hace CreateKeycorrectamente, PutKeyPolicyAPIsa pesar de que la declaración de política no es efectiva.

Recurso

(Obligatorio) En una política clave, el valor del elemento Recurso es"*", que significa «esta KMS clave». El asterisco ("*") identifica la KMS clave a la que se adjunta la política clave.

nota

Si falta el elemento Resource requerido en una declaración de política de claves, la declaración de la política no tiene efecto. Una declaración de política clave sin un Resource elemento no se aplica a ninguna KMS clave.

Cuando a una declaración de política clave le falta su Resource elemento, la AWS KMS consola informa correctamente de un error, pero lo hace CreateKeycorrectamente, PutKeyPolicyAPIsa pesar de que la declaración de política no es efectiva.

Condición

(Opcional) Las condiciones especifican requisitos que deben cumplirse para que se aplique una política de claves. Con condiciones, AWS puede evaluar el contexto de una API solicitud para determinar si la declaración de política se aplica o no.

Para especificar las condiciones, utilice claves de condición predefinidas. AWS KMS admite claves de condición AWS globales y claves de AWS KMS condición. Para admitir el control de acceso basado en atributos (ABAC), AWS KMS proporciona claves de condición que controlan el acceso a una KMS clave en función de etiquetas y alias. Para obtener más información, consulte ABAC para AWS KMS.

El formato de una condición es:

"Condition": {"condition operator": {"condition key": "condition value"}}

por ejemplo:

"Condition": {"StringEquals": {"kms:CallerAccount": "111122223333"}}

Para obtener más información sobre la sintaxis AWS de las políticas, consulte la referencia AWS IAM de políticas en la Guía del IAM usuario.

Política de claves de ejemplo

El siguiente ejemplo muestra una política de claves completa para una KMS clave de cifrado simétrica. Puede utilizarlo como referencia mientras lee acerca de los conceptos de política de claves de este capítulo. Esta política de claves combina los ejemplos de declaraciones de política de la sección política de claves predeterminada anterior en una sola política de claves que lleva a cabo lo siguiente:

  • Permite al ejemplo Cuenta de AWS 111122223333 tener acceso total a la clave. KMS Permite a la cuenta y a sus administradores, incluido el usuario raíz de la cuenta (en caso de emergencia), utilizar IAM las políticas de la cuenta para permitir el acceso a la KMS clave.

  • Permite que el ExampleAdminRole IAM rol administre la KMS clave.

  • Permite que el ExampleUserRole IAM rol utilice la KMS clave.

{ "Id": "key-consolepolicy", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM user Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "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": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleUserRole" }, "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/ExampleUserRole" }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } } ] }