Cloud Storage 관리 폴더 전송

Cloud Storage 관리 폴더는 Cloud Storage 버킷의 객체에 대한 액세스를 세밀하게 제어합니다. 권한은 범용 버킷 수준 액세스를 사용하는 버킷 내의 폴더 수준에서 설정할 수 있습니다. Storage Transfer Service를 사용하여 Cloud Storage 버킷 간에 객체를 전송할 때는 이러한 관리형 폴더 권한을 유지할 수 있습니다.

제한사항

관리 폴더 전송에는 다음 제한사항이 적용됩니다.

  • 대상 버킷은 균일한 버킷 수준 액세스를 사용해야 합니다.
  • 관리 폴더 전송은 deleteObjectsUniqueInSink 또는 deleteObjectsFromSourceAfterTransfer 옵션을 지원하지 않습니다.
  • 버킷 리소스 유형(storage.googleapis.com/Bucket) 또는 객체 리소스 유형(storage.googleapis.com/Object)을 사용하는 대상 버킷이나 프로젝트에 IAM 조건이 없어야 합니다. 프로젝트 내의 버킷에 이러한 리소스 유형 중 하나를 사용하는 IAM 조건이 있으면 해당 조건이 나중에 삭제되더라도 프로젝트 내의 버킷으로 관리 폴더를 전송할 수 없습니다.
  • 이벤트 기반 전송은 지원되지 않습니다.
  • 매니페스트 전송은 지원되지 않습니다.

IAM 권한

Google 관리형 서비스 계정에는 다음 Google Cloud Identity and Access Management(IAM) 권한이 필요합니다.

소스와 대상 모두에 대해 권한을 버킷 수준에서 설정하거나 관리 폴더에서 설정할 수 있습니다. 대상 관리 폴더에 권한을 설정하려면 해당 폴더가 이미 존재해야 합니다.

프로젝트 수준에서 관리 폴더 권한을 설정하지 않는 것이 좋습니다. 자세한 내용은 보안 고려사항을 참고하세요.

소스 버킷 또는 관리 폴더:

  • storage.managedFolders.getIamPolicy
  • storage.managedFolders.list
  • storage.managedFolders.get

대상 버킷 또는 관리 폴더:

  • storage.managedFolders.setIamPolicy
  • storage.managedFolders.list
  • storage.managedFolders.create

이러한 권한은 Storage Transfer Service에 필요한 표준 권한과 함께 적용됩니다.

필요한 관리 폴더 권한을 부여하려면 필요한 권한만 있는 맞춤 역할을 만듭니다.

관리 폴더 전송 만들기

관리 폴더가 포함된 전송을 만들려면 다음과 같이 transferSpecmanagedFolderTransferEnabled: true를 지정합니다. 원하는 경우 path 값을 지정하여 특정 관리 폴더만 전송할 수 있습니다.

POST https://storagetransfer.googleapis.com/v1/transferJobs
{
  "name": "transferjobs/NAME",
  "projectId": "PROJECT_ID",
  "transferSpec": {
    "gcsDataSource": {
      "bucketName": "SOURCE_BUCKET",
      "path": "SOURCE_PATH",
      "managedFolderTransferEnabled": true
    },
    "gcsDataSink": {
      "bucketName": "DESTINATION_BUCKET",
      "path": "DESTINATION_PATH",
    }
  },
  "status": "ENABLED"
}

소스와 대상에 올바른 관리 전송 권한이 설정되지 않으면 전송이 실패합니다.

REST API를 사용하여 전송을 만드는 방법에 대한 자세한 내용은 전송 만들기를 참조하거나 transferJobs.create 참조를 확인하세요.

보안 고려사항

Google 관리형 서비스 계정에 관리 폴더 권한을 부여하면 해당 계정이 대상 폴더 또는 모든 폴더에서 IAM 정책을 수정할 수 있습니다(프로젝트 수준에서 역할이 부여된 경우). 이 경우 보안 위험이 발생합니다. 작업 수정 권한이 있는 사용자가 이를 악용하여 악의적인 행위자에게 권한을 부여할 수 있습니다. 이 위험을 완화하려면 관리형 폴더 전송을 전용 Google Cloud 프로젝트 내에서 격리하는 것이 좋습니다.

Cloud Logging

관리 폴더 작업은 Cloud Logging에 로깅됩니다. 자세한 내용은 Storage Transfer Service의 Cloud Logging을 참조하세요.

문제 해결

관리 폴더 만들기 및 관리에 대한 도움말은 문제 해결 페이지를 참조하세요.