Políticas de permisos y acciones admitidas
En este capítulo se describe la gestión detallada de permisos para su CCE. Si su cuenta no necesita los usuarios individuales de IAM, puede omitir este capítulo.
De forma predeterminada, los nuevos usuarios de IAM no tienen permisos asignados. Debe agregar un usuario a uno o más grupos y adjuntar políticas o roles de permisos a estos grupos. Los usuarios heredan permisos de los grupos a los que se agregan y pueden realizar operaciones específicas a servicios en la nube según los permisos. Para obtener más información acerca de la sintaxis de políticas y los ejemplos de políticas, vea la Gestión de permisos.
Los permisos se clasifican en roles y políticas según la granularidad de la autorización. Los roles son un tipo de mecanismo de autorización basado en servicios y de grano grueso que define permisos relacionados con las responsabilidades del usuario. Las políticas definen los permisos basados en API para operaciones en los recursos específicos bajo las ciertas condiciones, lo que permite un control de acceso más detallado y seguro de los recursos en la nube.
Si desea permitir o denegar el acceso a una API, la autorización detallada es una buena opción.
Una cuenta tiene todos los permisos necesarios para invocar a todas las API, pero a los usuarios de IAM se les deben asignar los permisos para invocar a las API requeridas. Los permisos necesarios para invocar a una API están determinados por las acciones admitidas por la API. Solo los usuarios a los que se les han concedido permisos pueden invocar a la API correctamente. Por ejemplo, si un usuario de IAM desea consultar ECS mediante una API, se deben tener permisos que permitan la acción ecs:servers:list.
Acciones admitidas
Hay dos tipos de políticas: las definidas por el sistema y las personalizadas. Si los permisos preestablecidos en el sistema no cumplen con sus requisitos, puede crear las políticas personalizadas y aplicarlas a los grupos de usuarios para un control de acceso refinado. Las operaciones admitidas por las políticas son específicas de las API. Los siguientes son conceptos comunes relacionados con las políticas:
- Permiso: una declaración en una política que permite o niega ciertas operaciones.
- API: las API de REST que se pueden invocar en una política personalizada.
- Acciones: agregadas a una política personalizada para controlar los permisos para operaciones específicas.
- Acciones dependientes: acciones de las que depende una acción específica para tener efecto. Al asignar permisos para la acción a un usuario, también debe asignar permisos para las acciones dependientes.
- Proyectos de IAM y proyectos de empresa: tipo de proyectos para los que una acción entrará en vigor. Las políticas que contienen las acciones que admiten los proyectos de IAM y de empresa se pueden asignar a los grupos de usuarios y tener efecto tanto en IAM como en Enterprise Management. Las políticas que solo contienen las acciones que admiten los proyectos de IAM se pueden asignar a los grupos de usuarios y solo tienen efecto para IAM. Dichas políticas no entrarán en vigor si se asignan a los grupos de usuarios en Enterprise Management. Para obtener más información, consulte ¿Cuáles son las diferencias entre IAM y Enterprise Management?
La marca de verificación (√) y el símbolo de cruz (x) indican respectivamente que una acción tiene efecto o no tiene efecto para el tipo correspondiente de proyectos.
CCE admite las siguientes acciones que se pueden definir en las políticas personalizadas:
Permiso |
API |
Acción |
Proyectos de IAM |
Proyecto empresarial |
---|---|---|---|---|
Listado de clústeres en un proyecto especificado |
GET /api/v3/projects/{project_id}/clusters |
cce:cluster:list |
√ |
√ |
Obtención de información acerca de un clúster especificado |
GET /api/v3/projects/{project_id}/clusters/{cluster_id} |
cce:cluster:get |
√ |
√ |
Creación de un clúster |
POST /api/v3/projects/{project_id}/clusters |
cce:cluster:create |
√ |
√ |
Actualización de información acerca de un clúster especificado |
PUT /api/v3/projects/{project_id}/clusters/{cluster_id} |
cce:cluster:update |
√ |
√ |
Eliminación de un clúster |
DELETE /api/v3/projects/{project_id}/clusters/{cluster_id} |
cce:cluster:delete |
√ |
√ |
Despierta de un clúster |
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/operation/awake |
cce:cluster:start |
√ |
√ |
Hibernación de un clúster |
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/operation/hibernate |
cce:cluster:stop |
√ |
√ |
Obtención de un certificado de clúster |
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/clustercert |
cce:cluster:get |
√ |
√ |
Permiso |
API |
Acción |
Proyectos de IAM |
Proyecto empresarial |
---|---|---|---|---|
Obtención de información acerca de todos los nodos de un clúster |
GET /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes |
cce:node:list |
√ |
√ |
Obtención de información acerca de un nodo especificado |
GET /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/{node_id} |
cce:node:get |
√ |
√ |
Creación de un nodo |
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes |
cce:node:create |
√ |
√ |
Actualización de información acerca de un nodo especificado |
PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/{node_id} |
cce:node:update |
√ |
√ |
Eliminación de un nodo |
DELETE /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/{node_id} |
cce:node:delete |
√ |
√ |
Permiso |
API |
Acción |
Proyectos de IAM |
Proyecto empresarial |
---|---|---|---|---|
Obtención de información sobre un trabajo |
GET /api/v3/projects/{project_id}/jobs/{job_id} |
cce:job:get |
√ |
√ |
Permiso |
API |
Acción |
Proyectos de IAM |
Proyecto empresarial |
---|---|---|---|---|
Obtención de información sobre todos los pools de nodos de un clúster especificado |
GET /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools |
cce:nodepool:list |
√ |
√ |
Obtención de información sobre un pool de nodo |
GET /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id} |
cce:nodepool:get |
√ |
√ |
Creación de un pool de nodos |
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools |
cce:nodepool:create |
√ |
√ |
Actualización de información sobre un pool de nodos |
PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id} |
cce:nodepool:update |
√ |
√ |
Eliminación de un pool de nodo |
DELETE /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id} |
cce:nodepool:delete |
√ |
√ |
Permiso |
API |
Acción |
Proyectos de IAM |
Proyecto empresarial |
---|---|---|---|---|
Creación de un PersistentVolumeClaim |
POST /api/v1/namespaces/{namespace}/cloudpersistentvolumeclaims |
cce:storage:create |
√ |
√ |
Eliminación de un PersistentVolumeClaim |
DELETE /api/v1/namespaces/{namespace}/cloudpersistentvolumeclaims/{name} |
cce:storage:delete |
√ |
√ |
Permiso |
API |
Acción |
Proyectos de IAM |
Proyecto empresarial |
---|---|---|---|---|
Creación de una instancia de complemento |
POST /api/v3/addons |
cce:addonInstance:create |
√ |
√ |
Obtención de información sobre una instancia de complemento |
GET /api/v3/addons/{id}?cluster_id={cluster_id} |
cce:addonInstance:get |
√ |
√ |
Listado de todas las instancias de complementos |
GET /api/v3/addons?cluster_id={cluster_id} |
cce:addonInstance:list |
√ |
√ |
Eliminación de una instancia de complemento |
DELETE /api/v3/addons/{id}?cluster_id={cluster_id} |
cce:addonInstance:delete |
√ |
√ |
Actualización de una instancia de complemento |
PUT /api/v3/addons/{id} |
cce:addonInstance:update |
√ |
√ |
Permiso |
API |
Acción |
Proyectos de IAM |
Proyecto empresarial |
---|---|---|---|---|
Consulta de detalles de cuota |
GET /api/v3/projects/{project_id}/quotas |
cce:quota:get |
√ |
√ |