Storage Transfer Service 메소드의 IAM 권한

다음 표에는 각 Storage Transfer Service 메서드를 실행하는 데 필요한 최소한의 권한이 나와 있습니다.

리소스 방법 필수 권한
googleServiceAccount get storagetransfer.projects.getServiceAccount
transferJobs create 다음 두 가지 권한이 모두 필요합니다.

  • storagetransfer.jobs.create
  • storagetransfer.projects.getServiceAccount

transferjobs get storagetransfer.jobs.get
transferjobs list storagetransfer.jobs.list
transferjobs patch 삭제 업데이트의 경우: storagetransfer.jobs.delete
무삭제 업데이트의 경우: storagetransfer.jobs.update
transferoperations cancel storagetransfer.operations.cancel
transferOperations get storagetransfer.operations.get
transferOperations list storagetransfer.operations.list
transferOperations pause storagetransfer.operations.pause
transferOperations resume storagetransfer.operations.resume

소스 권한

Cloud Storage

Storage Transfer Service는 project-[$PROJECT_NUMBER]@storage-transfer-service.iam.gserviceaccount.com 서비스 계정을 사용하여 Cloud Storage 소스 버킷에서 데이터를 이동합니다. 서비스 계정에는 다음과 같은 소스 버킷 권한이 있어야 합니다.

권한 설명 사용
storage.buckets.get 서비스 계정이 버킷의 위치를 가져올 수 있게 합니다. 항상 필요합니다.
storage.objects.list 서비스 계정이 버킷의 객체를 나열할 수 있게 합니다. 항상 필요합니다.
storage.objects.get 서비스 계정이 버킷의 객체를 읽을 수 있게 합니다. 항상 필요합니다.
storage.objects.delete 서비스 계정이 버킷의 객체를 삭제할 수 있게 합니다. deleteObjectsFromSourceAfterTransfertrue로 설정한 경우에 필요합니다.

roles/storage.objectViewerroles/storage.legacyBucketReader 역할에는 항상 필요한 권한이 포함됩니다. roles/storage.legacyBucketWriter 역할에는 storage.objects.delete 권한이 포함됩니다. 전송을 수행하는 데 사용되는 서비스 계정에는 필요한 역할이 할당되어야 합니다.

Cloud Storage 역할과 이 역할에 포함된 권한의 전체 목록은 IAM 역할을 참조하세요.

Amazon S3

Storage Transfer Service를 사용하여 데이터를 Amazon S3

버킷에서 이동하려면 버킷의 특정 권한을 가진 AWS Identity and Access Management 사용자 계정이 있어야 합니다.

권한 설명 사용
s3:ListBucket Storage Transfer Service가 버킷의 객체를 나열할 수 있게 합니다. 항상 필요합니다.
s3:GetObject Storage Transfer Service가 버킷의 객체를 읽을 수 있게 합니다. 항상 필요합니다.
s3:GetBucketLocation Storage Transfer Service가 버킷의 위치를 가져올 수 있게 합니다. 항상 필요합니다.
s3:DeleteObject Storage Transfer Service가 버킷의 개체를 삭제할 수 있게 합니다. deleteObjectsFromSourceAfterTransfertrue로 설정한 경우에 필요합니다.

URL 목록

데이터 소스가 URL 목록인 경우 URL 목록의 각 객체를 공개적으로 액세스할 수 있는지 확인합니다.

싱크 권한

Storage Transfer Service는 서비스 계정을 사용하여 데이터를 Cloud Storage 싱크 버킷으로 이동합니다. 서비스 계정에는 싱크 버킷의 특정 권한이 있어야 합니다.

권한 설명 사용
storage.buckets.get 서비스 계정이 버킷의 위치를 가져올 수 있게 합니다. 항상 필요합니다.
storage.objects.create 서비스 계정이 객체를 버킷에 추가할 수 있게 합니다. 항상 필요합니다.
storage.objects.delete 서비스 계정이 버킷의 객체를 삭제할 수 있게 합니다. overwriteObjectsAlreadyExistingInSink 또는 deleteObjectsUniqueInSinktrue로 설정하는 경우에 필요합니다.
storage.objects.list 서비스 계정이 버킷의 객체를 나열할 수 있게 합니다. overwriteObjectsAlreadyExistingInSinkfalse로 또는 deleteObjectsUniqueInSinktrue로 설정하는 경우에 필요합니다.

이러한 모든 권한은 roles/storage.legacyBucketWriter 역할에 포함되며 서비스 계정에 할당될 수 있습니다. Cloud Storage 역할과 이 역할에 포함된 권한의 전체 목록은 IAM 역할을 참조하세요.

게시/구독 권한

전송용 Pub/Sub를 사용하려는 경우 원하는 Pub/Sub 주제의 서비스 계정에 IAM 역할 roles/pubsub.publisher를 부여합니다.