このページでは、RDB バックアップをインポートまたはエクスポートするために、ユーザー アカウントに適用する最小限の特権を持つ IAM 権限について説明します。ユーザー アカウントに一般的な 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 | ✓ | ✓ |
次のステップ
- インポートとエクスポートの概要で、インポートとエクスポートについて学習します。
- Redis インスタンスへのデータのインポートで、インポートの手順を実行します。
- Redis インスタンスからデータをエクスポートするで、エクスポートの手順を実行します。