사전 정의된 역할
다음 표에서는 Cloud Storage와 관련된 Identity and Access Management(IAM) 역할을 설명하고 각 역할에 포함된 권한을 나열합니다. 달리 명시되지 않는 한 이러한 역할은 프로젝트, 버킷 또는 관리형 폴더에 적용될 수 있습니다.
버킷, 관리형 폴더, 객체에 대한 액세스를 제어하는 방법은 IAM 권한 사용을 참조하세요.
역할 | 설명 | 권한 |
---|---|---|
스토리지 객체 생성자
(roles/storage.objectCreator ) |
사용자에게 객체를 생성할 권한을 부여합니다. 객체 보기, 삭제, 교체 권한은 부여하지 않습니다. 객체 ACL을 가져오거나 객체 ACL을 객체 업데이트 요청의 일부로 설정하려는 권한은 부여하지 않습니다. | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.objects.create storage.managedFolders.create storage.multipartUploads.create storage.multipartUploads.abort storage.multipartUploads.listParts |
스토리지 객체 뷰어
(roles/storage.objectViewer ) |
객체 및 ACL을 제외한 객체 메타데이터를 볼 수 있는 액세스 권한을 부여합니다. 버킷의 객체와 관리형 폴더를 나열할 수도 있습니다. |
resourcemanager.projects.get 2resourcemanager.projects.list 2storage.managedFolders.get storage.managedFolders.list storage.objects.get storage.objects.list |
스토리지 객체 사용자(roles/storage.objectUser ) |
메타데이터와 함께 객체와 관리형 폴더를 생성, 보기, 나열, 업데이트, 삭제할 수 있는 액세스 권한을 부여합니다. ACL 또는 IAM 정책을 가져오거나 설정할 수 있는 권한을 부여하지 마세요. | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.managedFolders.create storage.managedFolders.delete storage.managedFolders.list storage.managedFolders.get storage.multipartUploads.* storage.objects.create storage.objects.delete storage.objects.get storage.objects.list storage.objects.update |
스토리지 객체 관리자
(roles/storage.objectAdmin ) |
객체 나열, 만들기, 보기, 삭제는 물론 객체 ACL 설정을 포함하여 객체에 대한 전체 제어 권한을 부여합니다. 또한 관리형 폴더를 생성, 삭제, 가져오기, 나열할 수 있는 액세스 권한을 부여합니다. | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.managedFolders.create storage.managedFolders.delete storage.managedFolders.get storage.managedFolders.list storage.objects.* storage.multipartUploads.* |
스토리지 폴더 관리자(roles/storage.folderAdmin ) |
IAM 권한 나열, 만들기, 보기, 삭제, 관리를 포함하여 객체와 관리형 폴더에 대한 전체 제어 권한을 부여합니다. | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.managedFolders.* storage.multipartUploads.* storage.objects.* |
스토리지 HMAC 키 관리자
(roles/storage.hmacKeyAdmin ) |
프로젝트의 HMAC 키를 관리할 수 있는 전체 권한을 부여합니다. 이 역할은 프로젝트에만 적용할 수 있습니다. | orgpolicy.policy.get 1storage.hmacKeys.* |
스토리지 관리자(roles/storage.admin ) |
객체 ACL 또는 IAM 정책을 가져오기 및 설정을 포함하여 버킷, 관리형 폴더, 객체에 대한 전체 제어 권한을 부여합니다. 개별 버킷에 적용하면 제어 권한은 지정된 버킷과 버킷 내 관리형 폴더와 객체에만 적용됩니다. |
firebase.projects.get orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.buckets.* storage.managedFolders.* storage.objects.* storage.multipartUploads.* |
Storage Insights 관리자(roles/storageinsights.admin ) |
Storage Insights 인벤토리 보고서 및 구성에 대한 전체 권한을 부여합니다. | cloudresourcemanager.projects.get cloudresourcemanager.projects.list storageinsights.reportConfigs.* storageinsights.reportDetails.* |
Storage Insights 뷰어(roles/storageinsights.viewer ) |
Storage Insights 인벤토리 보고서 및 구성에 대한 읽기 전용 액세스 권한을 부여합니다. | cloudresourcemanager.projects.get cloudresourcemanager.projects.list storageinsights.reportConfigs.list storageinsights.reportConfigs.get storageinsights.reportDetails.list storageinsights.reportDetails.get |
Storage Insights 수집기 서비스(roles/storage.insightsCollectorService ) |
인벤토리 보고서의 객체 메타데이터에 대해 읽기 액세스 권한을 부여합니다. | resourcemanager.projects.get resourcemanager.projects.list storage.buckets.getObjectInsights storage.buckets.get |
1 orgpolicy.policy.get
권한이 있으면 주 구성원이 프로젝트에 적용된 조직 정책 제약조건을 확인할 수 있습니다.
현재 이 권한은 역할이 프로젝트 수준에서 부여된 경우에만 유효합니다.
2 resourcemanager.projects.*
권한에 대한 자세한 내용은 IAM으로 프로젝트의 액세스 제어를 참조하세요.
기본 역할
기본 역할은 IAM 이전에 있었던 역할입니다. 이러한 역할에는 고유한 특성이 있습니다.
기본 역할은 프로젝트 내의 개별 버킷이 아닌 전체 프로젝트에만 부여될 수 있습니다. 프로젝트에 부여하는 다른 역할과 마찬가지로 기본 역할은 프로젝트의 모든 버킷과 객체에 적용됩니다.
기본 역할에는 이 섹션에서 다루지 않는 다른 Google Cloud 서비스에 대한 추가 권한이 포함됩니다. 기본 역할이 부여하는 권한에 대한 일반적인 설명은 기본 역할을 참조하세요.
각 기본 역할에는 기본 역할을 그룹처럼 사용할 수 있는 단축값이 있습니다. 이 방법을 사용하면 기본 역할이 있는 주 구성원은 그룹의 일부로 간주됩니다. 그룹의 모든 사용자는 단축값에 있는 액세스 권한에 따라 리소스에 대한 추가 액세스 권한을 얻습니다.
단축값은 버킷의 역할을 부여할 때 사용할 수 있습니다.
객체에 ACL을 설정할 때 단축값을 사용할 수 있습니다.
기본 역할은 본질적으로 이름이 의미하는 Cloud Storage 리소스에 대한 액세스 권한을 모두 부여하지 않습니다. 그 대신 본질적으로 예상 액세스의 일부 권한과 단축값 사용을 통해 예상 액세스의 나머지 권한을 제공합니다. 단축값은 다른 IAM 주 구성원과 마찬가지로 수동으로 추가 또는 삭제할 수 있으므로 주 구성원이 얻게 될 액세스 권한이 취소될 수 있습니다.
기본 역할의 주 구성원이 단축값으로 인해 일반적으로 얻게 되는 추가 액세스 권한에 대한 설명은 수정 가능한 동작을 참조하세요.
내장 권한
다음 표에서는 각 기본 역할과 항상 연결되는 Cloud Storage 권한을 설명합니다.
역할 | 설명 | Cloud Storage 권한 |
---|---|---|
뷰어 (roles/viewer ) |
프로젝트의 버킷을 나열하고, 나열 시 ACL을 제외한 버킷 메타데이터를 보고, 프로젝트의 HMAC 키를 나열하고 가져올 수 있는 권한을 부여합니다. | storage.buckets.list storage.hmacKeys.get storage.hmacKeys.list |
편집자(roles/editor ) |
프로젝트의 버킷을 생성, 나열, 삭제하고, 나열 시 ACL을 제외한 버킷 메타데이터를 보고, 프로젝트의 HMAC 키를 제어할 수 있는 권한을 부여합니다. | storage.buckets.create storage.buckets.delete storage.buckets.list storage.hmacKeys.* |
소유자(roles/owner ) |
프로젝트의 버킷을 생성, 나열, 삭제하고, 나열 시 ACL을 제외한 버킷 메타데이터를 보고, 태그 바인딩을 나열하고 프로젝트의 HMAC 키를 제어할 수 있는 권한을 부여합니다. 일반적으로 Google Cloud 내에서 이 역할이 있는 주 구성원은 프로젝트의 주 구성원 역할 변경, 청구 변경과 같은 관리 작업을 수행할 수 있습니다. |
storage.buckets.create storage.buckets.delete storage.buckets.list storage.buckets.createTagBinding storage.buckets.deleteTagBinding storage.buckets.listEffectiveTags storage.buckets.listTagBindings storage.hmacKeys.* |
수정 가능한 동작
기본 역할이 부여된 주 구성원은 단축값으로 인해 프로젝트의 버킷 및 객체에 대한 추가 액세스 권한을 갖는 경우가 많습니다. 버킷이 생성되면 단축값에 특정 버킷 수준 액세스 권한이 부여되지만 나중에 버킷 IAM 정책 및 객체 ACL을 수정하여 액세스 권한을 삭제하거나 변경할 수 있습니다.
균일한 버킷 수준 액세스가 사용 설정된 버킷을 만들면 단축값을 통해 다음 액세스 권한이 부여됩니다.
roles/viewer
가 부여된 주 구성원은 버킷에 대한roles/storage.legacyBucketReader
및roles/storage.legacyObjectReader
역할을 부여받습니다.roles/editor
가 부여된 주 구성원은 버킷에 대한roles/storage.legacyBucketOwner
및roles/storage.legacyObjectOwner
역할을 부여받습니다.roles/owner
가 부여된 주 구성원은 버킷에 대한roles/storage.legacyBucketOwner
및roles/storage.legacyObjectOwner
역할을 부여받습니다.
균일한 버킷 수준 액세스가 사용 설정되지 않은 버킷을 만들면 단축값을 통해 다음 액세스 권한이 부여됩니다.
roles/viewer
가 부여된 주 구성원은 버킷에 대한roles/storage.legacyBucketReader
역할을 부여받습니다.roles/editor
가 부여된 주 구성원은 버킷에 대한roles/storage.legacyBucketOwner
역할을 부여받습니다.roles/owner
가 부여된 주 구성원은 버킷에 대한roles/storage.legacyBucketOwner
역할을 부여받습니다.또한 버킷에는 기본 객체 액세스 제어 목록(ACL)이 있습니다. 이 기본 ACL은 버킷의 새 객체에 적용되는 경우가 많으며, 종종 단축값에 추가 액세스 권한을 부여합니다.
사전 정의된 기존 역할
다음 표에는 액세스제어 목록(ACL) 권한과 동등한 IAM 역할이 있습니다. 프로젝트가 아니라 개별 버킷에만 기존 역할을 부여할 수 있습니다.
역할 | 설명 | 권한 |
---|---|---|
스토리지 기존 객체 리더
(roles/storage.legacyObjectReader ) |
객체 및 ACL을 제외한 객체 메타데이터를 볼 수 있는 권한을 부여합니다. | storage.objects.get |
스토리지 기존 객체 소유자
(roles/storage.legacyObjectOwner ) |
객체 및 ACL을 포함한 객체 메타데이터를 보고 수정할 수 있는 권한을 부여합니다. | storage.objects.get storage.objects.update storage.objects.setRetention storage.objects.overrideUnlockedRetention storage.objects.setIamPolicy storage.objects.getIamPolicy |
스토리지 기존 버킷 리더
(roles/storage.legacyBucketReader ) |
버킷의 콘텐츠를 나열하고 IAM 정책을 제외한 버킷의 메타데이터를 읽을 수 있는 권한을 부여합니다. 객체 및 관리형 폴더를 나열할 때 객체 메타데이터를 읽을 수 있는 권한도 부여합니다(IAM 정책 제외).
이 역할의 사용은 버킷의 ACL에도 반영됩니다. 자세한 내용은 IAM과 ACL 관계를 참조하세요. |
storage.buckets.get storage.objects.list storage.managedFolders.get storage.managedFolders.list storage.multipartUploads.list |
스토리지 기존 버킷 작성자
(roles/storage.legacyBucketWriter ) |
객체와 관리형 폴더를 생성, 교체, 나열, 삭제할 수 있는 권한, 보관 구성이 있는 객체를 만들 수 있는 권한, 나열 시 객체 및 관리형 폴더 메타데이터를 읽을 수 있는 권한(IAM 정책 제외), 버킷 메타데이터를 읽을 수 있는 권한(IAM 정책 제외)을 부여합니다.
이 역할의 사용은 버킷의 ACL에도 반영됩니다. 자세한 내용은 IAM과 ACL 관계를 참조하세요. |
storage.buckets.get storage.objects.list storage.objects.create storage.objects.delete storage.objects.setRetention storage.managedFolders.create storage.managedFolders.delete storage.managedFolders.get storage.managedFolders.list storage.multipartUploads.* |
스토리지 기존 버킷 소유자
(roles/storage.legacyBucketOwner ) |
객체와 관리형 폴더를 생성, 교체, 나열, 삭제할 수 있는 권한, 보관 구성이 있는 객체를 만들 수 있는 권한, 태그 바인딩을 생성, 삭제, 나열할 수 있는 권한, 나열 시 객체 메타데이터를 읽을 수 있는 권한(IAM 정책 제외), 나열 시 관리형 폴더 메타데이터를 읽을 수 있는 권한(IAM 정책 포함), 버킷 메타데이터를 읽고 수정할 수 있는 권한(IAM 정책 포함)을 부여합니다.
이 역할의 사용은 버킷의 ACL에도 반영됩니다. 자세한 내용은 IAM과 ACL 관계를 참조하세요. |
storage.buckets.get storage.buckets.createTagBinding storage.buckets.deleteTagBinding storage.buckets.listEffectiveTags storage.buckets.listTagBindings storage.buckets.update storage.buckets.enableObjectRetention storage.buckets.setIamPolicy storage.buckets.getIamPolicy storage.managedFolders.* storage.objects.list storage.objects.create storage.objects.delete storage.objects.setRetention storage.multipartUploads.* |
커스텀 역할
사용자가 원할 경우, 지정한 권한 모음이 포함된 고유한 역할을 정의할 수 있습니다. 이를 지원하기 위해 IAM은 커스텀 역할을 제공합니다.
다음 단계
IAM 권한을 사용하여 버킷 및 객체에 대한 액세스를 제어합니다.
Cloud Storage에 대한 IAM 권한에 대해 알아보세요.
사용자가 다양한 도구 및 API로 작업을 수행할 수 있는 IAM 권한 등 Cloud Storage에 사용 가능한 IAM 참조를 확인하세요.
다른 Google Cloud 역할에 대해서는 역할 이해를 참조하세요.