Control de acceso con la IAM

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

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

    Reemplaza 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.com
    
  • Si 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:

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.