エージェント ベースのプロジェクト レベルの権限

エージェント ベースの転送には、サービス エージェントと転送エージェント アカウントという 2 つの異なるエンティティに対するプロジェクト レベルの IAM 権限が必要です。

このページの権限は、転送にファイル システム、HDFS、または S3 互換ストレージが関係する場合にのみ構成してください。転送がエージェントレスの場合は、このページでロールを構成しないでください。ソースと宛先へのアクセスを構成するに進みます。

エージェント ベースの転送では、次の ID が使用されます。

  • サービス エージェント: Storage Transfer Service が転送エージェントとタスクを調整するために使用する、Google が管理するサービス アカウント。
  • 転送エージェント アカウント: クライアント マシンまたはインスタンスで転送エージェントを認証して実行するために使用される Google Cloud ユーザー アカウントまたはユーザー管理のサービス アカウント。

IAM ロールの付与に関する一般的な情報については、リソースに対するアクセス権の付与、変更、取り消しをご覧ください。

サービス エージェントの権限

Storage Transfer Service は、サービス エージェントを使用して、エージェント駆動の転送を調整します。

Storage Transfer Service が Google Cloud と転送エージェント間の処理を調整できるようにするには、Storage Transfer Service を実行しているプロジェクトのサービス エージェントに次のロールを付与します。

  • Storage Transfer Service エージェント(roles/storagetransfer.serviceAgent)

サービス エージェントのメールアドレスを取得する

サービス エージェントにロールを付与するには、サービス エージェントのメールアドレス識別子が必要です。サービス エージェントは、転送ジョブを初めて作成するとき、gcloud transfer 設定コマンドを実行するとき、 Google Cloud コンソールの [Storage Transfer] ページにアクセスするとき、または googleServiceAccounts.get を呼び出すときに自動的に作成されます。

サービス エージェントのメールアドレスを取得するには:

  1. googleServiceAccounts.get リファレンス ページに移動します。[Try this method] というインタラクティブ パネルが開きます。
  2. [Request parameters] にプロジェクト ID を入力します。
  3. [実行] をクリックします。

accountEmail の値をコピーします。メールアドレスは project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com の形式で指定します。

サービス エージェントのロールを付与する

Storage Transfer Service エージェントのロールを付与するには:

Google Cloud コンソール

  1. Google Cloud コンソールで、Storage Transfer Service を実行しているプロジェクトの [IAM] ページに移動します。

    IAM に移動

  2. [アクセス権を付与] をクリックします。

  3. [新しいプリンシパル] フィールドに、サービス エージェントのメールアドレスを入力します。

  4. [ロールを選択] プルダウン リストで、[Storage Transfer Service エージェント](roles/storagetransfer.serviceAgent)を検索して選択します。

  5. [保存] をクリックします。

gcloud

gcloud projects add-iam-policy-binding を実行します。

gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:SERVICE_AGENT_EMAIL" \
--role="roles/storagetransfer.serviceAgent"

次のように置き換えます。

転送エージェント アカウントの権限

転送エージェントは、ユーザー アカウントまたはユーザー管理のサービス アカウントの認証情報を使用して、クライアント マシンで実行されます。

  • ユーザー アカウントは、認証済みユーザーの認証情報を使用します。
  • ユーザー管理のサービス アカウントは、サービス アカウント キーまたは ID 連携を使用します。サービス アカウントを作成するには、サービス アカウントの作成と管理をご覧ください。

転送エージェントが Storage Transfer Service に接続し、タスクを受信して、ステータスをログに記録することを承認するには、エージェント プールをホストする Google Cloud プロジェクトに次のロールを割り当てます。

  • Storage Transfer エージェント(roles/storagetransfer.transferAgent)

このロールを付与するには:

Google Cloud コンソール

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

    IAM に移動

  2. エージェント プールを含むプロジェクトが選択されていることを確認します。

  3. [アクセス権を付与] をクリックします。

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

  5. [ロールを選択] プルダウン リストで、[Storage Transfer Agent](roles/storagetransfer.transferAgent)を検索して選択します。

  6. [保存] をクリックします。

gcloud

gcloud projects add-iam-policy-binding を実行します。

gcloud projects add-iam-policy-binding AGENT_POOL_PROJECT_ID \
--member="serviceAccount_OR_user:TRANSFER_AGENT_ACCOUNT" \
--role="roles/storagetransfer.transferAgent"

次のように置き換えます。

  • AGENT_POOL_PROJECT_ID: エージェント プールを含むプロジェクト。
  • serviceAccount_OR_user: 転送エージェント アカウントがサービス アカウントの場合は serviceAccount を指定し、エージェントがユーザー アカウントでインストールされている場合は user を指定します。
  • TRANSFER_AGENT_ACCOUNT: 転送エージェントを実行しているアカウントのメールアドレス。

次のステップ

プロジェクトの権限を構成したら、次の設定手順を順番に実施します。

  1. エージェント プールを作成する。
  2. プールに転送エージェントをインストールします。
  3. ストレージ システムのアクセス権限を構成します。
  4. ロールと権限のリファレンス全体を確認する。