IAM 개요

Identity and Access Management (IAM)를 사용하면 Spanner Omni 리소스에 대한 사용자 액세스를 제어할 수 있습니다. 예를 들어 사용자가 특정 데이터베이스를 완전히 제어할 수 있지만 배포에서 다른 데이터베이스를 만들거나 수정할 수는 없습니다. IAM을 사용하면 각 Spanner Omni 데이터베이스 권한을 개별적으로 수정할 필요 없이 사용자에게 권한을 부여할 수 있습니다.

이 문서는 Spanner Omni와 관련된 IAM 권한과 해당 권한을 부여하는 IAM 역할을 집중적으로 설명합니다. IAM 및 해당 기능에 대한 자세한 설명은 Identity and Access Management 개발자 가이드를 참조하세요.

권한

사용자는 권한을 통해 Spanner Omni 리소스에서 특정 작업을 수행할 수 있습니다. 예를 들어 사용자는 spanner.databases.read 권한을 통해 Spanner Omni의 읽기 API를 사용하여 데이터베이스에서 읽을 수 있고, spanner.databases.export 권한을 통해 Spanner Omni 데이터베이스를 내보낼 수 있습니다. 사용자에게 권한을 직접 부여하는 대신 하나 이상의 권한이 번들로 포함된 사전 정의된 역할을 부여합니다.

다음 표에는 Spanner Omni와 관련된 IAM 권한이 나열되어 있습니다. 일부 권한은 Spanner와 공유되고 일부 권한은 Spanner Omni에서만 사용됩니다.

데이터베이스

Spanner Omni 데이터베이스에 적용되는 권한은 다음과 같습니다.

데이터베이스 권한 이름 설명 Spanner 및 Spanner Omni Spanner Omni만
spanner.databases.create 데이터베이스를 만듭니다.
spanner.databases.createBackup 데이터베이스에서 백업을 만듭니다. 또한 spanner.backups.create로 백업 리소스를 만들어야 합니다.
spanner.databases.get 데이터베이스의 메타데이터를 가져옵니다.
spanner.databases.getIamPolicy 데이터베이스의 IAM 정책을 가져옵니다.
spanner.databases.list 데이터베이스를 나열합니다.
spanner.databases.read 읽기 API를 사용하여 데이터베이스에서 읽습니다.
spanner.databases.setIamPolicy 데이터베이스의 IAM 정책을 설정합니다.
spanner.databases.update 데이터베이스의 메타데이터를 업데이트합니다.
spanner.databases.updateDdl 데이터베이스의 스키마를 업데이트합니다.
spanner.databases.write 데이터베이스에 씁니다.
spanner.databases.compact 데이터베이스의 테이블을 압축합니다.
spanner.databases.export Spanner Omni 데이터베이스를 내보냅니다.
spanner.databases.import Spanner Omni 데이터베이스를 가져옵니다.
spanner.databases.addSplitPoints 데이터베이스에 분할 지점을 추가합니다.

데이터베이스 작업

Spanner Omni 데이터베이스 작업에 적용되는 권한은 다음과 같습니다.

데이터베이스 작업 권한 이름 설명 Spanner 및 Spanner Omni Spanner Omni만
spanner.databaseOperations.cancel 데이터베이스 작업을 취소합니다.
spanner.databaseOperations.delete 데이터베이스 작업을 삭제합니다.
spanner.databaseOperations.get 특정 데이터베이스 작업을 가져옵니다.
spanner.databaseOperations.list 데이터베이스를 나열하고 데이터베이스 작업을 복원합니다.

백업

Spanner Omni 백업에 적용되는 권한은 다음과 같습니다.

백업 권한 이름 설명 Spanner 및 Spanner Omni Spanner Omni만
spanner.backups.copy 백업을 복사합니다.
spanner.backups.create 백업 만들기 또한 소스 데이터베이스에서 spanner.databases.createBackup이 필요합니다.
spanner.backups.createDatabaseFromBackup 백업에서 데이터베이스를 만듭니다.
spanner.backups.delete 백업을 삭제합니다.
spanner.backups.get 백업을 가져옵니다.
spanner.backups.getIamPolicy 백업의 IAM 정책을 가져옵니다.
spanner.backups.list 백업을 나열합니다.
spanner.backups.restoreDatabase 백업에서 데이터베이스를 복원합니다. 또한 spanner.databases.create로 복원된 데이터베이스를 만들어야 합니다.
spanner.backups.setIamPolicy 백업의 IAM 정책을 설정합니다.
spanner.backups.update 백업을 업데이트합니다.
spanner.backups.import 외부 저장소에서 백업을 가져옵니다.

백업 작업

Spanner Omni 백업 작업에 적용되는 권한은 다음과 같습니다.

백업 작업 권한 이름 설명 Spanner 및 Spanner Omni Spanner Omni만
spanner.backupOperations.cancel 백업 작업을 취소합니다.
spanner.backupOperations.get 특정 백업 작업을 가져옵니다.
spanner.backupOperations.list 백업 작업을 나열합니다.

백업 일정

Spanner Omni 백업 일정에 적용되는 권한은 다음과 같습니다.

백업 일정 권한 이름 설명 Spanner 및 Spanner Omni Spanner Omni만
spanner.backupSchedules.create 백업 일정을 만듭니다. 또한 소스 데이터베이스에서 spanner.databases.createBackup이 필요합니다.
spanner.backupSchedules.delete 백업 일정을 삭제합니다.
spanner.backupSchedules.get 백업 일정을 가져옵니다.
spanner.backupSchedules.list 백업 일정을 나열합니다.
spanner.backupSchedules.update 백업 일정을 업데이트합니다.
spanner.backupSchedules.getIamPolicy 백업 일정의 IAM 정책을 가져옵니다.
spanner.backupSchedules.setIamPolicy 백업 일정의 IAM 정책을 설정합니다.

백업 설명자

Spanner Omni 백업 설명자에 적용되는 권한은 다음과 같습니다.

백업 설명자 권한 이름 설명 Spanner 및 Spanner Omni Spanner Omni만
spanner.backupDescriptors.import 백업 설명자에서 백업을 가져옵니다.
spanner.backupDescriptors.list 백업 설명자를 나열합니다.

세션

Spanner Omni 세션에 적용되는 권한은 다음과 같습니다.

세션 권한 이름 설명 Spanner 및 Spanner Omni Spanner Omni만
spanner.sessions.create 세션 만들기
spanner.sessions.delete 세션을 삭제합니다.
spanner.sessions.get 세션을 가져옵니다.
spanner.sessions.list 세션을 나열합니다.

위치 및 영역

Spanner Omni 위치 및 영역에 적용되는 권한은 다음과 같습니다.

권한 이름 설명 Spanner 및 Spanner Omni Spanner Omni만
spanner.locations.create Spanner Omni 위치 만들기
spanner.locations.delete Spanner Omni 위치 삭제
spanner.locations.get Spanner Omni 위치 가져오기
spanner.locations.list Spanner Omni 위치 나열
spanner.locationDistances.create Spanner Omni 위치 거리 만들기
spanner.locationDistances.delete Spanner Omni 위치 거리 삭제
spanner.locationDistances.get Spanner Omni 위치 거리 가져오기
spanner.locationDistances.list Spanner Omni 위치 거리 나열
spanner.locationDistances.update Spanner Omni 위치 거리 업데이트
spanner.zones.create Spanner Omni 영역 만들기
spanner.zones.delete Spanner Omni 영역 삭제
spanner.zones.get Spanner Omni 영역 가져오기
spanner.zones.list Spanner Omni 영역 나열

서버

Spanner Omni 서버에 적용되는 권한은 다음과 같습니다.

서버 권한 이름 설명 Spanner 및 Spanner Omni Spanner Omni만
spanner.servers.create Spanner Omni 서버를 만듭니다.
spanner.servers.delete Spanner Omni 서버를 삭제합니다.
spanner.servers.get Spanner Omni 서버를 가져옵니다.
spanner.servers.list Spanner Omni 서버를 나열합니다.

사용자 및 역할

Spanner Omni 사용자 및 역할에 적용되는 권한은 다음과 같습니다.

권한 이름 설명 Spanner 및 Spanner Omni Spanner Omni만
spanner.users.create Spanner Omni 사용자를 만듭니다.
spanner.users.delete Spanner Omni 사용자를 삭제합니다.
spanner.users.get Spanner Omni 사용자를 가져옵니다.
spanner.users.list Spanner Omni 사용자를 나열합니다.
spanner.users.update Spanner Omni 사용자를 업데이트합니다.
spanner.roles.get Spanner Omni 역할을 가져옵니다.
spanner.roles.list Spanner Omni 역할을 나열합니다.

외부 저장소

Spanner Omni 외부 스토리지에 적용되는 권한은 다음과 같습니다.

외부 저장소 권한 이름 설명 Spanner 및 Spanner Omni Spanner Omni만
spanner.externalStorages.create 외부 저장소를 만듭니다.
spanner.externalStorages.delete 외부 저장소를 삭제합니다.
spanner.externalStorages.get 외부 저장소를 가져옵니다.
spanner.externalStorages.getIamPolicy 외부 저장소의 IAM 정책을 가져옵니다.
spanner.externalStorages.list 외부 스토리지를 나열합니다.
spanner.externalStorages.setIamPolicy 외부 저장소의 IAM 정책을 설정합니다.

파일 시스템 및 설명자

Spanner Omni 파일 시스템에 적용되는 권한은 다음과 같습니다.

권한 이름 설명 Spanner 및 Spanner Omni Spanner Omni만
spanner.filesystem.cat Spanner Omni 파일 시스템의 파일을 출력합니다.
spanner.filesystem.ls Spanner Omni 파일 시스템의 파일을 나열합니다.
spanner.descriptors.print Spanner Omni 파일 시스템에 설명자를 출력합니다.

기타 관리자 권한

기타 Spanner Omni 관리자 작업에 적용되는 권한은 다음과 같습니다.

권한 이름 설명 Spanner 및 Spanner Omni Spanner Omni만
spanner.chubby.list Chubby 셀을 나열합니다.
spanner.chubby.print Chubby 셀 콘텐츠를 출력합니다.
spanner.deployment.get Spanner Omni 배포 가져오기
spanner.diagnostics.create 디버깅을 위해 Spanner Omni 서버에서 아티팩트를 수집합니다.
spanner.internal-tables.sql 내부 테이블에 대해 SQL 쿼리를 실행합니다.
spanner.logs.copy Spanner Omni 서버에서 로그를 복사합니다.
spanner.tablet.move 하나의 Spanner Omni 서버에서 다른 서버로 태블릿을 이동합니다.
spanner.workflows.delete 데이터베이스에서 워크플로를 삭제합니다.
spanner.groups.compact 그룹의 태블릿을 압축합니다.
spanner.directories.compact 디렉터리의 태블릿을 압축합니다.

사전 정의된 역할

사전 정의된 역할은 한 개 이상의 권한 번들입니다. Spanner Omni는 다음과 같은 사전 정의된 역할을 지원합니다.

역할 설명
roles/spanner.admin 모든 Spanner Omni 리소스에 대한 완전한 액세스 권한을 가집니다. 모든 권한을 포함합니다.
roles/spanner.backupAdmin Spanner Omni 백업 및 백업 작업에 대한 완전한 액세스 권한을 가집니다.
roles/spanner.backupWriter 백업을 만들 수 있지만 업데이트하거나 삭제할 수는 없습니다.
roles/spanner.databaseAdmin 프로젝트의 모든 Spanner Omni 데이터베이스에 대한 완전한 액세스 권한을 가집니다.
roles/spanner.databaseReader Spanner Omni 데이터베이스에서 읽고 스키마를 볼 수 있습니다.
roles/spanner.databaseUser Spanner Omni 데이터베이스에서 데이터를 읽고 쓸 수 있습니다.
roles/spanner.editor Spanner Omni의 편집자 역할입니다.
roles/spanner.restoreAdmin 백업에서 데이터베이스를 복원할 수 있습니다.
roles/spanner.viewer 모든 Spanner Omni 리소스를 볼 수 있지만 수정할 수는 없습니다. 읽기 전용 권한이 포함됩니다.

Spanner Omni에는 몇 가지 더 주목할 만한 제한사항이 있습니다.

  • 커스텀 역할이 없습니다.
  • 세분화된 액세스 제어가 없습니다.
  • IAM 조건이 없습니다.

다음 단계