Storage Transfer Service で転送を作成、管理、モニタリングするには、ユーザー アカウント、自動化ツール、またはサービス アカウントに IAM 権限とロールが必要です。
これらの権限は、エージェントレス転送とエージェント ベースの転送の両方に適用されます。IAM ロールの付与に関する一般的な情報については、リソースに対するアクセス権の付与、変更、取り消しをご覧ください。
必要な Storage Transfer Service の権限
Storage Transfer Service を操作するには、転送を作成する Google Cloud プロジェクトのユーザー アカウント、グループ、またはサービス アカウントに、次の事前定義ロールのいずれか、または同等のカスタム権限を付与する必要があります。
| ロール | 主な機能 |
|---|---|
|
Storage Transfer 管理者 ( roles/storagetransfer.admin)
|
Storage Transfer Service リソースに対する完全な制御権限。
|
|
ストレージ転送ユーザー ( roles/storagetransfer.user)
|
削除権限なしで転送ジョブとエージェント プールを作成、更新、実行する:
|
|
ストレージ転送閲覧者 ( roles/storagetransfer.viewer)
|
転送ジョブ、オペレーション、エージェント プールを検査するための読み取り専用アクセス権。モニタリングと監査におすすめです。 |
各ロールの個々の権限の詳細なリストについては、ロールと権限のリファレンスをご覧ください。ユーザー管理サービス アカウントに権限を委任するように転送ジョブを構成する場合は、ユーザー アカウントにそのサービス アカウントのサービス アカウント ユーザー(roles/iam.serviceAccountUser)ロールも必要です。ユーザー管理サービス アカウントにサービス エージェントの権限を委任するをご覧ください。
プロジェクトに Storage Transfer Service のロールを付与する
コンソール
Google Cloud コンソールで、[IAM] ページに移動します。
転送プロジェクトが選択されていることを確認し、[アクセスを許可] をクリックします。
[新しいプリンシパル] フィールドに、ユーザー アカウントのメールアドレスまたはサービス アカウントを入力します。
[ロールを選択] プルダウン リストで、
Storage Transfer Admin、Storage Transfer User、またはStorage Transfer Viewerを検索して選択します。省略可: Google Cloud コンソールで、サービス エージェントの権限が不足していないか確認し、転送の作成時に自動的に付与するように求めるメッセージを表示するには、次の操作を行います。
- [+ 別のロールを追加] をクリックします。
resourcemanager.projects.getIamPolicyを付与するロール閲覧者(roles/iam.roleViewer)を検索して選択します。
[保存] をクリックします。
gcloud
Storage Transfer Service ロールを付与します。
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="PRINCIPAL" \ --role="roles/storagetransfer.ROLE"
次のように置き換えます。
- PROJECT_ID: 転送を実行するプロジェクト。
- PRINCIPAL: ユーザー アカウントの場合は
user:EMAIL、サービス アカウントの場合はserviceAccount:SA_EMAILの形式のアカウント。 - ROLE:
admin、user、viewerのいずれか。
省略可: Google Cloud コンソールでサービス エージェントの権限の不足を確認し、転送の作成時に自動的に付与するように求めるには、ロール閲覧者のロールを付与します。
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="PRINCIPAL" \ --role="roles/iam.roleViewer"
必要な Cloud Storage 権限
Cloud Storage バケットをソース、シンク、または中間ステージング ロケーションとして使用する転送を構成するには、アカウントにバケットの IAM ポリシーを表示および変更する権限が必要です。これにより、Storage Transfer Service サービス エージェントまたは転送エージェント アカウントに必要なロールを付与できます。
アカウントに必要なもの:
storage.buckets.getIamPolicystorage.buckets.setIamPolicy
次のいずれかの事前定義ロールにより、これらの権限が付与されます。
- Storage 管理者(
roles/storage.admin) - ストレージのレガシー バケット オーナー(
roles/storage.legacyBucketOwner)
バケットに対する Cloud Storage ロールを付与する
コンソール
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
- バケットのバケット オーバーフロー メニュー()をクリックし、[編集権限] を選択します。
- [+ プリンシパルを追加] をクリックします。
- [新しいプリンシパル] フィールドに、ユーザー アカウントのメールアドレスまたはサービス アカウントを入力します。
- [ロールを選択] プルダウン リストで、
Storage Adminを検索して選択します。 - [保存] をクリックします。
gcloud
gcloud storage buckets add-iam-policy-binding を実行します。
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
--member="PRINCIPAL" \
--role="roles/storage.admin"次のように置き換えます。
- BUCKET_NAME: ソース、シンク、または中間バケットの名前。
- PRINCIPAL: ユーザー アカウントの場合は
user:EMAIL、サービス アカウントの場合はserviceAccount:SA_EMAILの形式のアカウント。
次のステップ
次のステップは、転送に転送エージェントが必要かどうかによって異なります。
- Cloud Storage バケット間の転送、Amazon S3 から Cloud Storage への転送、Azure Blob Storage から Cloud Storage への転送など、エージェントレス転送の場合は、ユーザー アクセスの設定は完了しています。ソースと宛先へのアクセスを構成するまたは転送を作成するに進みます。
- 転送がエージェント ベース(ファイル システム、HDFS、S3 互換ストレージに関連する転送など)の場合は、エージェント ベースのプロジェクト レベルの権限に進みます。