Una directiva de clave es una directiva basada en recursos que controla qué cuentas de Alibaba Cloud, usuarios de RAM y roles de RAM pueden gestionar o usar una clave de KMS. Cada clave de una instancia de KMS debe tener exactamente una directiva de clave. Este tema proporciona información detallada sobre las directivas de clave.
Relación entre las directivas de clave y las directivas de RAM
Descripción de la directiva
Las directivas de clave y las directivas de RAM controlan el acceso a las claves de KMS desde distintas perspectivas. Después de agregar usuarios o roles de RAM a una directiva de clave, también puede configurar directivas de RAM para gestionar los permisos de operación de KMS de dichos usuarios o roles.
Key Policy: Directiva basada en recursos asociada a una clave específica. Especifica qué identidades (usuarios de RAM, roles de RAM o cuentas de Alibaba Cloud) pueden gestionar o usar la clave. Para obtener más información, consulte Configure a key policy.
Directiva de RAM: Directiva basada en identidades asociada a un usuario o rol de RAM. Especifica qué operaciones de KMS puede ejecutar la identidad. Para obtener más información, consulte Manage RAM user permissions, Manage permissions for a RAM role y Custom policies.
Prioridad de evaluación de permisos
-
Usuarios o roles de RAM de la cuenta actual (key creator account):
-
Principio de evaluación: "Cualquier permiso es suficiente" (lógica OR). Se permite el acceso si se cumple alguna de las siguientes condiciones y no existe una denegación explícita.
NotaPara obtener más información sobre la denegación explícita y la implícita, consulte How RAM evaluates policies.
La directiva de clave de KMS permite explícitamente el acceso al usuario o rol.
La directiva de RAM permite explícitamente el acceso al usuario o rol.
-
Reglas detalladas:
Directiva de clave de KMS (basada en recursos)
Directiva de RAM (basada en identidades)
Resultado de la evaluación
Allow
No configurada
Allow
No configurada
Allow
Allow
Allow
Allow
Allow
Allow
Deny
Deny
Deny
Allow
Deny
No configurada
No configurada
Deny
-
-
Usuarios o roles de RAM de otra cuenta (entre cuentas):
-
Principio de evaluación: "Ambas deben permitir" (lógica AND). El acceso se autoriza únicamente cuando se cumplen las dos condiciones siguientes.
La directiva de clave de KMS permite explícitamente el acceso al usuario, rol o cuenta externa.
La directiva de RAM permite explícitamente que el usuario o rol externo llame a las operaciones de KMS.
-
Reglas detalladas:
Directiva de clave de KMS (basada en recursos)
Directiva de RAM (basada en identidades)
Resultado de la evaluación
Allow
Deny
Deny
Deny
Allow
Deny
Allow
Allow
Allow
No configurada
No configurada
Deny
-
Notas de uso
Las directivas de clave aplican solo a las claves dentro de una instancia de KMS. Puede configurar una directiva de clave durante la creación de la clave o modificarla posteriormente. Para obtener más información, consulte Create a key y Configure a key policy.
Autorizar usuarios o roles de RAM de otras cuentas de Alibaba Cloud consume la cuota Accounts in Use de la instancia de KMS. Esta cuota se calcula según el número de cuentas de Alibaba Cloud. Si revoca la autorización entre cuentas y la instancia deja de compartir recursos con dicha cuenta, espere aproximadamente 5 minutos antes de comprobar la cuota. La cuota se liberará automáticamente.
Una directiva de clave aplica al control de acceso únicamente cuando accede a una clave mediante el endpoint del servicio de KMS. Si accede a través de un endpoint de instancia de KMS, el acceso depende de la directiva de permisos configurada en el Application Access Point (AAP).
La directiva de clave debe estar en formato JSON y no puede superar los 32 768 bytes de longitud.
Estructura de la directiva de clave
Una directiva de clave completa contiene los siguientes elementos:
Version: Versión de la directiva de clave. Actualmente, solo es compatible la versión 1.
-
Statement: Instrucciones de la directiva de clave. Cada directiva contiene una o más instrucciones, y cada una incluye los siguientes parámetros.
-
Sid
Opcional. Identificador personalizado de la instrucción. Puede tener hasta 128 caracteres e incluir letras mayúsculas (A-Z), minúsculas (a-z), dígitos (0-9) y los siguientes caracteres especiales: _ / + = . @ -
-
Effect
Obligatorio. Especifica si se permiten o deniegan las acciones de la instrucción. Valores válidos:
AllowoDeny. -
Principal
Obligatorio. Identidad a la que aplica la directiva. Especifique una de las siguientes opciones:
La cuenta actual de Alibaba Cloud, es decir, la propietaria de la clave.
Usuarios o roles de RAM de la cuenta actual de Alibaba Cloud.
-
Usuarios o roles de RAM de otra cuenta de Alibaba Cloud.
ImportanteDespués de autorizar usuarios o roles de RAM de otra cuenta de Alibaba Cloud, debe usar esa misma cuenta para otorgarles el permiso correspondiente en RAM. De lo contrario, dichas identidades no podrán usar la clave.
Para obtener más información, consulte Custom policies, Manage RAM user permissions y Manage permissions for a RAM role.
-
Action
Obligatorio. Operaciones de API que se permiten o deniegan. El valor debe comenzar con "kms:". Solo son válidas las siguientes operaciones; cualquier otra fuera de esta lista no surtirá efecto.
-
Resource
Obligatorio. Recurso de destino al que aplica la directiva. El valor de
Resourcesolo puede ser*, lo cual indica la clave de KMS actual. -
Condition
Opcional. Condiciones bajo las cuales la directiva entra en vigor. Un elemento de condición, también llamado bloque de condición, consta de una o más cláusulas. Cada cláusula incluye un operador, una clave y un valor de condición. Para obtener más información, consulte Permission policy elements.
El formato es
"Condition": {"condition operator": {"condition key": "condition value"}}.condition operator: Para obtener más información, consulte Condition operator types.condition keyycondition value: Para conocer las claves de condición y los valores válidos compatibles con las directivas de clave, consulte Policy condition keys.
-
Preguntas frecuentes
¿Cómo consulto quién creó la clave?
Consola: Inicie sesión en la consola de KMS. En la página Keys, abra la página de detalles de la clave y consulte el campo Created By.
API: Llame a la operación DescribeKey. El campo
Creatorde la respuesta indica quién creó la clave.