Pour accorder l'accès aux opérations Google Cloud Managed Lustre, vous devez attribuer des rôles IAM (Identity and Access Management) aux utilisateurs.
Les autorisations IAM ne contrôlent que l'accès aux opérations Google Cloud Managed Lustre, comme la création d'une instance Google Cloud Managed Lustre. Pour contrôler l'accès aux opérations du système de fichiers sur l'instance, comme la lecture ou l'écriture dans un fichier, utilisez les autorisations de fichier POSIX.
Autorisations et rôles
Managed Lustre utilise les autorisations suivantes :
| Autorisation | Description |
|---|---|
lustre.instances.create |
Créer des instances |
lustre.instances.delete |
Supprimer des instances |
lustre.instances.update |
Mettre à jour les instances. Ne permet pas la suppression |
lustre.instances.get |
Décrire les instances |
lustre.instances.list |
Répertorier toutes les instances |
lustre.instances.exportData
|
Exporter des données de Managed Lustre vers Cloud Storage |
lustre.instances.importData
|
Importer des données de Cloud Storage vers Managed Lustre |
lustre.locations.get |
Obtenir un emplacement |
lustre.locations.list |
Répertorier tous les emplacements compatibles |
lustre.operations.list |
Répertorier les opérations |
lustre.operations.get |
Obtenir une opération |
lustre.operations.cancel |
Annuler une opération |
lustre.operations.delete |
Supprimer une opération |
Google Cloud ne permet pas d'accorder directement des autorisations individuelles. Vous devez accorder un rôle contenant des autorisations. Voici les rôles prédéfinis de Managed Lustre :
- Administrateur Managed Lustre (
roles/lustre.admin) - Lecteur Managed Lustre (
roles/lustre.viewer)
Le tableau suivant répertorie les autorisations accordées par les rôles prédéfinis pour Managed Lustre, ainsi que le rôle d'éditeur de base :
| Capacité | Éditeur (roles/editor) |
Managed Lustre (roles/lustre.*)
|
|
|---|---|---|---|
admin |
viewer |
||
| Créer des instances | |||
| Supprimer des instances | |||
| Mettre à jour les instances | |||
| Obtenir des instances | |||
| Répertorier les instances | |||
| Importer/exporter des données depuis/vers Cloud Storage | |||
| Obtenir un emplacement | |||
| Répertorier les emplacements compatibles | |||
| Répertorier les opérations de longue durée | |||
| Obtenir une opération | |||
| Annuler une opération | |||
| Supprimer une opération | |||
Rôles personnalisés
Si les rôles prédéfinis disponibles ne répondent pas aux exigences d'accès de votre organisation, vous pouvez créer et appliquer des rôles IAM personnalisés.
Lorsque vous créez des rôles personnalisés, nous vous recommandons d'utiliser une combinaison de rôles prédéfinis pour vous assurer que les autorisations appropriées sont incluses.
Agent de service Managed Lustre
Managed Lustre utilise un agent de service pour accéder à d'autres Google Cloud ressources et effectuer des actions en votre nom. Un agent de service est un compte de service géré par Google qui est créé automatiquement la première fois que vous créez une instance Managed Lustre dans un projet. Il peut également être créé manuellement.
L'attribution d'autorisations à l'agent de service n'est requise que si vous utilisez certaines fonctionnalités facultatives. Pour la création d'instances standards et les opérations du système de fichiers sans ces fonctionnalités, aucune configuration d'agent de service n'est nécessaire.
Fonctionnalités nécessitant des autorisations d'agent de service
Les fonctionnalités suivantes nécessitent l'attribution de rôles IAM à l'agent de service :
| Fonctionnalité | Rôle requis | Ressource cible | Description |
|---|---|---|---|
| Clés de chiffrement gérées par le client (CMEK) | roles/cloudkms.cryptoKeyEncrypterDecrypter |
Clé Cloud KMS | Permet à l'agent de service de chiffrer et de déchiffrer les données au repos à l'aide de votre clé. |
| Transférer des données depuis Cloud Storage | roles/storage.objectViewer |
Bucket Cloud Storage | Permet à l'agent de service de lire et d'importer des objets de votre bucket dans l'instance. |
| Transférer des données vers et depuis Cloud Storage | roles/storage.objectUser |
Bucket Cloud Storage | Permet à l'agent de service de lire et d'écrire des objets lors des opérations d'importation et d'exportation. |
Si vous n'utilisez aucune de ces fonctionnalités, vous pouvez ignorer les étapes restantes de cette section.
Créer ou récupérer l'identité de l'agent de service
Pour accorder des autorisations à l'agent de service, vous devez obtenir son identité. L'agent de service utilise le format suivant :
service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com
Utilisez l'une des options suivantes pour créer ou déterminer l'identité de l'agent de service :
Si vous n'avez pas créé d'instance Managed Lustre : créez manuellement l'agent de service en exécutant la commande
services identity create:gcloud beta services identity create \ --service=lustre.googleapis.com \ --project=PROJECT_NUMBER_OR_IDRemplacez PROJECT_NUMBER_OR_ID par le numéro ou l'ID du projet dans lequel vous souhaitez créer l'instance Managed Lustre. La commande renvoie un résultat semblable à celui-ci :
Service identity created: service-1234567890@gcp-sa-lustre.iam.gserviceaccount.comSi vous avez déjà créé une instance Managed Lustre : pour créer l'identité de l'agent de service, récupérez le numéro de votre projet à l'aide de la commande
gcloud projects describe:gcloud projects describe PROJECT_ID --format="value(projectNumber)"Remplacez PROJECT_ID par l'ID de votre projet. Ensuite, remplacez PROJECT_NUMBER dans l'adresse e-mail de l'agent de service :
service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com
Accorder des autorisations à l'agent de service
Après avoir obtenu l'identité de votre agent de service, consultez la documentation suivante pour accorder le rôle requis pour votre fonctionnalité :
Autorisations supplémentaires requises Google Cloud
En plus des autorisations lustre, vous pouvez avoir besoin d'autorisations dans d'autres
Google Cloud services pour effectuer des tâches spécifiques :
| Tâche | Autorisation |
|---|---|
| Créer un réseau VPC | Consultez la section Autorisations requises de Configurer un réseau VPC |
| Créer des VM Compute Engine | Administrateur d'instances Compute (v1).
(roles/compute.instanceAdmin.v1)
Pour en savoir plus, consultez la
documentation Compute Engine. |
| Créer et gérer des clusters Google Kubernetes Engine | Administrateur de conteneurs.
(roles/container.admin)
Pour en savoir plus, consultez la documentation Google Kubernetes Engine. |