インポートとエクスポートのための限定的な権限の付与

このページでは、RDB バックアップをインポートまたはエクスポートするために、ユーザー アカウントに適用する最小限の特権を持つ Cloud IAM 権限について説明します。最小限の特権を持つこれらの権限は、幅広い Cloud IAM ロールとそれに関連付けられた権限をユーザー アカウントに付与しない場合に使用します。

インポートとエクスポートの両方を有効にする単純な権限が必要な場合は、インポートまたはエクスポートするユーザーのアカウントに Cloud Memorystore Redis Admin ロールと Storage Admin ロールを適用します。

インポートとエクスポートに最低限必要な権限

以下に、最小限の特権でインポートとエクスポートを行うために、ユーザー アカウントに付与するカスタムロールに追加する必要がある権限を示します。カスタムロールを作成する方法については、カスタムロールを作成するをご覧ください。

また、インスタンスのサービス アカウントに追加のカスタムロールを作成し、それを Cloud Storage バケットのバケットレベルの権限に適用する必要があります。

インスタンスのサービス アカウントを確認するには、次のコマンドを実行して persistenceIamIdentity の下に表示されているサービス アカウントをメモします。

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

サービス アカウントの形式は「xxxxxxxxxxxx-compute@developer.gserviceaccount.com」です。

サービス アカウントの権限

サービス アカウントへのストレージ権限の付与は、プロジェクト全体ではなくバケットレベルでのみ行う必要があります。手順については、バケットレベルのポリシーにメンバーを追加するをご覧ください。

サービス アカウントにバケットレベルの権限を付与すると、「メモリストアは、サービス アカウント xxxxxxxxxxxx-compute@developer.gserviceaccount.com にインポート / エクスポートに必要な権限があるかどうかを確認できません」というメッセージは無視できます。権限の確認または更新に関してサポートが必要な場合は、プロジェクトの管理者にお問い合わせください。必要な権限については、インポート / エクスポートの権限に関するドキュメントをご覧ください。下記の権限をユーザー アカウントとサービス アカウントのカスタムロールに適用すると、インポート / エクスポートが成功します。

サービス アカウントのカスタムロールの権限 gcloud を使用したインポート gcloud を使用したエクスポート Cloud Console を使用したインポート Cloud Console を使用したエクスポート
storage.buckets.get
storage.objects.get X X
storage.objects.create X X
storage.objects.delete X 省略可。
(既存の RDB ファイルを上書きする権限を付与します)。
X 省略可。
(既存の RDB ファイルを上書きする権限を付与します)。

ユーザー アカウントの権限

ユーザー アカウントのカスタムロールの権限 gcloud を使用したインポート gcloud を使用したエクスポート Cloud Console を使用したインポート 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

次のステップ