이 페이지는 Identity and Access Management(IAM) 권한을 통해 버킷, 관리 폴더, 객체에 대한 액세스를 제어하는 방법을 설명합니다. IAM을 사용하면 버킷, 관리 폴더, 객체에 액세스할 수 있는 사용자를 제어할 수 있습니다.
버킷, 관리 폴더, 객체에 대한 액세스를 제어하는 다른 방법은 액세스 제어 개요를 참조하세요. 버킷의 개별 객체에 대한 액세스를 제어하는 방법은 액세스 제어 목록을 참조하세요.
버킷에 IAM 사용
다음 섹션은 버킷에서 기본 IAM 작업을 완료하는 방법을 설명합니다.
필요한 역할
버킷의 IAM 정책을 설정하고 관리하는 데 필요한 권한을 얻으려면 관리자에게 버킷의 스토리지 관리자(roles/storage.admin
) IAM 역할을 부여해 달라고 요청하세요.
이 역할에는 버킷의 IAM 정책을 설정하고 관리하는 데 필요한 다음 권한이 포함됩니다.
storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
storage.buckets.list
- 이 권한은 Google Cloud 콘솔을 사용하여 이 페이지의 태스크를 수행하려는 경우에만 필요합니다.
커스텀 역할로도 이러한 권한을 얻을 수 있습니다.
버킷 수준 정책에 주 구성원 추가
Cloud Storage와 관련된 역할 목록은 IAM 역할을 참조하세요. IAM 역할을 부여하는 항목에 대한 자세한 내용은 주 구성원 식별자를 참조하세요.
콘솔
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷 목록에서 주 구성원에게 역할을 부여할 버킷의 이름을 클릭합니다.
페이지 상단의 권한 탭을 선택합니다.
add_box 액세스 권한 부여 버튼을 클릭합니다.
주 구성원 추가 대화상자가 나타납니다.
새 주 구성원 필드에 버킷에 액세스해야 하는 ID를 한 개 이상 입력합니다.
역할 선택 드롭다운 메뉴에서 역할을 한 개 이상 선택합니다. 선택한 역할 및 부여되는 권한에 대한 간단한 설명이 창에 표시됩니다.
저장을 클릭합니다.
Google Cloud 콘솔에서 실패한 Cloud Storage 작업에 대한 자세한 오류 정보를 가져오는 방법은 문제 해결을 참조하세요.
명령줄
buckets add-iam-policy-binding
명령어를 사용합니다.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE
각 항목의 의미는 다음과 같습니다.
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
C#
자세한 내용은 Cloud Storage C# API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
자세한 내용은 Cloud Storage Go API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
자세한 내용은 Cloud Storage Java API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
자세한 내용은 Cloud Storage Node.js API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
자세한 내용은 Cloud Storage PHP API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
자세한 내용은 Cloud Storage Python API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST API
JSON
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
다음 정보를 포함하는 JSON 파일을 만듭니다.
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
각 항목의 의미는 다음과 같습니다.
cURL
을 사용하여PUT setIamPolicy
요청으로 JSON API를 호출합니다.curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
각 항목의 의미는 다음과 같습니다.
JSON_FILE_NAME
은 2단계에서 만든 파일의 경로입니다.OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.BUCKET_NAME
은 주 구성원에게 액세스 권한을 부여할 버킷의 이름입니다. 예를 들면my-bucket
입니다.
버킷에 대한 IAM 정책 보기
콘솔
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷 목록에서 확인하려는 정책의 버킷 이름을 클릭합니다.
버킷 세부정보 페이지에서 권한 탭을 클릭합니다.
버킷에 적용되는 IAM 정책이 권한 섹션에 표시됩니다.
선택사항: 필터 막대를 사용해서 결과를 필터링합니다.
주 구성원별로 검색하면 주 구성원이 부여된 각 역할이 결과에 표시됩니다.
명령줄
buckets get-iam-policy
명령어를 사용합니다.
gcloud storage buckets get-iam-policy gs://BUCKET_NAME
여기서 BUCKET_NAME
은 확인하려는 IAM 정책의 버킷 이름입니다. 예를 들면 my-bucket
입니다.
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
C#
자세한 내용은 Cloud Storage C# API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
자세한 내용은 Cloud Storage Go API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
자세한 내용은 Cloud Storage Java API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
자세한 내용은 Cloud Storage Node.js API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
자세한 내용은 Cloud Storage PHP API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
자세한 내용은 Cloud Storage Python API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST API
JSON
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
cURL
을 사용하여GET getIamPolicy
요청으로 JSON API를 호출합니다.curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.BUCKET_NAME
은 확인하려는 IAM 정책의 버킷 이름입니다. 예를 들면my-bucket
입니다.
버킷 수준 정책에서 주 구성원 삭제
콘솔
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷 목록에서 주 구성원의 역할을 삭제하려는 버킷의 이름을 클릭합니다.
버킷 세부정보 페이지에서 권한 탭을 클릭합니다.
버킷에 적용되는 IAM 정책이 권한 섹션에 표시됩니다.
주 구성원별 보기 탭에서 삭제하려는 주 구성원에 해당하는 체크박스를 선택합니다.
- 액세스 삭제 버튼을 클릭합니다.
나타나는 오버레이 창에서 확인을 클릭합니다.
Google Cloud 콘솔에서 실패한 Cloud Storage 작업에 대한 자세한 오류 정보를 가져오는 방법은 문제 해결을 참조하세요.
명령줄
buckets remove-iam-policy-binding
명령어를 사용합니다.
gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE
각 항목의 의미는 다음과 같습니다.
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
C#
자세한 내용은 Cloud Storage C# API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
자세한 내용은 Cloud Storage Go API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
자세한 내용은 Cloud Storage Java API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
자세한 내용은 Cloud Storage Node.js API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
자세한 내용은 Cloud Storage PHP API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
자세한 내용은 Cloud Storage Python API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST API
JSON
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
버킷에 적용된 기존 정책을 가져옵니다. 이렇게 하려면
cURL
을 사용하여GET getIamPolicy
요청으로 JSON API를 호출합니다.curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.BUCKET_NAME
은 확인하려는 IAM 정책의 버킷 이름입니다. 예를 들면my-bucket
입니다.
이전 단계에서 검색한 정책을 포함하는 JSON 파일을 만듭니다.
JSON 파일을 편집하여 정책에서 주 구성원을 삭제합니다.
cURL
을 사용하여PUT setIamPolicy
요청으로 JSON API를 호출합니다.curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
각 항목의 의미는 다음과 같습니다.
JSON_FILE_NAME
은 3단계에서 만든 파일의 경로입니다.OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.BUCKET_NAME
은 액세스 권한을 삭제할 버킷의 이름입니다. 예를 들면my-bucket
입니다.
버킷에 IAM 조건 사용
다음 섹션에서는 버킷에서 IAM 조건을 추가하고 삭제하는 방법을 설명합니다. 버킷의 IAM 조건을 보려면 버킷에 대한 IAM 정책 보기를 참조하세요. Cloud Storage에 IAM 조건 사용에 대한 자세한 내용은 조건을 참조하세요.
조건을 추가하기 전에 버킷에 균일한 버킷 수준 액세스를 사용 설정해야 합니다.
버킷에 새 조건 설정
콘솔
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷 목록에서 새 조건을 추가하려는 버킷의 이름을 클릭합니다.
버킷 세부정보 페이지에서 권한 탭을 클릭합니다.
버킷에 적용되는 IAM 정책이 권한 섹션에 표시됩니다.
+ 액세스 권한 부여를 클릭합니다.
새 주 구성원에서 버킷에 대한 액세스 권한을 부여할 주 구성원을 입력합니다.
조건을 적용할 각 역할에 대해 다음을 수행합니다.
역할을 선택하여 주 구성원에게 부여합니다.
조건 추가를 클릭하여 조건 추가 양식을 엽니다.
조건의 제목을 작성합니다. 설명 필드는 선택사항입니다.
조건 빌더를 사용하여 조건을 시각적으로 빌드하거나 조건 편집기 탭을 사용하여 CEL 표현식을 입력합니다.
저장을 클릭하여 주 구성원 추가 양식으로 돌아갑니다. 여러 역할을 추가하려면 다른 역할 추가를 클릭합니다.
저장을 클릭합니다.
Google Cloud 콘솔에서 실패한 Cloud Storage 작업에 대한 자세한 오류 정보를 가져오는 방법은 문제 해결을 참조하세요.
명령줄
조건
title
, 조건에 대한 속성 기반 논리expression
및 선택적으로 조건에 대한description
을 포함하여 조건을 정의하는 JSON 또는 YAML 파일을 생성합니다.Cloud Storage는 날짜/시간,리소스 유형 및
expression
의 리소스 이름 속성만을 지원합니다.--condition-from-file
플래그와 함께buckets add-iam-policy-binding
명령어를 사용합니다.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE --condition-from-file=CONDITION_FILE
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 주 구성원에게 액세스 권한을 부여할 버킷의 이름입니다. 예를 들면my-bucket
입니다.PRINCIPAL_IDENTIFIER
는 조건이 적용되는 사용자를 식별합니다. 예를 들면user:jane@gmail.com
입니다. 주 구성원 식별자 형식 목록은 주 구성원 식별자를 참조하세요.IAM_ROLE
은 주 구성원에게 부여할 IAM 역할입니다. 예를 들면roles/storage.objectViewer
입니다.CONDITION_FILE
은 이전 단계에서 만든 파일입니다.
또는 --condition-from-file
플래그 대신 --condition
플래그를 사용하여 명령어에 조건을 직접 포함할 수 있습니다.
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
C#
자세한 내용은 Cloud Storage C# API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
자세한 내용은 Cloud Storage Go API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
자세한 내용은 Cloud Storage Java API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
자세한 내용은 Cloud Storage Node.js API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
자세한 내용은 Cloud Storage PHP API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
자세한 내용은 Cloud Storage Python API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST API
JSON
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
GET getIamPolicy
요청을 사용하여 버킷의 IAM 정책을 임시 JSON 파일에 저장합니다.curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam' \ --header 'Authorization: Bearer OAUTH2_TOKEN' > tmp-policy.json
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.
텍스트 편집기에서
tmp-policy.json
파일을 수정하여 IAM 정책의 바인딩에 새 조건을 추가합니다.{ "version": VERSION, "bindings": [ { "role": "IAM_ROLE", "members": [ "PRINCIPAL_IDENTIFIER" ], "condition": { "title": "TITLE", "description": "DESCRIPTION", "expression": "EXPRESSION" } } ], "etag": "ETAG" }
각 항목의 의미는 다음과 같습니다.
VERSION
은 IAM 정책 버전으로, IAM 조건이 있는 버킷의 경우 3이어야 합니다.IAM_ROLE
은 조건이 적용되는 역할입니다. 예를 들면roles/storage.objectViewer
입니다.PRINCIPAL_IDENTIFIER
는 조건이 적용되는 사용자를 식별합니다. 예를 들면user:jane@gmail.com
입니다. 주 구성원 식별자 형식 목록은 주 구성원 식별자를 참조하세요.TITLE
은 조건의 제목입니다. 예를 들면expires in 2019
입니다.DESCRIPTION
은 선택사항으로, 조건의 설명입니다. 예를 들면Permission revoked on New Year's
입니다.EXPRESSION
은 속성 기반 논리 표현식입니다. 예를 들면request.time < timestamp(\"2019-01-01T00:00:00Z\")
입니다. 표현식의 더 많은 예시는 조건 속성 참조를 확인하세요. Cloud Storage는 날짜/시간, 리소스 유형, 리소스 이름 속성만을 지원합니다.
ETAG
는 수정하지 마세요.PUT setIamPolicy
요청을 사용하여 버킷에서 수정된 IAM 정책을 설정합니다.curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.
버킷에서 조건 삭제
콘솔
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷 목록에서 조건을 삭제하려는 버킷의 이름을 클릭합니다.
버킷 세부정보 페이지에서 권한 탭을 클릭합니다.
버킷에 적용되는 IAM 정책이 권한 섹션에 표시됩니다.
조건과 연결된 주 구성원의 수정 아이콘 edit을 클릭합니다.
나타나는 액세스 수정 오버레이에서 삭제할 조건의 이름을 클릭합니다.
나타나는 조건 수정 오버레이에서 삭제, 확인을 차례로 클릭합니다.
저장을 클릭합니다.
Google Cloud 콘솔에서 실패한 Cloud Storage 작업에 대한 자세한 오류 정보를 가져오는 방법은 문제 해결을 참조하세요.
명령줄
buckets get-iam-policy
명령어를 사용하여 버킷의 IAM 정책을 임시 JSON 파일에 저장합니다.gcloud storage buckets get-iam-policy gs://BUCKET_NAME > tmp-policy.json
텍스트 편집기에서
tmp-policy.json
파일을 수정하여 IAM 정책에서 조건을 삭제합니다.buckets set-iam-policy
을 사용하여 버킷에서 수정된 IAM 정책을 설정합니다.gcloud storage buckets set-iam-policy gs://BUCKET_NAME tmp-policy.json
코드 샘플
C++
자세한 내용은 Cloud Storage C++ API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
C#
자세한 내용은 Cloud Storage C# API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
자세한 내용은 Cloud Storage Go API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
자세한 내용은 Cloud Storage Java API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
자세한 내용은 Cloud Storage Node.js API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
자세한 내용은 Cloud Storage PHP API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
자세한 내용은 Cloud Storage Python API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST API
JSON
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
GET getIamPolicy
요청을 사용하여 버킷의 IAM 정책을 임시 JSON 파일에 저장합니다.curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam' \ --header 'Authorization: Bearer OAUTH2_TOKEN' > tmp-policy.json
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 액세스 권한을 부여할 버킷의 이름입니다. 예를 들면my-bucket
입니다.OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.
텍스트 편집기에서
tmp-policy.json
파일을 수정하여 IAM 정책에서 조건을 삭제합니다.PUT setIamPolicy
요청을 사용하여 버킷에서 수정된 IAM 정책을 설정합니다.curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.BUCKET_NAME
은 IAM 정책을 수정하려는 버킷의 이름입니다. 예를 들면my-bucket
입니다.
관리 폴더에 IAM 사용
다음 섹션에서는 관리 폴더에서 기본 IAM 태스크를 완료하는 방법을 보여줍니다.
필요한 역할
관리 폴더에 대한 IAM 정책을 설정하고 관리하는 데 필요한 권한을 얻으려면 관리자에게 관리 폴더가 포함된 버킷의 스토리지 기존 버킷 소유자(roles/storage.legacyBucketOwner
) IAM 역할을 부여해 달라고 요청하세요.
이 역할에는 관리 폴더의 IAM 정책을 설정하고 관리하는 데 필요한 다음 권한이 포함되어 있습니다.
storage.managedfolders.getIamPolicy
storage.managedfolders.setIamPolicy
커스텀 역할로도 이러한 권한을 얻을 수 있습니다.
버킷의 역할 부여에 대한 자세한 내용은 버킷에 IAM 사용을 참조하세요.
관리 폴더에 IAM 정책 설정
Console
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷 목록에서 IAM 정책을 설정하려는 관리 폴더가 포함된 버킷의 이름을 클릭합니다.
버킷 세부정보 페이지의 IAM 정책을 설정하려는 관리형 폴더 옆에 있는 폴더 브라우저 창에서 옵션 더보기 아이콘
을 클릭합니다.액세스를 제어하려는 폴더가 시뮬레이션된 폴더이면 먼저 관리형 폴더 만들기의 단계를 수행하여 시뮬레이션된 폴더를 관리형 폴더로 변환합니다.
액세스 수정을 클릭합니다.
MANAGED_FOLDER_NAME
권한 창에서 주 구성원 추가 를 클릭합니다.새 주 구성원 필드에 액세스 권한을 부여할 주 구성원을 입력합니다. 포함할 수 있는 주 구성원에 대한 자세한 내용은 IAM 개요를 참조하세요.
역할 할당 섹션에서 역할 선택 드롭다운을 사용하여 주 구성원에게 부여할 액세스 권한 수준을 지정합니다.
저장을 클릭합니다.
명령줄
다음 정보를 포함하는 JSON 파일을 만듭니다.
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
각 항목의 의미는 다음과 같습니다.
gcloud storage managed-folders set-iam-policy
명령어를 사용합니다.gcloud storage managed-folders set-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME POLICY_FILE
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 IAM 정책을 적용하려는 관리 폴더가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.MANAGED_FOLDER_NAME
은 IAM 정책을 적용하려는 관리 폴더의 이름입니다. 예를 들면my-managed-folder/
입니다.POLICY_FILE
은 1단계에서 만든 JSON 파일의 경로입니다.
REST API
JSON
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
다음 정보를 포함하는 JSON 파일을 만듭니다.
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
각 항목의 의미는 다음과 같습니다.
cURL
을 사용하여PUT setIamPolicy
요청으로 JSON API를 호출합니다.curl -X PUT --data-binary @POLICY_FILE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
각 항목의 의미는 다음과 같습니다.
POLICY_FILE
은 2단계에서 만든 JSON 정책 파일의 경로입니다.OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.BUCKET_NAME
은 IAM 정책을 적용하려는 관리 폴더가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.MANAGED_FOLDER_NAME
은 주 구성원에게 액세스 권한을 부여할 관리 폴더의 이름입니다. 예를 들면my-managed-folder/
입니다.
관리 폴더의 IAM 정책 보기
Console
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷 목록에서 IAM 정책을 보려는 관리형 폴더가 포함된 버킷의 이름을 클릭합니다.
버킷 세부정보 페이지의 IAM 정책을 보려는 관리형 폴더 옆에 있는 폴더 브라우저 창에서 옵션 더보기 아이콘
을 클릭합니다.액세스 수정을 클릭합니다.
FOLDER_NAME
권한 창에는 주 구성원, 역할, 상속된 역할, IAM 조건을 포함하여 관리형 폴더에 대한 권한이 표시됩니다.
명령줄
gcloud storage managed-folder get-iam-policy
명령어를 사용합니다.
gcloud storage managed-folders get-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 IAM 정책을 보려는 관리 폴더가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.MANAGED_FOLDER_NAME
은 IAM 정책을 보려는 관리 폴더의 이름입니다. 예를 들면my-managed-folder/
입니다.
REST API
JSON
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
cURL
을 사용하여GET getIamPolicy
요청으로 JSON API를 호출합니다.curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.BUCKET_NAME
은 IAM 정책을 보려는 관리 폴더가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.MANAGED_FOLDER_NAME
은 IAM 정책을 보려는 관리 폴더의 이름입니다. 예를 들면my-managed-folder/
입니다.
관리 폴더 정책에서 주 구성원 삭제
다음 단계를 수행하여 상속된 IAM 정책에서 주 구성원을 삭제할 수 없습니다. 상속된 정책에서 주 구성원을 삭제하려면 정책이 있는 리소스를 식별하고 리소스에서 주 구성원을 삭제합니다. 예를 들어 주 구성원에게 관리형 폴더가 포함된 버킷에 대한 스토리지 객체 사용자(roles/storage.objectUser
) 역할이 있을 수 있습니다. 주 구성원을 삭제하려면 버킷 수준 정책에서 삭제해야 합니다.
Console
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷 목록에서 IAM 정책을 보려는 관리형 폴더가 포함된 버킷의 이름을 클릭합니다.
버킷 세부정보 페이지의 주 구성원을 삭제하려는 관리형 폴더 옆에 있는 폴더 브라우저 창에서 옵션 더보기 아이콘
을 클릭합니다.액세스 수정을 클릭합니다.
FOLDER_NAME
권한 창의 필터 필드에 주 구성원 이름을 입력합니다.삭제 아이콘
을 클릭하여 주 구성원을 삭제합니다.
Cloud Storage가 관리형 폴더에서 주 구성원을 삭제합니다.
명령줄
gcloud storage managed-folder remove-iam-policy-binding
명령어를 사용합니다.
gcloud storage managed-folders remove-iam-policy-binding gs://BUCKET_NAME/MANAGED_FOLDER_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 액세스 권한을 취소하려는 관리 폴더가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.MANAGED_FOLDER_NAME
은 IAM 정책을 삭제하려는 관리 폴더의 이름입니다. 예를 들면my-managed-folder/
입니다.PRINCIPAL_IDENTIFIER
는 액세스 권한을 취소할 사용자를 식별합니다. 예를 들면user:jane@gmail.com
입니다. 주 구성원 식별자 형식 목록은 주 구성원 식별자를 참조하세요.IAM_ROLE
은 취소할 IAM 역할입니다. 예를 들면roles/storage.objectViewer
입니다.
REST API
JSON
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
관리 폴더에 적용된 기존 정책을 가져옵니다. 이렇게 하려면
cURL
을 사용하여GET getIamPolicy
요청으로 JSON API를 호출합니다.curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.BUCKET_NAME
은 액세스 권한을 취소하려는 관리 폴더가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.MANAGED_FOLDER_NAME
은 IAM 정책을 삭제하려는 관리 폴더의 이름입니다. 예를 들면my-managed-folder/
입니다.
이전 단계에서 검색한 정책을 포함하는 JSON 파일을 만듭니다.
JSON 파일을 편집하여 정책에서 주 구성원을 삭제합니다.
cURL
을 사용하여PUT setIamPolicy
요청으로 JSON API를 호출합니다.curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
각 항목의 의미는 다음과 같습니다.
JSON_FILE_NAME
은 3단계에서 만든 파일의 경로입니다.OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.BUCKET_NAME
은 액세스 권한을 취소하려는 관리 폴더가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.MANAGED_FOLDER_NAME
은 IAM 정책을 삭제하려는 관리 폴더의 이름입니다. 예를 들면my-managed-folder/
입니다.
관리 폴더에 IAM 조건 사용
다음 섹션에서는 관리 폴더에 IAM 조건을 추가하고 삭제하는 방법을 보여줍니다. 관리 폴더의 IAM 조건을 보려면 관리 폴더에 대한 IAM 정책 보기를 참조하세요. Cloud Storage에 IAM 조건 사용에 대한 자세한 내용은 조건을 참조하세요.
관리 폴더에 조건을 추가하기 전에 버킷에 균일한 버킷 수준 액세스를 사용 설정해야 합니다.
관리 폴더에 새 조건 설정
명령줄
조건
title
, 조건에 대한 속성 기반 논리expression
및 선택적으로 조건에 대한description
을 포함하여 조건을 정의하는 JSON 또는 YAML 파일을 생성합니다.Cloud Storage는 날짜/시간,리소스 유형 및
expression
의 리소스 이름 속성만을 지원합니다.--condition-from-file
플래그와 함께gcloud storage managed-folders add-iam-policy-binding
명령어를 사용합니다.
gcloud storage managed-folders add-iam-policy-binding gs://BUCKET_NAME/MANAGED_FOLDER_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE --condition-from-file=CONDITION_FILE
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 주 구성원 액세스 권한을 부여할 관리 폴더가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.MANAGED_FOLDER_NAME
은 주 구성원에게 액세스 권한을 부여할 관리 폴더의 이름입니다. 예를 들면my-managed-folder/
입니다.PRINCIPAL_IDENTIFIER
는 조건이 적용되는 사용자를 식별합니다. 예를 들면user:jane@gmail.com
입니다. 주 구성원 식별자 형식 목록은 주 구성원 식별자를 참조하세요.IAM_ROLE
은 주 구성원에게 부여할 IAM 역할입니다. 예를 들면roles/storage.objectViewer
입니다.CONDITION_FILE
은 이전 단계에서 만든 파일입니다.
또는 --condition-from-file
플래그 대신 --condition
플래그를 사용하여 명령어에 조건을 직접 포함할 수 있습니다.
REST API
JSON
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
GET getIamPolicy
요청을 사용하여 관리 폴더의 IAM 정책을 임시 JSON 파일에 저장합니다.curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam' \ --header 'Authorization: Bearer OAUTH2_TOKEN' > tmp-policy.json
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.BUCKET_NAME
은 IAM 조건을 설정하려는 관리 폴더가 포함된 버킷의 이름입니다.MANAGED_FOLDER_NAME
은 IAM 조건을 설정할 관리 폴더의 이름입니다.
텍스트 편집기에서
tmp-policy.json
파일을 수정하여 IAM 정책의 바인딩에 새 조건을 추가합니다.{ "version": VERSION, "bindings": [ { "role": "IAM_ROLE", "members": [ "PRINCIPAL_IDENTIFIER" ], "condition": { "title": "TITLE", "description": "DESCRIPTION", "expression": "EXPRESSION" } } ], "etag": "ETAG" }
각 항목의 의미는 다음과 같습니다.
VERSION
은 IAM 정책 버전으로, IAM 조건이 있는 관리 폴더의 경우 3이어야 합니다.IAM_ROLE
은 조건이 적용되는 역할입니다. 예를 들면roles/storage.objectViewer
입니다.PRINCIPAL_IDENTIFIER
는 조건이 적용되는 사용자를 식별합니다. 예를 들면user:jane@gmail.com
입니다. 주 구성원 식별자 형식 목록은 주 구성원 식별자를 참조하세요.TITLE
은 조건의 제목입니다. 예를 들면expires in 2019
입니다.DESCRIPTION
은 선택사항으로, 조건의 설명입니다. 예를 들면Permission revoked on New Year's
입니다.EXPRESSION
은 속성 기반 논리 표현식입니다. 예를 들면request.time < timestamp(\"2019-01-01T00:00:00Z\")
입니다. 표현식의 더 많은 예시는 조건 속성 참조를 확인하세요. Cloud Storage는 날짜/시간, 리소스 유형, 리소스 이름 속성만을 지원합니다.
ETAG
는 수정하지 마세요.PUT setIamPolicy
요청을 사용하여 버킷에서 수정된 IAM 정책을 설정합니다.curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFoldersMANAGED_FOLDER_NAME/iam"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.BUCKET_NAME
은 IAM 조건을 설정하려는 관리 폴더가 포함된 버킷의 이름입니다.MANAGED_FOLDER_NAME
은 IAM 조건을 설정할 관리 폴더의 이름입니다.
관리 폴더에서 조건 삭제
명령줄
gcloud storage managed-folders get-iam-policy
명령어를 사용하여 관리 폴더의 IAM 정책을 임시 JSON 파일에 저장합니다.gcloud storage managed-folders get-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME > tmp-policy.json
텍스트 편집기에서
tmp-policy.json
파일을 수정하여 IAM 정책에서 조건을 삭제합니다.gcloud storage managed-folders set-iam-policy
명령어를 사용하여 관리 폴더에서 수정된 IAM 정책을 설정합니다.gcloud storage managed-folders set-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME tmp-policy.json
REST API
JSON
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
GET getIamPolicy
요청을 사용하여 관리 폴더의 IAM 정책을 임시 JSON 파일에 저장합니다.curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam' \ --header 'Authorization: Bearer OAUTH2_TOKEN' > tmp-policy.json
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 액세스를 변경할 관리 폴더가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.MANAGED_FOLDER_NAME
은 액세스를 변경할 관리 폴더의 이름입니다. 예를 들면my-managed-folder/
입니다.OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.
텍스트 편집기에서
tmp-policy.json
파일을 수정하여 IAM 정책에서 조건을 삭제합니다.PUT setIamPolicy
요청을 사용하여 관리 폴더에서 수정된 IAM 정책을 설정합니다.curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.BUCKET_NAME
은 액세스를 변경할 관리 폴더가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.MANAGED_FOLDER_NAME
은 액세스를 변경할 관리 폴더의 이름입니다. 예를 들면my-managed-folder/
입니다.
프로젝트에 IAM 사용
프로젝트 수준 이상에서 IAM 역할을 부여하고 취소하는 방법은 프로젝트, 관리 폴더, 조직에 대한 액세스 관리를 참조하세요.
권장사항
주 구성원에게 필요한 액세스 권한을 부여할 수 있는 최소한의 권한을 설정해야 합니다. 예를 들어 팀 구성원이 버킷에 저장된 객체를 읽기만 하면 되는 경우에는 스토리지 객체 뷰어 역할을 선택합니다. 마찬가지로, 팀 구성원에게 버킷의 객체를 관리할 전체 권한이 있어야 하지만 팀 구성원이 버킷 자체를 관리할 필요는 없는 경우에는 스토리지 객체 관리자를 선택합니다.
다음 단계
- 데이터를 공개적으로 공유하는 방법 알아보기
- 구체적인 공유 및 공동작업 예시 참조
- IAM 사용 시 권장사항 알아보기
- 버킷의 역할 권장사항 사용 방법 알아보기
- IAM 역할 및 권한과 관련된 실패한 작업 문제를 해결하려면 문제 해결 참조하기