다음 표에는 특정 리소스에 각 Cloud Storage JSON 메서드를 실행하는 데 필요한 Identity and Access Management(IAM) 권한이 있습니다. IAM 권한은 역할을 만들 수 있도록 함께 제공됩니다. 사용자 및 그룹에 역할을 부여합니다.
균일한 버킷 수준 액세스가 사용 중지된 버킷에만 적용되는 추가 메서드는 ACL 메서드 표를 참조하세요.
| 리소스 | 메서드 | 필수 IAM 권한1 | 
|---|---|---|
| AnywhereCache | create | storage.anywhereCaches.create | 
| AnywhereCache | disable | storage.anywhereCaches.disable | 
| AnywhereCache | get | storage.anywhereCaches.get | 
| AnywhereCache | list | storage.anywhereCaches.list | 
| AnywhereCache | pause | storage.anywhereCaches.pause | 
| AnywhereCache | resume | storage.anywhereCaches.resume | 
| AnywhereCache | update | storage.anywhereCaches.update | 
| Buckets | delete | storage.buckets.delete | 
| Buckets | get | storage.buckets.getstorage.buckets.getIamPolicy2storage.buckets.getIpFilter13storage.anywhereCaches.get18 | 
| Buckets | getIamPolicy | storage.buckets.getIamPolicy | 
| Buckets | insert | storage.buckets.createstorage.buckets.enableObjectRetention3storage.buckets.setIpFilter14 | 
| Buckets | list | storage.buckets.liststorage.buckets.getIamPolicy2storage.buckets.getIpFilter13storage.anywhereCaches.list | 
| Buckets | listChannels | storage.buckets.get | 
| Buckets | lockRetentionPolicy | storage.buckets.update | 
| Buckets | patch | storage.buckets.updatestorage.buckets.getIamPolicy4storage.buckets.setIamPolicy5storage.buckets.setIpFilter14storage.buckets.getIpFilter13 | 
| Buckets | relocate | storage.buckets.relocate | 
| Buckets | setIamPolicy | storage.buckets.setIamPolicy | 
| Buckets | testIamPermissions | 없음 | 
| Buckets | update | storage.buckets.updatestorage.buckets.getIamPolicy4storage.buckets.setIamPolicy5storage.buckets.setIpFilter14storage.buckets.getIpFilter13storage.anywhereCaches.update | 
| DatasetConfigs | delete | storageinsights.datasetConfigs.delete | 
| DatasetConfigs | get | storageinsights.datasetConfigs.get | 
| DatasetConfigs | insert | storageinsights.datasetConfigs.create | 
| DatasetConfigs | list | storageinsights.datasetConfigs.list | 
| DatasetConfigs | linkDataset | storageinsights.datasetConfigs.linkDataset | 
| DatasetConfigs | unlinkDataset | storageinsights.datasetConfigs.unlinkDataset | 
| DatasetConfigs | patch | storageinsights.datasetConfigs.update | 
| Channels | stop | 없음 | 
| Folders | get | storage.folders.get | 
| Folders | insert | storage.folders.create | 
| Folders | list | storage.folders.list | 
| Folders | rename | storage.folders.renamestorage.folders.create | 
| Folders | delete | storage.folders.delete | 
| IntelligenceConfig | getIntelligenceConfig | storage.intelligenceConfigs.get | 
| IntelligenceConfig | updateIntelligenceConfig | storage.intelligenceConfigs.update | 
| Jobs | create | storagebatchoperations.jobs.create | 
| Jobs | get | storagebatchoperations.jobs.getstoragebatchoperations.operations.get | 
| Jobs | list | storagebatchoperations.jobs.liststoragebatchoperations.operations.list | 
| Jobs | cancel | storagebatchoperations.jobs.cancelstoragebatchoperations.operations.cancel | 
| Jobs | delete | storagebatchoperations.jobs.delete | 
| ManagedFolders | delete | storage.managedfolders.deletestorage.managedfolders.setIamPolicy10 | 
| 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.restorestorage.objects.createstorage.objects.delete11storage.objects.restorestorage.objects.setIamPolicy6,12 | 
| Objects | compose | storage.objects.getstorage.objects.createstorage.objects.delete7storage.objects.getIamPolicy2,6storage.objects.setRetention8storage.objects.createContext19 | 
| Objects | copy | storage.objects.getstorage.objects.createstorage.objects.deletestorage.objects.setRetentionstorage.objects.createContext19 | 
| Objects | delete | storage.objects.delete | 
| Objects | get | storage.objects.getstorage.objects.getIamPolicy2,6 | 
| Objects | insert | storage.objects.createstorage.objects.delete7storage.objects.setRetention8storage.objects.createContext19 | 
| Objects | list | storage.objects.liststorage.objects.getIamPolicy2,6 | 
| Objects | move | storage.objects.move15storage.objects.delete15storage.objects.get15storage.objects.createstorage.objects.delete16storage.folders.create17 | 
| Objects | patch | storage.objects.updatestorage.objects.setRetention8storage.objects.overrideUnlockedRetention9storage.objects.getIamPolicy4,6storage.objects.setIamPolicy5,6storage.objects.createContext20storage.objects.updateContext21storage.objects.deleteContext22 | 
| Objects | restore | storage.objects.createstorage.objects.delete7storage.objects.restorestorage.objects.getIamPolicy2,6storage.objects.setIamPolicy6,12 | 
| Objects | rewrite | storage.objects.getstorage.objects.createstorage.objects.deletestorage.objects.setRetentionstorage.objects.createContext19 | 
| Objects | update | storage.objects.updatestorage.objects.setRetention8storage.objects.overrideUnlockedRetention9storage.objects.getIamPolicy4,6storage.objects.setIamPolicy5,6storage.objects.createContext20storage.objects.updateContext21storage.objects.deleteContext22 | 
| 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가 포함된 경우에만 이 권한이 필요합니다.
13 이 권한은 Buckets: get 요청의 일부로 버킷 IP 필터링 규칙을 포함하려는 경우에만 필요합니다. 이 권한이 없는 상태에서 프로젝션을 요청하면 프로젝션 일부만 받게 됩니다.
14 버킷 IP 필터링 규칙을 생성, 나열, 삭제, 업데이트하려는 경우에만 이 권한이 필요합니다.
15 계층적 네임스페이스가 사용 설정된 버킷 내에서 객체를 이동하려면 storage.objects.delete 및 storage.objects.get 권한이 필요하거나, 객체에 대한 읽기 또는 삭제 액세스 권한 없이 이동하려는 경우 storage.objects.move 권한이 필요합니다.
16 객체를 교체하려는 경우에만 이 권한이 필요합니다.
17 누락된 상위 폴더를 자동으로 만들려는 경우에만 이 권한이 필요합니다.
18 Anywhere Cache로 만든 캐시를 반환하려는 경우에만 이 권한이 필요합니다.
19 이 권한은 요청에 객체를 구성하는 비어 있지 않은 destination.contexts.custom 속성이나 객체를 복사, 삽입 또는 재작성하는 비어 있지 않은 contexts.custom 속성이 포함된 경우에만 필요합니다.
20 객체에 컨텍스트를 추가하려는 경우에만 이 권한이 필요합니다.
21 객체의 컨텍스트를 업데이트하려는 경우에만 이 권한이 필요합니다.
22 객체의 컨텍스트를 삭제하려는 경우에만 이 권한이 필요합니다.
ACL 관련 메서드
다음 표에는 특히 ACL 관리에 적용되는 JSON 메서드를 실행하기 위해 필요한 IAM 권한이 나와 있습니다. 이 메서드는 균일한 버킷 수준 액세스가 사용 중지된 버킷에만 적용됩니다.
| 리소스 | 메서드 | 필수 IAM 권한1 | 
|---|---|---|
| BucketAccessControls | delete | storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update | 
| BucketAccessControls | get | storage.buckets.getstorage.buckets.getIamPolicy | 
| BucketAccessControls | insert | storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update | 
| BucketAccessControls | list | storage.buckets.getstorage.buckets.getIamPolicy | 
| BucketAccessControls | patch | storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update | 
| BucketAccessControls | update | storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update | 
| DefaultObjectAccessControls | delete | storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update | 
| DefaultObjectAccessControls | get | storage.buckets.getstorage.buckets.getIamPolicy | 
| DefaultObjectAccessControls | insert | storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update | 
| DefaultObjectAccessControls | list | storage.buckets.getstorage.buckets.getIamPolicy | 
| DefaultObjectAccessControls | patch | storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update | 
| DefaultObjectAccessControls | update | storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update | 
| ObjectAccessControls | delete | storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update | 
| ObjectAccessControls | get | storage.objects.getstorage.objects.getIamPolicy | 
| ObjectAccessControls | insert | storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update | 
| ObjectAccessControls | list | storage.objects.getstorage.objects.getIamPolicy | 
| ObjectAccessControls | patch | storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update | 
| ObjectAccessControls | update | storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update | 
1 요청에서 userProject 매개변수 또는 x-goog-user-project 헤더를 사용하는 경우 요청하는 데 필요한 일반 IAM 권한 이외에도 지정되는 프로젝트 ID의 serviceusage.services.use 권한이 있어야 합니다.
다음 단계
- 역할과 역할에 포함된 권한의 목록은 Cloud Storage에 대한 IAM 역할을 참조하세요. 
- 프로젝트 및 버킷 수준에서 IAM 역할을 할당합니다.