Cuando las directivas del sistema no cubren sus requisitos de acceso, cree directivas personalizadas. Estas le permiten otorgar a los usuarios de RAM un control preciso sobre clústeres, operaciones, direcciones IP o configuraciones de cifrado específicos de PolarDB.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una cuenta de Alibaba Cloud. Si aún no tiene una, regístrese primero.
Conocimiento sobre cómo se especifican los recursos de PolarDB en las directivas de RAM. Consulte Use RAM for resource authorization.
Para personalizar permisos u otorgar permisos específicos sobre tablas, utilice la función de gestión de permisos de Database Management Service (DMS). Consulte Manage user permissions on MySQL databases .
Estructura de la directiva
Una directiva de RAM es un documento JSON que define quién puede hacer qué, sobre qué recursos y bajo qué condiciones. Cada directiva contiene uno o más objetos Statement, cada uno con los siguientes elementos:
|
Campo |
Obligatorio |
Descripción |
|
|
Sí |
Las operaciones de API que se permiten o deniegan (por ejemplo, |
|
|
Sí |
Los recursos de PolarDB a los que se aplica la instrucción; el ARN de un clúster específico o |
|
|
Sí |
|
|
|
No |
Restricciones adicionales, como la IP de origen o los requisitos de cifrado |
Para obtener detalles sobre la sintaxis de las directivas, consulte Policy structure and syntax.
Crear y adjuntar una directiva personalizada
Cree una directiva personalizada. Utilice uno de los ejemplos siguientes como punto de partida. Consulte Create custom policies.
Adjunte la directiva al usuario de RAM. Consulte Grant permissions to a RAM user.
Ejemplos de directivas
Restringir el acceso a clústeres específicos
Utilice esta directiva cuando tenga varios clústeres de PolarDB y necesite que un usuario de RAM gestione solo un subconjunto. Por ejemplo, los clústeres i-001 e i-002.
Recomendado para: administradores de clústeres que requieren control total sobre clústeres designados.
{
"Statement": [
{
"Action": "polardb:*",
"Effect": "Allow",
"Resource": [
"acs:polardb:*:*:*/i-001",
"acs:polardb:*:*:*/i-002"
]
},
{
"Action": "polardb:Describe*",
"Effect": "Allow",
"Resource": "*"
}
],
"Version": "1"
}
Resourceen la primera instrucción:acs:polardb:*:*:*/i-001apunta a un clúster específico mediante su ID (el último segmento del ARN). El acceso completo de administración se aplica únicamente ai-001ei-002.**
Action: polardb:Describe*enResource: "*"**: Es obligatorio para que el usuario de RAM vea cualquier clúster en la consola de PolarDB. Sin esto, la lista de clústeres de la consola aparece vacía.
El usuario de RAM autorizado puede consultar todos los clústeres y recursos, pero solo gestiona los dos clústeres con los ID i-001 e i-002. Usted todavía puede gestionar estos dos clústeres mediante operaciones de API, interfaces de línea de comandos (CLI) o kits de desarrollo de software (SDK).
Restringir el acceso a funciones específicas
Utilice esta directiva cuando desee que un usuario de RAM ejecute solo un conjunto fijo de operaciones en todos los clústeres de PolarDB. Por ejemplo, un administrador de copias de seguridad o un responsable de seguridad.
Recomendado para: control de acceso basado en roles donde un usuario de RAM necesita operaciones limitadas, como la gestión de copias de seguridad o la configuración de listas de permitidos.
{
"Statement": [
{
"Action": [
"polardb:Describe*",
"polardb:CreateBackup",
"polardb:DeleteBackup",
"polardb:ModifyDBClusterAccessWhitelist"
],
"Resource": "*",
"Effect": "Allow"
}
],
"Version": "1"
}
Esta directiva permite al usuario de RAM consultar la información de los clústeres y las copias de seguridad, crear y eliminar copias de seguridad, y modificar las listas de permitidos de todos los clústeres de PolarDB en la cuenta. Todas las demás operaciones se deniegan de forma predeterminada.
Para ajustar las operaciones permitidas, reemplace o amplíe la lista Action con nombres específicos de operaciones de API. Consulte Services that work with RAM para ver la lista completa de operaciones de API de PolarDB compatibles con la autorización de RAM.
Restringir el acceso por dirección IP
Utilice esta directiva cuando necesite garantizar que un usuario de RAM acceda a los clústeres de PolarDB solo desde direcciones IP específicas. Por ejemplo, desde una red corporativa o un host bastión.
Recomendado para: entornos sensibles a la seguridad donde el acceso a los clústeres debe limitarse a ubicaciones de red conocidas.
{
"Version": "1",
"Statement": [
{
"Action": "*",
"Effect": "Allow",
"Resource": "*",
"Condition": {
"IpAddress": {
"acs:SourceIp": [
"xxx.xxx.x.x"
]
}
}
}
]
}
acs:SourceIp: Reemplacexxx.xxx.x.xcon la dirección IP o el bloque CIDR permitido.Efecto: El usuario de RAM puede gestionar todos los clústeres de PolarDB de la cuenta, pero solo desde las direcciones IP especificadas. Las solicitudes provenientes de cualquier otra dirección se deniegan.
Restringir el estado de TDE
Utilice esta directiva cuando desee restringir el estado de TDE para los usuarios de RAM durante la creación de clústeres. Por ejemplo, para aplicar una directiva de cifrado en reposo por motivos de cumplimiento normativo.
Recomendado para: responsables de cumplimiento o equipos de seguridad que aplican estándares de cifrado obligatorios.
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "polardb:*",
"Resource": "*",
"Condition": {
"Bool": {
"polardb:EncryptionRequired": [
"false"
]
}
}
}
]
}
Effect: Deny: Bloquea cualquier acción de PolarDB dondepolardb:EncryptionRequiredse evalúe comofalse. Se deniegan todas las operaciones a menos que TDE esté habilitado.
Pasos siguientes
Use RAM for resource authorization: comprenda el formato del ARN de los recursos de PolarDB y cómo apuntar a clústeres, regiones o cuentas específicas en sus directivas.
Services that work with RAM: lista completa de las operaciones de API de PolarDB compatibles con la autorización de RAM.
Policy structure and syntax: referencia de todos los campos de directiva, operadores de condición y valores admitidos.