Para otorgar acceso a las operaciones de Google Cloud Managed Lustre, asigna funciones de Identity and Access Management (IAM) a los usuarios.
Los permisos de IAM solo controlan el acceso a las operaciones de Google Cloud Managed Lustre, como crear una instancia de Google Cloud Managed Lustre. Para controlar el acceso a las operaciones del sistema de archivos en la instancia, como leer o escribir en un archivo, usa los permisos de archivo POSIX.
Permisos y funciones
Managed Lustre usa los siguientes permisos:
| Permiso | Descripción |
|---|---|
lustre.instances.create |
Crea instancias nuevas |
lustre.instances.delete |
Borra las instancias |
lustre.instances.update |
Actualiza instancias (no permite la eliminación) |
lustre.instances.get |
Describe instancias |
lustre.instances.list |
Crea una lista de todas las instancias |
lustre.instances.exportData
|
Exporta datos de Managed Lustre a Cloud Storage |
lustre.instances.importData
|
Importa datos de Cloud Storage a Managed Lustre |
lustre.locations.get |
Obtén una ubicación |
lustre.locations.list |
Crea una lista de todas las ubicaciones admitidas |
lustre.operations.list |
Mostrar lista de operaciones |
lustre.operations.get |
Obtener una operación |
lustre.operations.cancel |
Cancela una operación |
lustre.operations.delete |
Borra una operación |
Google Cloud no admite el otorgamiento de permisos individuales directamente; debes otorgar una función que contenga permisos. Las funciones predefinidas de Managed Lustre son las siguientes:
- Administrador de Managed Lustre (
roles/lustre.admin) - Visualizador de Managed Lustre (
roles/lustre.viewer)
En la siguiente tabla, se enumeran los permisos que otorgan las funciones predefinidas para Managed Lustre, así como la función básica Editor:
| Función | Editor (roles/editor) |
Managed Lustre (roles/lustre.*)
|
|
|---|---|---|---|
admin |
viewer |
||
| Crea instancias | |||
| Borra las instancias | |||
| Actualiza instancias | |||
| Obtén instancias | |||
| Crea una lista de instancias | |||
| Importa o exporta datos desde o hacia Cloud Storage | |||
| Obtén una ubicación | |||
| Crea una lista de ubicaciones admitidas | |||
| Enumera las operaciones de larga duración | |||
| Obtén una operación | |||
| Cancela una operación | |||
| Borra una operación | |||
Funciones personalizadas
Si las funciones predefinidas disponibles no satisfacen los requisitos de acceso de tu organización, puedes crear y aplicar funciones personalizadas de IAM.
Cuando crees roles personalizados, te recomendamos usar una combinación de roles predefinidos para garantizar que los permisos correctos se incluyan juntos.
Agente de servicio de Managed Lustre
Managed Lustre usa un agente de servicio para acceder a otros Google Cloud recursos y realizar acciones en tu nombre. Un agente de servicio es una cuenta de servicio administrada por Google que se crea automáticamente la primera vez que creas una instancia de Managed Lustre en un proyecto. También se puede crear de forma manual.
Solo se requiere otorgar permisos al agente de servicio si usas ciertas funciones opcionales. Para la creación de instancias estándar y las operaciones del sistema de archivos sin estas funciones, no se necesita configuración del agente de servicio.
Funciones que requieren permisos del agente de servicio
Las siguientes funciones requieren que se otorguen roles de IAM al agente de servicio:
| Función | Rol requerido | Recurso objetivo | Descripción |
|---|---|---|---|
| Claves de encriptación administradas por el cliente (CMEK) | roles/cloudkms.cryptoKeyEncrypterDecrypter |
Clave de Cloud KMS | Permite que el agente de servicio encripte y desencripte datos en reposo con tu clave. |
| Transfiere datos desde Cloud Storage | roles/storage.objectViewer |
Bucket de Cloud Storage | Permite que el agente de servicio lea e importe objetos de tu bucket a la instancia. |
| Transfiere datos hacia y desde Cloud Storage | roles/storage.objectUser |
Bucket de Cloud Storage | Permite que el agente de servicio lea y escriba objetos durante las operaciones de importación y exportación. |
Si no usas ninguna de estas funciones, puedes omitir los pasos restantes de esta sección.
Crea o recupera la identidad del agente de servicio
Para otorgar permisos al agente de servicio, debes obtener su identidad. El agente de servicio usa el siguiente formato:
service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com
Usa una de las siguientes opciones para crear o determinar la identidad del agente de servicio:
Si no creaste una instancia de Managed Lustre: Crea el agente de servicio de forma manual ejecutando el
services identity createcomando:gcloud beta services identity create \ --service=lustre.googleapis.com \ --project=PROJECT_NUMBER_OR_IDReemplaza PROJECT_NUMBER_OR_ID por el número o el ID del proyecto en el que deseas crear la instancia de Managed Lustre. El comando muestra un resultado similar al siguiente:
Service identity created: service-1234567890@gcp-sa-lustre.iam.gserviceaccount.comSi ya creaste una instancia de Managed Lustre: Para construir la identidad del agente de servicio, recupera el número de tu proyecto con el comando
gcloud projects describe:gcloud projects describe PROJECT_ID --format="value(projectNumber)"Reemplaza PROJECT_ID por el ID del proyecto. Luego, sustituye PROJECT_NUMBER en la dirección de correo electrónico del agente de servicio:
service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com
Otorga permisos al agente de servicio
Después de obtener la identidad del agente de servicio, consulta la siguiente documentación para otorgar la función requerida para tu función:
- Claves de encriptación administradas por el cliente (CMEK)
- Transfiere datos hacia y desde Cloud Storage
Permisos adicionales requeridos Google Cloud
Además de los permisos lustre, es posible que necesites permisos en otros
Google Cloud servicios para realizar tareas específicas:
| Tarea | Permiso |
|---|---|
| Crear red de VPC | Consulta la sección Permisos requeridos de Configura una red de VPC |
| Crea VMs de Compute Engine | Administrador de instancias de Compute (v1)
(roles/compute.instanceAdmin.v1)
Para obtener más información, consulta la
documentación de Compute Engine. |
| Crea y administra clústeres de Google Kubernetes Engine | Administrador de contenedores
(roles/container.admin)
Para obtener más información, consulta la documentación de Google Kubernetes Engine. |