このページでは、Storage Transfer Service を使用するデータ転送に、データソースとデータシンクへのアクセス権を設定する方法について説明します。
要件
サービス アカウントの権限は、バケットレベルで付与されます。ストレージ管理者のロールなど、これらの権限を付与する能力を持っている必要があります。詳細については、Identity and Access Management をご覧ください。
転送に Pub/Sub を使用する予定の場合は、サービス アカウントに希望する Pub/Sub トピックの IAM ロール roles/pubsub.publisher
を付与するようにします。ロールを割り当てた後、そのロールがサービス アカウントに適用されるまでには数秒かかることがあります。この権限をプログラムで付与する場合は、30 秒待ってから Storage Transfer Service を構成します。
Cloud Storage ソースバケットまたは宛先バケットで Cloud Key Management Service が有効になっている場合、プロジェクトの割り当てページの Cloud KMS の割り当てが、Storage Transfer Service の読み取りの割り当ておよび書き込みの割り当てに対応していることを確認します。対応していない場合は、プロジェクトの [割り当て] ページから割り当て量の増加をリクエストしてください。
詳しくは次の記事をご覧ください:
データソースへのアクセスの設定
Cloud Storage
Cloud Storage をデータソースとして使用するように Storage Transfer Service を設定するには、ソースバケットの
accountEmail
フィールドに一覧表示されているメールアドレスに、次のロールまたは同等の権限を割り当てます。
ロール | 説明 | 注 |
---|---|---|
roles/storage.objectViewer |
サービス アカウントがバケットのコンテンツを読み取ること、およびオブジェクトのデータとメタデータを読み取ることを可能にします。 | |
roles/storage.legacyBucketReader |
サービス アカウントがバケットのコンテンツとメタデータを読み取ること、およびオブジェクトのメタデータを読み取ることを可能にします。 | Cloud Storage からソース オブジェクトを削除しない場合は、roles/storage.legacyBucketReader をサービス アカウントに割り当てます。 |
roles/storage.legacyBucketWriter |
サービス アカウントがオブジェクトを作成、上書き、削除すること、バケット内のオブジェクトを一覧表示すること、一覧表示するときにオブジェクトのメタデータを読み取ること、およびバケットのメタデータを読み取ることを可能にします(IAM ポリシーを除く)。 |
Cloud Storage からソース オブジェクトを削除する場合は、roles/storage.legacyBucketWriter をサービス アカウントに割り当てます。 |
高度なデータ転送については、Storage Transfer Service の IAM 権限をご覧ください。
Amazon S3
。
次の手順で、Amazon S3 バケットへのアクセスを設定します。
-
AWS Identity and Access Management(AWS IAM)ユーザーを、
transfer-user
などのわかりやすい名前で作成します。名前が AWS IAM ユーザー名のガイドラインに従っていることを確認します(IAM エンティティとオブジェクトの制限についての記事をご覧ください)。 - AWS IAM ユーザーが、次のことを行うことができるようにします。
- Amazon S3 バケットの一覧を表示する
- バケットのロケーションを取得する
- バケット内のオブジェクトを読み取る
- オブジェクトの転送後にソースからオブジェクトを削除する予定がある場合は、ユーザーにオブジェクトの削除権限を付与します。
-
設定する転送ジョブに、少なくとも 1 つのアクセスキーと秘密鍵のペアを作成します。転送ジョブごとにアクセスキーと秘密鍵のペアを個別に作成することもできます。
- Amazon Glacier にアーカイブされているすべてのオブジェクトを復元します。Amazon Glacier にアーカイブされている Amazon S3 のオブジェクトには、復元するまでアクセスできません。詳細については、Amazon Glacier から Cloud Storage への移行に関するホワイト ペーパーをご覧ください。
Microsoft Azure Blob Storage
Microsoft Azure Storage コンテナへのアクセスを構成するには、次の手順を実行します。
- 既存の Microsoft Azure Storage ユーザーを作成または使用して、Microsoft Azure Storage Blob コンテナのストレージ アカウントにアクセスします。
-
コンテナレベルで SAS トークンを作成します。Shared Access Signature を使用した Azure Storage リソースへのアクセスの制限を付与するをご覧ください。
SAS トークンのデフォルトの有効期限は 8 時間です。SAS トークンを作成する際は、十分な有効期限を設定して転送を正常に完了できるようにします。
URL リスト
データソースが URL リストの場合は、その URL リストの各オブジェクトが一般公開されていることを確認してください。
データシンクへのアクセスの設定
データ転送用のデータシンクは常に Cloud Storage バケットです。Cloud Storage をデータシンクとして使用するように Storage Transfer Service を設定するには、ソースバケットの
accountEmail
フィールドに一覧表示されているメールアドレスに、次のロールまたは同等の権限を割り当てます。
ロール | 説明 |
---|---|
roles/storage.legacyBucketWriter |
サービス アカウントがオブジェクトを作成、上書き、削除すること、宛先バケット内のオブジェクトを一覧表示すること、およびバケットのメタデータを読み取ることを可能にします。 |
roles/storage.objectViewer |
サービス アカウントが宛先バケット内のオブジェクトを一覧表示することおよび取得することを可能にします。 |
必要な権限の詳細については、Storage Transfer Service の IAM 権限をご覧ください。
次のステップ
- 転送するオブジェクトの URL リストを作成する。
- Google Cloud Console を使用して転送を設定する。
- Storage Transfer Service API での転送を設定する方法を学習する。