다음 표에는 특정 리소스에 각 Cloud Storage JSON 메서드를 실행하는 데 필요한 Identity and Access Management(IAM) 권한이 있습니다. IAM 권한은 역할을 만들 수 있도록 함께 제공됩니다. 사용자 및 그룹에 역할을 부여합니다.
균일한 버킷 수준 액세스가 사용 중지된 버킷에만 적용되는 추가 메서드는 ACL 메서드 표를 참조하세요.
리소스 | 메서드 | 필수 IAM 권한1 |
---|---|---|
Buckets |
delete |
storage.buckets.delete |
Buckets |
get |
storage.buckets.get storage.buckets.getIamPolicy 2 |
Buckets |
getIamPolicy |
storage.buckets.getIamPolicy |
Buckets |
insert |
storage.buckets.create storage.buckets.enableObjectRetention 3 |
Buckets |
list |
storage.buckets.list storage.buckets.getIamPolicy 2 |
Buckets |
listChannels |
storage.buckets.get |
Buckets |
lockRetentionPolicy |
storage.buckets.update |
Buckets |
patch |
storage.buckets.update storage.buckets.getIamPolicy 4storage.buckets.setIamPolicy 5 |
Buckets |
setIamPolicy |
storage.buckets.setIamPolicy |
Buckets |
testIamPermissions |
없음 |
Buckets |
update |
storage.buckets.update storage.buckets.getIamPolicy 4storage.buckets.setIamPolicy 5 |
Channels |
stop |
없음 |
Folders |
get |
storage.folders.get |
Folders |
insert |
storage.folders.create |
Folders |
list |
storage.folders.list |
Folders |
rename |
storage.folders.rename storage.folders.create |
Folders |
delete |
storage.folders.delete |
ManagedFolders |
delete |
storage.managedfolders.delete storage.managedfolders.setIamPolicy 10 |
ManagedFolders |
get |
storage.managedfolders.get |
ManagedFolders |
getIamPolicy |
storage.managedfolders.getIamPolicy |
ManagedFolders |
insert |
storage.managedfolders.create |
ManagedFolders |
list |
storage.managedfolders.list |
ManagedFolders |
update |
storage.managedfolders.update |
ManagedFolders |
setIamPolicy |
storage.managedfolders.setIamPolicy |
Notifications |
delete |
storage.buckets.update |
Notifications |
get |
storage.buckets.get |
Notifications |
insert |
storage.buckets.update |
Notifications |
list |
storage.buckets.get |
Objects |
bulkRestore |
storage.buckets.restore storage.objects.create storage.objects.delete 11storage.objects.restore storage.objects.setIamPolicy 6,12 |
Objects |
compose |
storage.objects.get storage.objects.create storage.objects.delete 7storage.objects.getIamPolicy 2,6storage.objects.setRetention 8 |
Objects |
copy |
storage.objects.get storage.objects.create storage.objects.delete storage.objects.setRetention |
Objects |
delete |
storage.objects.delete |
Objects |
get |
storage.objects.get storage.objects.getIamPolicy 2,6 |
Objects |
insert |
storage.objects.create storage.objects.delete 7storage.objects.setRetention 8 |
Objects |
list |
storage.objects.list storage.objects.getIamPolicy 2,6 |
Objects |
patch |
storage.objects.update storage.objects.setRetention 8storage.objects.overrideUnlockedRetention 9storage.objects.getIamPolicy 4,6storage.objects.setIamPolicy 5,6 |
Objects |
restore |
storage.objects.create storage.objects.delete 7storage.objects.restore storage.objects.getIamPolicy 2,6storage.objects.setIamPolicy 6,12 |
Objects |
rewrite |
storage.objects.get storage.objects.create storage.objects.delete storage.objects.setRetention |
Objects |
update |
storage.objects.update storage.objects.setRetention 8storage.objects.overrideUnlockedRetention 9storage.objects.getIamPolicy 4,6storage.objects.setIamPolicy 5,6 |
Objects |
watchAll |
storage.buckets.update |
Projects.hmacKeys |
create |
storage.hmacKeys.create |
Projects.hmacKeys |
delete |
storage.hmacKeys.delete |
Projects.hmacKeys |
get |
storage.hmacKeys.get |
Projects.hmacKeys |
list |
storage.hmacKeys.list |
Projects.hmacKeys |
update |
storage.hmacKeys.update |
Projects.serviceAccount |
get |
resourceManager.projects.get |
ReportConfigs |
delete |
storageinsights.reportConfigs.delete |
ReportConfigs |
get |
storageinsights.reportConfigs.get |
ReportConfigs |
list |
storageinsights.reportConfigs.list |
ReportConfigs |
insert |
storageinsights.reportConfigs.create |
ReportConfigs |
update |
storageinsights.reportConfigs.update |
ReportDetails |
get |
storageinsights.reportDetails.get |
ReportDetails |
list |
storageinsights.reportDetails.list |
1 요청에서 userProject
매개변수 또는 x-goog-user-project
헤더를 사용하는 경우 요청하는 데 필요한 일반 IAM 권한 이외에도 지정되는 프로젝트 ID의 serviceusage.services.use
권한이 있어야 합니다.
2 full
프로젝션의 일부로 ACL 또는 IAM 정책을 포함시키려는 경우에만 이 권한이 필요합니다. 이 권한이 없는 상태에서 full
프로젝션을 요청하면 프로젝션 일부만 받게 됩니다.
3 요청에 enableObjectRetention
쿼리 매개변수가 포함된 경우에만 이 권한이 필요합니다.
4 응답의 일부로 ACL을 포함시키려는 경우에만 이 권한이 필요합니다.
5 요청의 일부로 공개 액세스 방지 설정에 대한 ACL 또는 변경사항을 포함하려면 이 권한이 필요합니다.
6 이 권한은 균일한 버킷 수준 액세스가 사용 설정된 버킷에 적용되지 않습니다.
7 이 권한은 요청으로 인해 이름이 같은 객체를 덮어쓰는 경우에만 필요합니다.
8 요청 본문에 retention
속성이 포함되어 있거나 기존 보관 구성이 있는 객체에 대한 UPDATE
요청을 수행할 때 이 권한이 필요합니다.
9 요청에 쿼리 매개변수 overrideUnlockedRetention=true
가 포함된 경우에만 이 권한이 필요합니다.
10 요청에 쿼리 매개변수 allowNonEmpty=true
가 포함된 경우에만 이 권한이 필요합니다.
11 이 권한은 요청에 쿼리 매개변수 allowOverwrite=true
가 포함되어 있고 요청으로 인해 이름이 같은 객체를 덮어쓰는 경우에만 필요합니다.
12 요청에 쿼리 매개변수 copySourceAcl=true
가 포함된 경우에만 이 권한이 필요합니다.
ACL 관련 메서드
다음 표에는 특히 ACL 관리에 적용되는 JSON 메서드를 실행하기 위해 필요한 IAM 권한이 나와 있습니다. 이 메서드는 균일한 버킷 수준 액세스가 사용 중지된 버킷에만 적용됩니다.
리소스 | 메서드 | 필수 IAM 권한1 |
---|---|---|
BucketAccessControls |
delete |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
BucketAccessControls |
get |
storage.buckets.get storage.buckets.getIamPolicy |
BucketAccessControls |
insert |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
BucketAccessControls |
list |
storage.buckets.get storage.buckets.getIamPolicy |
BucketAccessControls |
patch |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
BucketAccessControls |
update |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
delete |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
get |
storage.buckets.get storage.buckets.getIamPolicy |
DefaultObjectAccessControls |
insert |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
list |
storage.buckets.get storage.buckets.getIamPolicy |
DefaultObjectAccessControls |
patch |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
update |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
ObjectAccessControls |
delete |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
ObjectAccessControls |
get |
storage.objects.get storage.objects.getIamPolicy |
ObjectAccessControls |
insert |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
ObjectAccessControls |
list |
storage.objects.get storage.objects.getIamPolicy |
ObjectAccessControls |
patch |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
ObjectAccessControls |
update |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
1 요청에서 userProject
매개변수 또는 x-goog-user-project
헤더를 사용하는 경우 요청하는 데 필요한 일반 IAM 권한 이외에도 지정되는 프로젝트 ID의 serviceusage.services.use
권한이 있어야 합니다.
다음 단계
역할과 역할에 포함된 권한의 목록은 Cloud Storage에 대한 IAM 역할을 참조하세요.
프로젝트 및 버킷 수준에서 IAM 역할을 할당합니다.