Accorder des autorisations restreintes pour l'importation et l'exportation

Cette page décrit les autorisations IAM basées sur le principe du moindre privilège que vous devez appliquer à un compte utilisateur afin de pouvoir importer ou exporter des sauvegardes RDB. Vous devez utiliser ces autorisations restreintes dans les scénarios où vous ne souhaitez pas accorder de rôles IAM larges et leurs autorisations associées à un compte utilisateur.

Si vous souhaitez utiliser des autorisations simples qui permettent à la fois d'importer et d'exporter des données, appliquez le rôle Administrateur Redis Cloud Memorystore et le rôle Administrateur de l'espace de stockage au compte de l'utilisateur qui doit importer ou exporter.

Autorisations minimales requises pour l'importation et l'exportation

Voici la liste des autorisations que vous devez ajouter à un rôle personnalisé accordé à un compte utilisateur pour l'importation et l'exportation avec des privilèges minimaux. Pour apprendre à créer un rôle personnalisé, consultez la page Créer un rôle personnalisé.

Vous devez également créer un rôle personnalisé supplémentaire pour le compte de service de votre instance et l'appliquer aux autorisations au niveau du bucket pour votre bucket Cloud Storage.

Pour trouver le compte de service de votre instance, exécutez la commande suivante et notez le compte de service répertorié sous persistenceIamIdentity :

gcloud redis instances describe [INSTANCE_ID] --region=[REGION]

Le compte de service doit respecter le format suivant : "xxxxxxxxxxxx-compute@developer.gserviceaccount.com".

Autorisations pour le compte de service

Notez que vous devez uniquement accorder des autorisations de stockage au compte de service au niveau du bucket, et non au niveau du projet. Pour en savoir plus, consultez la section Ajouter un membre à une stratégie au niveau du bucket.

Une fois que vous avez accordé les autorisations au niveau du bucket à votre compte de service, vous pouvez ignorer le message indiquant "Memorystore ne peut pas vérifier si le compte de service xxxxxxxxxxxx-compute@developer.gserviceaccount.com dispose des autorisations requises pour l'importation/l'exportation. Pour obtenir de l'aide concernant la vérification ou la mise à jour des autorisations, contactez l'administrateur de votre projet. Pour connaître les autorisations requises, consultez la documentation sur les autorisations d'importation et d'exportation." Si vous appliquez les autorisations répertoriées ci-dessous aux rôles personnalisés du compte utilisateur et du compte de service, l'importation ou l'exportation aboutira.

Autorisations pour le rôle personnalisé pour le compte de service Importer avec gcloud Exporter avec gcloud Importer avec Cloud Console Exporter avec Cloud Console
storage.buckets.get
storage.objects.get X X
storage.objects.create X X
storage.objects.delete X Facultatif.
(accorde l'autorisation d'écraser le fichier RDB existant).
X Facultatif.
(accorde l'autorisation d'écraser le fichier RDB existant).

Autorisations pour le compte utilisateur

Autorisations pour le rôle personnalisé pour le compte utilisateur Importer avec gcloud Exporter avec gcloud Importer avec Cloud Console Exporter avec Cloud Console
resourcemanager.projects.get X X
redis.instances.get
redis.instances.list X X X X
redis.instances.import X X
redis.instances.export X X
redis.operations.get X X
redis.operations.list X X
redis.operations.cancel
storage.buckets.list X X
storage.buckets.get X X
storage.objects.list X X
storage.objects.get X X

Étape suivante