Identity and Access Management (IAM)

Google Cloud Platform은 ID 및 액세스 관리(IAM)를 제공하므로 특정 Google Cloud Platform 리소스에 대해 보다 세밀한 액세스 권한을 부여하고 다른 리소스에 대한 무단 액세스를 방지할 수 있습니다. 이 페이지에서는 Google Cloud Datastore IAM의 역할을 설명합니다. Cloud IAM에 관한 자세한 내용은 IAM 문서를 참조하세요.

IAM을 통해 최소 권한의 보안 원칙을 적용하여 필요한 액세스 권한만 리소스에 부여할 수 있습니다.

IAM을 사용하면 IAM 정책을 설정하여 누구(사용자)에게 어떤 리소스에 대한 무슨 (역할) 권한을 부여할지 제어할 수 있습니다. IAM 정책은 사용자에게 구체적인 역할을 부여하여 특정 권한을 줍니다. 예를 들어 datastore.indexAdmin 역할을 부여받은 사용자는 색인을 생성, 수정, 삭제, 나열, 조회할 수 있습니다.

권한 및 역할

이 섹션에서는 Cloud Datastore에서 지원하는 권한과 역할을 요약합니다.

필수 권한

다음 표에는 호출자가 각 메소드를 호출하는 데 필요한 권한이 나와 있습니다.

메소드 필수 권한
allocateIds datastore.entities.allocateIds
beginTransaction datastore.databases.get
삽입용 commit datastore.entities.create
업데이트 삽입용 commit datastore.entities.create
datastore.entities.update
업데이트용 commit datastore.entities.update
삭제용 commit datastore.entities.delete
조회용 commit datastore.entities.get

메타데이터 또는 통계와 관련된 조회는 메타데이터 및 통계에 필요한 권한을 참조하세요.
쿼리용 commit datastore.entities.list
datastore.entities.get (쿼리가 키 전용 쿼리가 아닌 경우)

메타데이터 또는 통계와 관련된 쿼리는 메타데이터 및 통계에 필요한 권한을 참조하세요.
lookup datastore.entities.get

메타데이터 또는 통계와 관련된 조회는 메타데이터 및 통계에 필요한 권한을 참조하세요.
rollback datastore.databases.get
runQuery datastore.entities.list
datastore.entities.get (쿼리가 키 전용 쿼리가 아닌 경우)

메타데이터 또는 통계와 관련된 쿼리는 메타데이터 및 통계에 필요한 권한을 참조하세요.

메타데이터 및 통계에 필요한 권한

다음 표에는 호출자가 메타데이터통계 메소드를 호출하는 데 필요한 권한이 나와 있습니다.

메소드 필수 권한
종류 이름이 __Stat_*__과 일치하는 항목의 lookup datastore.statistics.get
이름이 __Stat_*__과 일치하는 종류를 사용하는 runQuery datastore.statistics.get
datastore.statistics.list
__namespace__ 종류를 사용하는 runQuery datastore.namespaces.get
datastore.namespaces.list

역할

IAM을 사용하면 Cloud Datastore의 모든 API 메소드를 통해 API를 요청하는 계정에 리소스를 사용할 충분한 권한이 있는지 확인합니다. 권한을 부여하려면 사용자, 그룹 또는 서비스 계정에 역할을 부여하는 정책을 설정합니다. 기본 역할인 소유자, 편집자, 뷰어뿐 아니라 프로젝트 사용자에게도 Cloud Datastore 역할을 부여할 수 있습니다.

다음 표에는 Cloud Datastore IAM 역할이 나와 있습니다. 사용자, 그룹 또는 서비스 계정에 여러 역할을 부여할 수 있습니다.

역할 권한 설명
roles/datastore.owner
새 항목
roles/appengine.appAdmin
appengine.applications.get
datastore.databases.*
datastore.entities.*
datastore.indexes.*
datastore.namespaces.*
datastore.operations.*
datastore.statistics.*
resourcemanager.projects.get
resourcemanager.projects.list
Cloud Datastore에 대한 전체 액세스 권한입니다.
roles/datastore.owner
제외 권한:
roles/appengine.appAdmin
appengine.applications.get
datastore.databases.*
datastore.entities.*
datastore.indexes.*
datastore.namespaces.*
datastore.operations.*
datastore.statistics.*
resourcemanager.projects.get
resourcemanager.projects.list
사용자, 그룹, 서비스 계정을 제외한 Cloud Datastore에 대한 전체 액세스 권한으로, 다음 작업을 수행할 수 없습니다.
roles/datastore.user appengine.applications.get
datastore.databases.get
datastore.entities.*
datastore.indexes.list
datastore.namespaces.get
datastore.namespaces.list
datastore.statistics.get
datastore.statistics.list
resourcemanager.projects.get
resourcemanager.projects.list
Cloud Datastore 데이터베이스의 데이터에 대한 읽기/쓰기 권한입니다. 애플리케이션 개발자 및 서비스 계정용입니다.
roles/datastore.viewer appengine.applications.get
datastore.databases.get
datastore.entities.get
datastore.entities.list
datastore.indexes.get
datastore.indexes.list
datastore.namespaces.get
datastore.namespaces.list
datastore.statistics.get
datastore.statistics.list
resourcemanager.projects.get
resourcemanager.projects.list
모든 Cloud Datastore 리소스에 대한 읽기 액세스 권한입니다.
roles/datastore.importExportAdmin appengine.applications.get
datastore.databases.export
datastore.databases.import
datastore.operations.cancel
datastore.operations.get
datastore.operations.list
resourcemanager.projects.get
resourcemanager.projects.list
가져오기 및 내보내기를 관리할 수 있는 전체 액세스 권한입니다.
roles/datastore.indexAdmin appengine.applications.get
datastore.indexes.*
resourcemanager.projects.get
resourcemanager.projects.list
색인 정의를 관리할 수 있는 전체 액세스 권한입니다.

권한

다음 표에는 Cloud Datastore에서 지원하는 권한이 나와 있습니다.

데이터베이스 권한 이름 설명
datastore.databases.export 데이터베이스의 항목을 내보냅니다.
datastore.databases.get 트랜잭션을 시작하거나 롤백합니다.
데이터베이스에서 메타데이터를 읽습니다.
datastore.databases.import 항목을 데이터베이스로 가져옵니다.
항목 권한 이름 설명
datastore.entities.allocateIds 불완전한 키 경로가 있는 키에 ID를 할당합니다.
datastore.entities.create 항목을 생성합니다.
datastore.entities.delete 항목을 삭제합니다.
datastore.entities.get 항목을 읽습니다.
datastore.entities.list 프로젝트에 항목 키를 나열합니다.
(항목 데이터에 액세스하려면 datastore.entities.get이 필요합니다.)
datastore.entities.update 항목을 업데이트합니다.
색인 권한 이름 설명
datastore.indexes.create 색인을 만듭니다.
datastore.indexes.delete 색인을 삭제합니다.
datastore.indexes.get 색인에서 메타데이터를 읽습니다.
datastore.indexes.list 프로젝트의 색인을 나열합니다.
datastore.indexes.update 색인을 업데이트합니다.
네임스페이스 권한 이름 설명
datastore.namespaces.get 네임스페이스에서 메타데이터를 검색합니다.
datastore.namespaces.list 프로젝트의 네임스페이스를 나열합니다.
작업 권한 이름 설명
datastore.operations.cancel 장기 실행 작업을 취소합니다.
datastore.operations.delete 장기 실행 작업을 삭제합니다.
datastore.operations.get 장기 실행 작업의 최신 상태를 가져옵니다.
datastore.operations.list 장기 실행 작업을 나열합니다.
프로젝트 권한 이름 설명
resourcemanager.projects.get 프로젝트의 리소스를 찾아봅니다.
resourcemanager.projects.list 소유한 프로젝트를 나열합니다.
통계 권한 이름 설명
datastore.statistics.get 통계 항목을 검색합니다.
datastore.statistics.list 통계 항목의 키를 나열합니다.
(통계 항목 데이터에 액세스하려면 datastore.statistics.get이 필요합니다.)
App Engine 권한 이름 설명
appengine.applications.get 모든 App Engine 애플리케이션 구성 및 설정에 읽기 전용으로 액세스합니다.

Cloud Datastore 인스턴스를 만드는 데 필요한 역할

새 Cloud Datastore 인스턴스를 만들려면 소유자 역할 또는 Cloud Datastore 소유자 역할이 필요합니다.

Cloud Datastore에는 활성 App Engine 애플리케이션이 필요합니다. 프로젝트에 애플리케이션이 없으면 Cloud Datastore가 애플리케이션을 만듭니다. 이 경우 소유자 역할의 appengine.applications.create 권한 또는 이 권한을 포함하는 IAM 커스텀 역할의 이 권한이 필요합니다.

역할 변경 지연 시간

Cloud Datastore는 IAM 권한을 5분간 캐시하므로 역할 변경이 적용되기까지 최대 5분이 걸립니다.

Cloud Datastore IAM 관리

Google Cloud Platform 콘솔, IAM 메소드 또는 gcloud 명령줄 도구를 사용하여 IAM 정책을 가져오고 설정할 수 있습니다.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Cloud Datastore 문서