Control de acceso con la IAM

Para otorgar acceso a las operaciones de Google Cloud Managed Lustre, asigna roles 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 roles

Managed Lustre usa los siguientes permisos:

Permiso Descripción
lustre.instances.create Crea instancias nuevas
lustre.instances.delete Borra las instancias
lustre.instances.update Actualizar 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 Enumera todas las ubicaciones compatibles
lustre.mirrors.create Crea duplicaciones nuevas
lustre.mirrors.delete Borra duplicaciones
lustre.mirrors.update Actualiza los espejos
lustre.mirrors.get Describir los espejos
lustre.mirrors.list Enumera espejos
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 de forma directa, sino que debes otorgar un rol que contenga permisos. Los roles predefinidos de Managed Lustre son los 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 los roles predefinidos para Managed Lustre, así como el rol básico de editor:

Función Editor (roles/editor) Managed Lustre (roles/lustre.*)
Administrador (roles/lustre.admin) Visualizador (roles/lustre.viewer)
Crea instancias
Borra las instancias
Actualizar instancias
Obtener instancias
Mostrar lista de instancias
Importar o exportar datos desde o hacia Cloud Storage
Configura una duplicación de Cloud Storage
Obtén una ubicación
Enumera las ubicaciones compatibles
Enumerar las operaciones de larga duración
Obtener una operación
Cancela una operación
Borra una operación

Funciones personalizadas

Si los roles predefinidos disponibles no cumplen con los requisitos de acceso de tu organización, puedes crear y aplicar roles de IAM personalizados.

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 recursos de Google Cloud 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 es necesario 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 ninguna configuración del agente de servicio.

Funciones que requieren permisos de 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.
Duplicación de Cloud Storage Rol personalizado que otorga storage.buckets.get, storage.buckets.update, storage.objects.get y storage.objects.list Bucket de Cloud Storage Permite que el agente de servicio cree notificaciones de Pub/Sub y duplique objetos del bucket en la instancia.
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.

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 comando services identity create:

    gcloud beta services identity create \
      --service=lustre.googleapis.com \
      --project=PROJECT_NUMBER_OR_ID
    

    Reemplaza PROJECT_NUMBER_OR_ID por el número o 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.
    
  • Si ya creaste una instancia de Managed Lustre, para construir la identidad del agente de servicio, recupera el número de proyecto con el comando gcloud projects describe:

    gcloud projects describe PROJECT_ID --format="value(projectNumber)"
    

    Reemplaza PROJECT_ID con 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.
    

Otorga permisos al agente de servicio

Después de obtener la identidad de tu agente de servicio, consulta la siguiente documentación para otorgar el rol requerido para tu función:

Permisos adicionales Google Cloud requeridos

Además de los permisos de lustre, es posible que necesites permisos en otros servicios deGoogle Cloud para realizar tareas específicas:

Tarea Permiso
Crear red de VPC Consulta la sección Permisos necesarios 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.