データソースとデータシンクへのアクセスの構成

このページでは、Storage Transfer Service を使用するデータ転送に、データソースとデータシンクへのアクセス権を設定する方法について説明します。

要件

サービス アカウントの権限は、バケットレベルで付与されます。これらの権限をサービス アカウントに付与する権限が必要です。

  • ソースバケットと宛先バケットの roles/storage.legacyBucketReader
  • 宛先バケットか、ソースファイルを削除する場合はソースの roles/storage.objectAdmin
  • ソースファイルを削除しない場合、ソースの roles/storage.objectViewer

移管用 Pub/Sub を使用する予定がある場合、必要とする Pub/Sub トピックの IAM ロール roles/pubsub.publisher をサービス アカウントに付与します。

データソースへのアクセスの設定

Google Cloud Storage

Cloud Storage データソースへのアクセスを設定するには、Storage Transfer Service 権限に関連付けられたサービス アカウントにソースへのアクセスを許可する必要があります。

  1. サービス アカウントに使用するメールアドレスを取得します。

    1. googleServiceAccounts.get メソッドページの [この API を試す] セクションを使用します。

    2. projectID フィールドに、転送ジョブを作成するプロジェクトの ID を入力します。

    3. [実行] ボタンをクリックします。

    4. 表示されるレスポンスで、accountEmail の値を見つけてコピーします。

      メールの値の形式は次のようになります。project-[$PROJECT_NUMBER]@storage-transfer-service.iam.gserviceaccount.com

  2. このサービス アカウントのメールに、データにアクセスするために必要な役割を付与します。

    基本転送ジョブの場合、ストレージ オブジェクト閲覧者の役割を使用すると、サービス アカウントに必要な権限を付与できます。高度なデータ転送については、Storage Transfer Service の IAM 権限をご覧ください。

    バケットの役割を付与する詳しい手順については、バケットレベルのポリシーにメンバーを追加するをご覧ください。

Amazon S3

次の手順で、Amazon S3 バケットへのアクセスを設定します。

  1. AWS Identity and Access Management(AWS IAM)ユーザーを、transfer-user などのわかりやすい名前で作成します。名前が AWS IAM ユーザー名のガイドラインに従っていることを確認します(IAM エンティティとオブジェクトの制限についての記事をご覧ください)。

  2. AWS IAM ユーザーが、次のことを行うことができるようにします。

    • Amazon S3 バケットの一覧を表示する
    • バケットのロケーションを取得する
    • バケット内のオブジェクトを読み取る
    • (省略可)データの転送後に転送元のオブジェクトを削除する。オブジェクトの削除権限が必要になります。
  3. 設定する転送ジョブに、少なくとも 1 つのアクセスキーと秘密鍵のペアを作成します。転送ジョブごとにアクセスキーと秘密鍵のペアを個別に作成することもできます。

  4. Amazon Glacier にアーカイブされているすべてのオブジェクトを復元します。Amazon Glacier にアーカイブされている Amazon S3 のオブジェクトには、復元するまでアクセスできません。詳細については、Amazon Glacier から Cloud Storage への移行に関するホワイト ペーパーをご覧ください。

Microsoft Azure Blob Storage

Microsoft Azure Storage コンテナへのアクセスを構成するには、次の手順を実行します。

  1. 既存の Microsoft Azure Storage ユーザーを作成または使用して、Microsoft Azure Storage Blob コンテナのストレージ アカウントにアクセスします。

  2. コンテナレベルで SAS トークンを作成します。Shared Access Signature を使用した Azure Storage リソースへのアクセスの制限を付与するをご覧ください。

    SAS トークンのデフォルトの有効期限は 8 時間です。SAS トークンを作成する際は、転送を正常に完了できるよう、適切な有効期限を設定してください。

URL リスト

データソースが URL リストの場合は、その URL リストの各オブジェクトが一般公開されていることを確認してください。

データシンクへのアクセスの設定

データ転送用のデータシンクは常に Cloud Storage バケットです。バケットをデータシンクとして使用するには、Storage Transfer Service 権限に関連付けられたサービス アカウントにシンクへのアクセスを許可する必要があります。

  1. サービス アカウントに使用するメールアドレスを取得します。

    1. googleServiceAccounts.get メソッドページの [この API を試す] セクションを使用します。

    2. projectID フィールドに、転送ジョブを作成するプロジェクトの ID を入力します。

    3. [実行] ボタンをクリックします。

    4. 表示されるレスポンスで、accountEmail の値を見つけてコピーします。

      メールの値の形式は次のようになります。project-[$PROJECT_NUMBER]@storage-transfer-service.iam.gserviceaccount.com

  2. このサービス アカウントのメールに、データの使用に必要な役割を付与します。

    ストレージのレガシー バケット書き込み役割を使用すると、サービス アカウントに必要なすべての権限を付与できます。必要な権限の詳細については、Storage Transfer Service の IAM 権限をご覧ください。

    バケットの役割を付与する詳しい手順については、バケットレベルのポリシーにメンバーを追加するをご覧ください。

次のステップ