必要なユーザー権限

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 のロールを付与する

コンソール

  1. Google Cloud コンソールで、[IAM] ページに移動します。

    IAM に移動

  2. 転送プロジェクトが選択されていることを確認し、[アクセスを許可] をクリックします。

  3. [新しいプリンシパル] フィールドに、ユーザー アカウントのメールアドレスまたはサービス アカウントを入力します。

  4. [ロールを選択] プルダウン リストで、Storage Transfer Admin、Storage Transfer User、または Storage Transfer Viewer を検索して選択します。

  5. 省略可: Google Cloud コンソールで、サービス エージェントの権限が不足していないか確認し、転送の作成時に自動的に付与するように求めるメッセージを表示するには、次の操作を行います。

    1. [+ 別のロールを追加] をクリックします。
    2. resourcemanager.projects.getIamPolicy を付与するロール閲覧者(roles/iam.roleViewer)を検索して選択します。
  6. [保存] をクリックします。

gcloud

  1. 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 のいずれか。
  2. 省略可: 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.getIamPolicy
  • storage.buckets.setIamPolicy

次のいずれかの事前定義ロールにより、これらの権限が付与されます。

  • Storage 管理者(roles/storage.admin)
  • ストレージのレガシー バケット オーナー(roles/storage.legacyBucketOwner)

バケットに対する Cloud Storage ロールを付与する

コンソール

  1. Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。

    [バケット] に移動

  2. バケットのバケット オーバーフロー メニュー()をクリックし、[編集権限] を選択します。
  3. [+ プリンシパルを追加] をクリックします。
  4. [新しいプリンシパル] フィールドに、ユーザー アカウントのメールアドレスまたはサービス アカウントを入力します。
  5. [ロールを選択] プルダウン リストで、Storage Admin を検索して選択します。
  6. [保存] をクリックします。

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 の形式のアカウント。

次のステップ

次のステップは、転送に転送エージェントが必要かどうかによって異なります。