Key Management Service (KMS) utiliza los puntos de acceso de aplicaciones (AAP) para controlar cómo las aplicaciones autogestionadas se autentican y acceden a las claves y secretos de una instancia de KMS. Antes de usar una clave o un secreto, la aplicación debe autenticarse mediante un AAP.
Un AAP consta de dos componentes: una política de permisos y una credencial.
Cree un AAP independiente para cada aplicación que acceda a KMS. De este modo, cada aplicación cuenta con sus propios permisos de acceso y es posible auditarla de forma independiente.
Funcionamiento
Cada AAP aplica dos capas de control:
Política de permisos: define a qué claves y secretos puede acceder la aplicación, así como desde qué direcciones IP.
Credencial: autentica la identidad de la aplicación antes de concederle el acceso.
Políticas de permisos
Una política de permisos especifica a qué recursos de KMS puede acceder una aplicación y bajo qué condiciones. Cada AAP admite hasta tres políticas de permisos.
Cada política incluye lo a continuación:
Permisos RBAC: las operaciones que la aplicación tiene autorizadas.
Recursos accesibles: las claves o los secretos a los que la aplicación puede acceder.
Reglas de acceso de red: las direcciones IP de origen desde las cuales se permite el acceso.
Permisos RBAC
|
Rol |
Alcance |
Operaciones compatibles |
|
CryptoServiceKeyUser |
Claves en una instancia de KMS |
Operaciones criptográficas mediante Instance API. Consulte List of operations by function. |
|
CryptoServiceSecretUser |
Secretos en una instancia de KMS |
Operaciones relacionadas con secretos mediante Instance API. Consulte List of operations by function. |
|
SecretUser |
Todos los secretos de la cuenta actual de Alibaba Cloud |
GetSecretValue mediante OpenAPI |
Credenciales
Una credencial comprueba la identidad de la aplicación que accede a KMS. Se admiten dos tipos de credenciales: clave de cliente y rol de RAM.
Elija un tipo de credencial
|
Escenario |
Tipo de credencial |
|
La aplicación requiere autenticación de identidad y de comportamiento para usar claves o secretos en una instancia de KMS |
Clave de cliente |
|
La aplicación se ejecuta en Elastic Compute Service (ECS), Container Service for Kubernetes (ACK) o Function Compute, y está asociada a un rol de Resource Access Management (RAM) |
Rol de RAM |
Clave de cliente
La clave de cliente firma las solicitudes que la aplicación envía a KMS y verifica dichas firmas. Consta de dos partes:
Application Access Secret(ClientKeyContent)
Contraseña
Límites del ciclo de vida:
|
Propiedad |
Valor |
|
Periodo de validez predeterminado |
Cinco años (se recomienda un año) |
|
Máximo de claves de cliente por AAP |
Tres |
|
Almacenamiento |
KMS no almacena las claves de cliente. Si pierde una clave de cliente, elimínela y cree una nueva. |
|
Respuesta ante una vulneración |
Elimine de inmediato la clave comprometida y cree una de reemplazo. |
Para rotar una clave de cliente antes de que caduque, consulte Change a client key. Después de cambiar a la nueva clave, elimine la anterior de KMS.
Rol de RAM
Utilice un rol de RAM cuando su aplicación se ejecute en ECS, ACK o Function Compute, ya esté asociada a un rol de RAM y necesite recuperar el valor de un secreto mediante un endpoint de KMS. KMS autentica las solicitudes de OpenAPI con RAM, por lo que no se requiere ninguna clave de cliente.
SDK compatibles con la autenticación mediante clave de cliente
Los distintos SDK de KMS admiten diferentes métodos de autenticación. Para consultar la descripción general completa, consulte SDK references.
A continuación se muestran los SDK que son compatibles con la autenticación mediante clave de cliente:
|
SDK |
Alcance de acceso |
Tipo de endpoint |
|
KMS Instance SDK |
Claves y secretos en una instancia de KMS |
Endpoint de la instancia de KMS (requiere clave de cliente) |
|
Secret SDK |
Secretos en una instancia de KMS o secretos de toda la cuenta actual de Alibaba Cloud |
Endpoint de la instancia de KMS o endpoint de KMS |
Cuando utilice Secret SDK con un endpoint de KMS, podrá autenticarse con una clave de cliente, un par de AccessKey de un usuario de RAM o un rol de RAM. El tipo de endpoint depende de cómo configure el alcance de la política de permisos: establézcalo en una instancia de KMS para usar un endpoint de instancia de KMS, o en Shared KMS Gateway para usar un endpoint de KMS.
Notificaciones de caducidad de la clave de cliente
Alibaba Cloud envía notificaciones de caducidad por correo electrónico o mensaje interno en los a continuación intervalos previos al vencimiento de una clave de cliente: seis meses, tres meses, un mes y siete días.
Para configurar alertas proactivas, configure CloudMonitor de modo que envíe notificaciones 180, 90, 30 y 7 días antes de la caducidad. Consulte Alert events.
Registros y auditoría
Eventos de administración
KMS se integra con ActionTrail para registrar los eventos de administración de los AAP. Consulte Audit events of KMS y Use ActionTrail to query KMS events.
Registros de llamadas de claves de cliente
KMS se integra con Simple Log Service (SLS) para registrar las llamadas realizadas con claves de cliente. Los registros se conservan durante 180 días y se pueden buscar en la página de Simple Log Service for KMS. Para comprobar si se utilizó una clave de cliente específica, introduzca su identificador en el cuadro de búsqueda dentro de kms_audit_log. Si el campo access_key_id de los resultados coincide con el identificador de la clave de cliente, significa que dicha clave se invocó.
Siguientes pasos
Access a KMS instance by using an AAP: cree un AAP e intégralo con su aplicación.
SDK references: elija un SDK e intégralo.
Endpoint description: conozca la diferencia entre los endpoints de instancias de KMS y los endpoints de KMS.
Performance quotas: límites de QPS (consultas por segundo).