Sintaxis de políticas de permisos detallados
En los servicios reales, es posible que deba conceder diferentes permisos de operación en los recursos a usuarios de diferentes roles. El servicio IAM proporciona un control de acceso detallado. Un administrador de IAM (un usuario del grupo admin) puede crear una política personalizada que contenga los permisos necesarios. Después de conceder una política a un grupo de usuarios, los usuarios del grupo pueden obtener todos los permisos definidos por la política. De esta manera, IAM implementa la gestión de permisos detallados.
Para controlar las operaciones de GaussDB(DWS) en los recursos de forma más precisa, puede usar la función de gestión de usuarios de IAM para conceder diferentes permisos de operación a usuarios de diferentes roles para un control de permisos detallado.
Estructura de políticas
Una política detallada consta de una versión y una sentencia. Cada política puede tener varias sentencias.
Sintaxis de política
En el panel de navegación de la consola de IAM, haga clic en Policies y, a continuación, haga clic en el nombre de una política para ver sus detalles. La política DWS ReadOnlyAccess se utiliza como ejemplo para describir la sintaxis de las políticas de grano fino.
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "vpc:*:get*", "vpc:*:list*", "evs:*:get*", "evs:*:list*", "mrs:*:get*", "bss:*:list*", "bss:*:get*" ] } ] }
- Version: Distingue entre el control de acceso basado en roles (RBAC) y las políticas detalladas.
- 1.0: Políticas RBAC. Una política RBAC consiste en permisos para todo un servicio. A los usuarios de un grupo con dicha política asignada se les conceden todos los permisos necesarios para ese servicio.
- 1.1: Políticas detalladas. Una política detallada consiste en permisos basados en API para operaciones en tipos de recursos específicos. Las políticas detalladas, como su nombre indica, permiten un control más detallado que las políticas RBAC. Los usuarios a los que se han concedido permisos de tal política solo pueden realizar operaciones específicas en el servicio correspondiente. Las políticas detalladas incluyen políticas de sistema y personalizadas.
- Statement: Permisos definidos por una política, incluidos Effect y Action.
- Effect
Los valores válidos para Effect son Allow y Deny. Las directivas del sistema solo contienen sentencias Allow. Para las políticas personalizadas que contienen sentencias Allow y Deny, las sentencias Deny tienen prioridad.
- Action
Permisos en el formato de Service name:Resource type:Operation. Una política puede contener uno o más permisos. El comodín (*) puede indicar todos los servicios, tipos de recursos u operaciones dependiendo de su ubicación en la acción.
Ejemplo: dws:cluster:create, permisos para crear clústeres de almacén de datos.
- Effect
Lista de acciones admitidas
Al crear una política personalizada en IAM, puede agregar las operaciones en recursos de GaussDB(DWS) o los permisos correspondientes a las API RESTful a la lista de acciones de la instrucción de autorización de política para que la política contenga los permisos de operación. En la siguiente tabla se enumeran los permisos de GaussDB(DWS).
- REST API
Para obtener más información sobre las acciones de RESTful API admitidas por GaussDB(DWS), consulte Políticas de permisos y acciones admitidas.
- Operaciones de la consola de gestión
Tabla 1 describe las operaciones de GaussDB(DWS) sobre recursos y permisos correspondientes.
Algunos permisos GaussDB(DWS) dependen de las acciones de ECS, VPC, EVS, ELB, MRS y OBS. Conceda a GaussDB(DWS) los permisos de admin de servicio requeridos.
Operación |
Permiso |
Permiso dependiente |
Ámbito |
---|---|---|---|
Creación de un clúster |
"dws:cluster:create" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "vpc:securityGroupRules:delete", "vpc:ports:update", "evs:*:get*", "evs:*:list*", "evs:*:create*", |
|
Obtención de la lista de clústeres |
"dws:cluster:list" |
-- |
|
Obtención de los detalles de un clúster |
"dws:cluster:getDetail" |
"dws:*:get*", "dws:*:list*", "vpc:vpcs:list", "vpc:securityGroups:get" |
|
Configuración de la política de instantáneas automatizada |
"dws:cluster:setAutomatedSnapshot" |
"dws:backupPolicy:list" |
|
Configuración de parámetros/grupos de parámetros de seguridad |
"dws:cluster:setSecuritySettings" |
"dws:*:get*", "dws:*:list*", |
|
Reinicio de un clúster |
"dws:cluster:restart" |
"dws:*:get*", "dws:*:list*", |
|
Ampliación de clústeres |
"dws:cluster:scaleOut" |
"dws:*:get*", "dws:*:list*", "dws:cluster:scaleOutOrOpenAPIResize", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "vpc:*:update*", "evs:*:get*", "evs:*:list*", "evs:*:create*", |
|
Ampliar o cambiar el tamaño de un clúster mediante API |
"dws:cluster:scaleOutOrOpenAPIResize" |
"dws:*:get*", "dws:*:list*", "vpc:vpcs:list", "vpc:ports:create", "vpc:ports:get", "vpc:ports:update", "vpc:subnets:get", "vpc:subnets:update", "vpc:subnets:create", "vpc:routers:get", "vpc:routers:update", "vpc:networks:create", "vpc:networks:get", "vpc:networks:update", "ecs:serverInterfaces:use", "ecs:serverInterfaces:get", "ecs:cloudServerFlavors:get" |
|
Restablecimiento de su contraseña |
"dws:cluster:resetPassword" |
"dws:*:get*", "dws:*:list*", |
|
Eliminación de un clúster |
"dws:cluster:delete" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:delete*", "vpc:*:get*", "vpc:*:list*", "vpc:*:delete*", "evs:*:get*", "evs:*:list*", "evs:*:delete*", |
|
Configuración de ventanas de mantenimiento |
"dws:cluster:setMaintainceWindow" |
"dws:*:get*", "dws:*:list*", |
|
Vinculación de las EIP |
"dws:eip:operate" |
"dws:*:get*", "dws:*:list*", "eip:*:get*", "eip:*:list*" |
|
Desvinculación de las EIP |
"dws:eip:operate" |
"dws:*:get*", "dws:*:list*", "eip:*:get*", "eip:*:list*" |
|
Creación de nombres de dominio de DNS |
"dws:dns:create" |
"dws:*:get*", "dws:*:list*", |
|
Publicación de nombres de dominio de DNS |
"dws:dns:release" |
"dws:*:get*", "dws:*:list*", |
|
Modificación de nombres de dominio de DNS |
"dws:dns:edit" |
"dws:*:get*", "dws:*:list*", |
|
Creación de conexiones de MRS |
"dws:MRSConnection:create" |
"dws:*:get*", "dws:*:list*", "mrs:*:get*", "mrs:*:list*", "mrs:cluster:create", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*" |
|
Actualización de conexiones de MRS |
"dws:MRSConnection:update" |
"dws:*:get*", "dws:*:list*", "mrs:*:get*", "mrs:*:list*", "mrs:cluster:create", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*" |
|
Eliminación de conexiones de MRS |
"dws:MRSConnection:delete" |
"dws:*:get*", "dws:*:list*", "mrs:*:get*", "mrs:*:list*", "mrs:cluster:create" "ecs:*:get*", "ecs:*:list*", "ecs:*:delete*", "vpc:*:get*", "vpc:*:list*", "vpc:*:delete*", "evs:*:get*", "evs:*:list*", "evs:*:delete*", |
|
Lista de fuentes de datos MRS |
"dws:MRSSource:list" |
"mrs:cluster:list", "mrs:tag:listResource", "mrs:tag:list", "dws:*:get*", "dws:*:list*" |
|
Adición/Eliminación de etiquetas |
"dws:tag:addAndDelete" |
"dws:*:get*", "dws:*:list*", "dws:openAPITag:update", "dws:openAPITag:getResourceTag", |
|
Edición de etiquetas |
"dws:tag:edit" |
"dws:*:get*", "dws:*:list*", "dws:openAPITag:update", "dws:openAPITag:getResourceTag", |
|
Creación de una instantánea |
"dws:snapshot:create" |
"dws:*:get*", "dws:*:list*", |
|
Obtención de la lista de instantáneas |
"dws:snapshot:list" |
-- |
|
Consulta de la lista de instantáneas de un clúster |
"dws:clusterSnapshot:list" |
"dws:cluster:list", "dws:openAPICluster:getDetail" |
|
Eliminación de instantáneas |
"dws:snapshot:delete" |
"dws:snapshot:list" |
|
Copia de instantáneas |
"dws:snapshot:copy" |
"dws:snapshot:list", "dws:snapshot:create" |
|
Restauración de datos en un clúster nuevo |
"dws:cluster:restore" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*" |
|
Cambiar el tamaño de un clúster |
"dws:cluster:resize" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "ecs:*:delete*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "vpc:*:delete*", "evs:*:get*", "evs:*:list*", "evs:*:create*", "evs:*:delete*" |
|
Switchback |
"dws:cluster:switchover" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de la lista ELB |
"dws:elb:list" |
"dws:*:get*", "dws:*:list*", "elb:*:get*", "elb:*:list*", |
|
Asociación de ELB |
"dws:elb:bind" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "vpc:*:get*", "vpc:*:list*", "evs:*:get*", "evs:*:list*", "elb:*:get*", "elb:*:list*", "elb:*:delete*", "elb:*:create*", |
|
Disociación de ELB |
"dws:elb:unbind" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "vpc:*:get*", "vpc:*:list*", "evs:*:get*", "evs:*:list*", "elb:*:get*", "elb:*:list*", "elb:*:delete*", |
|
Consulta de configuraciones de instantáneas |
"dws:snapshotConfig:list" |
"dws:*:get*", "dws:*:list*", |
|
Actualización de una política de instantáneas |
"dws:backupPolicyDetail:update" |
"dws:*:get*", "dws:*:list*", |
|
Eliminación de una política de instantáneas |
"dws:backupPolicy:delete" |
"dws:*:get*", "dws:*:list*", |
|
Consultar una política de instantáneas |
"dws:backupPolicy:list" |
"dws:cluster:list" |
|
Consultar información de encriptación de clúster |
"dws:clusterEncryptInfo:list" |
"dws:*:get*", "dws:*:list*", "KMS Administrator" |
|
Creación de un agente |
"dws:createAgency:create" |
"dws:*:get*", "dws:*:list*", "security administrator" |
|
Consultar información de bucket de OBS |
"dws:queryBuckets:list" |
"dws:*:get*", "dws:*:list*", |
|
Adición de un nodo |
"dws:expandWithExistedNodes:update" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "vpc:*:update*", "evs:*:get*", "evs:*:list*", "evs:*:create*", |
|
Eliminación de una copia de respaldo de recuperación ante desastres |
"dws:disasterRecovery:delete" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:delete*", "vpc:*:get*", "vpc:*:list*", "vpc:*:delete*", "evs:*:get*", "evs:*:list*", "evs:*:delete*" |
|
Creación de una copia de respaldo de DR |
"dws:disasterRecovery:create" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*", |
|
Otras operaciones de copia de respaldo y de DR |
"dws:disasterRecovery:otherOperate" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*" |
|
Consulta de operaciones de DR y copia de respaldo |
"dws:disasterRecovery:get" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "vpc:*:get*", "vpc:*:list*", "evs:*:get*", "evs:*:list*" |
|
Adición de un CN |
"dws:module:install" |
"dws:*:get*", "dws:*:list*", |
|
Supresión de un CN |
"dws:module:uninstall" |
"dws:*:get*", "dws:*:list*", |
|
Eliminación de nodos |
"dws:clusterNodes:operate" |
"dws:*:get*", "dws:*:list*" |
|
Actualización del alias del nodo |
dws:instanceAliasName:update |
dws:cluster:list |
|
Redistribución de datos |
"dws:redistribution:operate" |
"dws:*:get*", "dws:*:list*", |
|
Consulta de redistribución |
"dws:redistributionInfo:list" |
"dws:*:get*", "dws:*:list*", |
|
Detener la redistribución |
"dws:redistribution:suspend" |
"dws:*:get*", "dws:*:list*", |
|
Reanudación de la redistribución |
"dws:redistribution:recover" |
"dws:*:get*", "dws:*:list*", |
|
Adición de capacidad de disco |
"dws:disk:expand" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*", |
|
Reducción de un clúster |
"dws:cluster:shrink" |
"dws:*:get*", "dws:*:list*", "dws:createAgency:create", "ecs:*:get*", "ecs:*:list*", "ecs:*:delete*", "vpc:*:get*", "vpc:*:list*", "vpc:*:delete*", "evs:*:get*", "evs:*:list*", "evs:*:delete*" |
|
Consulta de especificaciones de producto |
"dws:specProduct:list" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*" |
|
Cambio de pago por uso a anual/mensual |
"dws:ondemandToPeriod:operate" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "vpc:securityGroupRules:delete", "evs:*:get*", "evs:*:list*", "evs:*:create*", "bss:coupon:view", "bss:order:pay", "bss:order:view", "bss:contract:update", "bss:balance:view", "bss:renewal:view", "bss:unsubscribe:update", "bss:renewal:update", "bss:order:update" |
|
Modificación de un clúster anual/mensual |
"dws:periodCluster:modify" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:delete*", "vpc:*:get*", "vpc:*:list*", "vpc:*:delete*", "evs:*:get*", "evs:*:list*", "evs:*:delete*", "bss:coupon:view", "bss:order:pay", "bss:order:view", "bss:contract:update", "bss:balance:view", "bss:renewal:view", "bss:unsubscribe:update", "bss:renewal:update", "bss:order:update" |
|
Creación de un clúster anual/mensual |
"dws:periodCluster:create" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*", "bss:coupon:view", "bss:order:pay", "bss:order:view", "bss:contract:update", "bss:balance:view", "bss:renewal:view", "bss:unsubscribe:update", "bss:renewal:update", "bss:order:update" |
|
Performing a check before adding disk capacity to a yearly/monthly cluster |
"dws:periodExpandPrecheck:operate" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*", "vpc:*:get*", "vpc:*:list*", "vpc:*:create*", "evs:*:get*", "evs:*:list*", "evs:*:create*", |
|
Consultar si se admite DAS |
"dws:supportDas:list" |
"dws:*:get*", "dws:*:list*", "das:*:get*", "das:*:list*", |
|
Vinculación de la dirección IP del plano de gestión |
"dws:bindManageIp:operate" |
"dws:*:get*", "dws:*:list*" |
|
Obtención de autorización del usuario |
"dws:checkAuthorize:operate" |
"dws:*:get*", "dws:*:list*", "dws:checkSupport:operate" |
|
Autorización de un usuario |
"dws:authorize:operate" |
"dws:*:get*", "dws:*:list*", "dws:checkSupport:operate" |
|
Consulta de bases de datos de usuario |
"dws:userDatabase:list" |
"dws:*:get*", "dws:*:list*", "dws:checkSupport:operate" |
|
Consulta de esquemas de usuario |
"dws:schemas:list" |
"dws:*:get*", "dws:*:list*", "dws:checkSupport:operate" |
|
Consulta de tablas de usuario |
"dws:tables:list" |
"dws:*:get*", "dws:*:list*", |
|
Restauración de tablas |
"dws:tableRestore:operate" |
"dws:*:get*", "dws:*:list*", |
|
Comprobación del nombre de la tabla que se va a restaurar |
"dws:tableRestoreCheck:operate" |
"dws:*:get*", "dws:*:list*", |
|
Comprobación de si un clúster admite copia de respaldo de grano fino |
"dws:checkSupport:operate" |
"dws:*:get*", "dws:*:list*", |
|
Consulta de la lista de variantes que se pueden cambiar |
"dws:supportFlavors:list" |
"dws:*:get*", "dws:*:list*", |
|
Cambio de variante de nodo |
"dws:specResize:operate" |
"dws:*:get*", "dws:*:list*", "ecs:*:get*", "ecs:*:list*", "ecs:*:create*" |
|
Detener la creación de instantáneas |
"dws:snapshot:stop" |
"dws:snapshot:list" |
|
Finalización de una sesión |
"dws:dmsSession:terminate" |
"dws:dmsGrpcOuter:operation" |
|
Operaciones de informe de carga de trabajo |
"dws:dmsWorkloadDiagnosisReport:create" |
"dws:dmsGrpcOuter:operation" |
|
Modificación de una regla de alarma |
"dws:dmsAlarmRule:update" |
"dws:dmsQuery:list" |
|
Habilitación de una regla de alarma |
"dws:dmsAlarmRule:enable" |
"dws:dmsQuery:list" |
|
Activación de una alarma de clúster |
"dws:dmsClusterAlarm:enable" |
"dws:dmsQuery:list" |
|
Deshabilitación de una alarma de clúster |
"dws:dmsClusterAlarm:disable" |
"dws:dmsQuery:list" |
|
gRPC external service |
"dws:dmsGrpcOuter:operation" |
"dws:dmsQuery:list", "dws:cluster:setSecuritySettings", "obs:bucket:ListAllMyBuckets" |
|
Adición de una sonda SQL |
"dws:dmsProbe:add" |
"dws:dmsGrpcOuter:operation" |
|
Modificación de una sonda SQL |
"dws:dmsProbe:update" |
"dws:dmsGrpcOuter:operation" |
|
Eliminación de una sonda SQL |
"dws:dmsProbe:delete" |
"dws:dmsGrpcOuter:operation" |
|
Habilitación o deshabilitación de una sonda SQL |
"dws:dmsProbe:enable" |
"dws:dmsGrpcOuter:operation" |
|
Crear un panel de usuario |
"dws:dmsUserBoard:create" |
"dws:dmsQuery:list" |
|
Modificación de un panel de usuario |
"dws:dmsUserBoard:update" |
"dws:dmsQuery:list" |
|
Eliminación de un panel de usuario |
"dws:dmsUserBoard:delete" |
"dws:dmsQuery:list" |
|
Finalización de una consulta |
"dws:dmsQuery:terminate" |
"dws:dmsGrpcOuter:operation" |
|
Activación o desactivación de DMS |
"dws:dmsService:enableOrDisable" |
"dws:dmsQuery:list" |
|
Modificación de configuraciones de almacenamiento de DMS |
"dws:dmsStorageConfig:modify" |
"dws:dmsQuery:list" |
|
Obtención o creación de una revisión de DDL |
"dws:dmsDdlExamine:getOrCreate" |
"dws:dmsGrpcOuter:operation" |
|
Operaciones de instantáneas de carga de trabajo |
"dws:dmsWorkloadDiagnosisSnapshot:create" |
"dws:dmsGrpcOuter:operation" |
|
Creación de una regla de alarma |
"dws:dmsAlarmRule:add" |
"dws:dmsQuery:list" |
|
Eliminación de una regla de alarma |
"dws:dmsAlarmRule:delete" |
"dws:dmsQuery:list" |
|
Ejecución de una sonda SQL |
"dws:dmsProbe:execute" |
"dws:dmsGrpcOuter:operation" |
|
Eliminación de un elemento de monitoreo |
"dws:dmsPerformanceMonitor:delete" |
"dws:dmsQuery:list" |
|
Activación o desactivación de métricas de monitoreo de DMS |
"dws:dmsCollectItem:enableOrDisable" |
"dws:dmsGrpcOuter:operation" |
|
Modificación de las configuraciones de monitoreo de DMS |
"dws:dmsCollectConfig:modify" |
"dws:dmsGrpcOuter:operation" |
|
Consulta condicional |
"dws:dmsQuery:list" |
"dws:cluster:list" |
|
Consulta condicional de OpenAPI |
"dws:dmsOpenapiQuery:list" |
"dws:cluster:list" |
|
Deshabilitación de una regla de alarma |
"dws:dmsAlarmRule:disable" |
"dws:dmsQuery:list" |
|
Eliminación de un registro de alarma |
"dws:dmsAlarmRecord:delete" |
"dws:dmsQuery:list" |
|
Comprobación de sondas SQL |
"dws:dmsProbe:check" |
"dws:dmsGrpcOuter:operation" |
|
Adición de un elemento de monitoreo |
"dws:dmsPerformanceMonitor:add" |
"dws:dmsQuery:list" |
|
Modificación de las métricas de monitoreo |
"dws:dmsPerformanceMonitor:update" |
"dws:dmsQuery:list" |
|
Descarga de tendencia de monitoreo histórico |
"dws:dmsTrendHistory:down" |
"dws:dmsQuery:list" |
|
Obtención de información de anillo de clúster |
"dws:ring:list" |
"dws:*:get*", "dws:*:list*" |
|
Obtención de la topología de procesos de clúster |
"dws:processTopo:list" |
"dws:*:get*", "dws:*:list*" |
|
Consultar información inteligente de O&M |
"dws:operationalTask:get" |
"dws:*:get*", "dws:*:list*" |
|
Operaciones inteligentes de O&M |
"dws:operationalTask:operate" |
"dws:*:get*", "dws:*:list*" |
|
Adición, eliminación y modificación de un clúster lógico |
"dws:logicalCluster:operate" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de un clúster lógico |
"dws:logicalCluster:get" |
"dws:*:get*", "dws:*:list*" |
|
Planificación de clústeres lógicos elásticos |
"dws:logicalClusterPlan:operate" |
"dws:*:get*", "dws:*:list*", "dws:logicalCluster:*", "dws:cluster:scaleOut", "iam:agencies:*", "iam:permissions:*Agency*" |
|
Creación de un servicio de punto de conexión |
"dws:vpcEndpointService:create" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de la lista de gestión de recursos |
"dws:workLoadManager:get" |
"dws:*:get*", "dws:*:list*" |
|
Operaciones de gestión de recursos |
"dws:workLoadManager:operate" |
"dws:*:get*", "dws:*:list*" |
|
Operaciones LTS |
"dws:ltsAccess:operate" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de información LTS |
"dws:ltsAccess:get" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de eventos |
"dws:event:list" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de especificaciones de eventos |
"dws:event:list" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de suscripciones a eventos |
"dws:eventSub:list" |
"dws:*:get*", "dws:*:list*" |
|
Creación de una suscripción a un evento |
"dws:eventSub:create" |
"dws:*:get*", "dws:*:list*", |
|
Actualización de una suscripción a un evento |
"dws:eventSub:update" |
"dws:*:get*", "dws:*:list*" |
|
Eliminación de una suscripción a un evento |
"dws:eventSub:delete" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de estadísticas de alarma |
"dws:alarmStatistic:list" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de detalles de alarma |
"dws:alarmDetail:list" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de configuraciones de alarmas |
"dws:alarmConfig:list" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de suscripciones de alarma |
"dws:alarmSub:list" |
"dws:*:get*", "dws:*:list*" |
|
Creación de una suscripción de alarma |
"dws:alarmSub:create" |
"dws:*:get*", "dws:*:list*", |
|
Actualización de una suscripción de alarma |
"dws:alarmSub:update" |
"dws:*:get*", "dws:*:list*" |
|
Eliminación de una suscripción de alarma |
"dws:alarmSub:delete" |
"dws:*:get*", "dws:*:list*" |
|
Entrega de operaciones de actualización de clúster (actualización, reversión, envío y reintento) |
"dws:cluster:doUpdate" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de las rutas de actualización disponibles de un clúster |
"dws:cluster:getUpgradePaths" |
"dws:*:get*", "dws:*:list*" |
|
Consulta de registros de actualización de clúster |
"dws:cluster:getUpgradeRecords" |
"dws:*:get*", "dws:*:list*" |
|
Autorización mediante la Política de permisos detallados
- Inicie sesión en la consola de IAM y cree una política personalizada.
Para obtener más información, consulte Creación de políticas personalizadas en Guía de usuario de Identity and Access Management.
Consulte lo siguiente para crear la política:
- Utilice la cuenta de administrador de IAM, es decir, el usuario del grupo de usuarios admin, porque solo el administrador de IAM tiene los permisos para crear usuarios y grupos de usuarios y modificar los permisos de grupos de usuarios.
- GaussDB(DWS) es un servicio a nivel de proyecto, por lo que su Scope debe establecerse en Project-level services. Si se requiere que esta política entre en vigor para varios proyectos, se requiere autorización para cada proyecto.
- Dos plantillas de política GaussDB(DWS) están preconfiguradas en IAM. Al crear una política personalizada, puede seleccionar cualquiera de las siguientes plantillas y modificar la instrucción de autorización de política basada en la plantilla:
- DWS Admin: tiene todos los permisos de ejecución en GaussDB(DWS).
- DWS Viewer: tiene el permiso de solo lectura en GaussDB(DWS).
- Puede agregar permisos correspondientes a las operaciones de GaussDB(DWS) o a las RESTful APIs enumeradas en Lista de acciones admitidas la lista de acciones de la sentencia de autorización de políticas, para que la política pueda obtener los permisos.
Por ejemplo, si dws:cluster:create se agrega a la lista de acciones de una sentencia de política, la política tiene el permiso para crear o restaurar clústeres.
- Si desea utilizar otros servicios, conceda permisos de operación relacionados en estos servicios. Para obtener más información, consulte los documentos de ayuda de los servicios relacionados.
Por ejemplo, al crear un clúster de almacén de datos, debe configurar la VPC a la que pertenece el clúster. Para obtener la lista de VPC, agregue permiso vpc:*:get* a la sentencia de política.
- Cree un grupo de usuarios.
Para obtener más información, consulte Creación de un grupo de usuarios en la Guía de usuario de Identity and Access Management.
- Agregue usuarios al grupo de usuarios y conceda la nueva política personalizada al grupo de usuarios para que los usuarios en él puedan obtener los permisos definidos por la política.
Para obtener más información, consulte Consulta y modificación de la información del grupo de usuarios en la Guía del usuario de Identity and Access Management.
Lógica de autenticación
Si un usuario se le conceden permisos de varias políticas o de solo una política que contiene las sentencias de Allow y Deny, la autenticación comienza desde las sentencias Deny. La siguiente figura muestra la lógica de autenticación para el acceso a recursos.
Las acciones de cada política tienen la relación OR.
- Un usuario accede al sistema y realiza una solicitud de operación.
- El sistema evalúa todas las políticas de permisos asignadas al usuario.
- En estas políticas, el sistema busca permisos de denegación explícitos. Si el sistema encuentra una denegación explícita aplicable, se devolverá una decisión de Deny y la autenticación finalizará.
- Si no se encuentra una denegación explícita, el sistema busca los permisos permitidos que se aplicarían a la solicitud. Si el sistema encuentra un permiso permitido explícito que se aplique, devuelve una decisión de Allow y finaliza la autenticación.
- Si no se encuentra ningún permiso explícito de permiso, IAM devuelve una decisión de Denegación y finaliza la autenticación.