이 페이지에서는 PostgreSQL용 AlloyDB에서 데이터베이스 사용자를 관리하고 이러한 데이터베이스 사용자에 대해 Identity and Access Management (IAM) 인증을 사용 설정하는 방법을 간략하게 설명합니다.
데이터베이스 사용자 관리 작동 방식
AlloyDB는 PostgreSQL과 동일한 역할, 사용자, 그룹 개념을 공유합니다. 간단한 설명은 다음 설명을 참고하세요.
역할: 클러스터 전반의 데이터베이스 사용자 및 데이터베이스 사용자 그룹을 모두 설명하는 최상위 지정입니다. 역할은 테이블, 함수와 같은 데이터베이스 객체에 대한 액세스를 제공하고 제한합니다.
사용자:
LOGIN
속성이 부여된 역할입니다. 사용자가 AlloyDB 데이터베이스 클러스터를 인증하고 로그인할 수 있습니다.그룹: 하나 이상의 사용자에게 부여된 역할입니다. 그룹의 목적은 여러 사용자가 전체적으로 갖는 권한을 제어하는 것입니다.
데이터베이스 인증 작동 방식
AlloyDB 데이터베이스 클러스터를 인증하고 로그인하는 방법에는 다음 두 가지가 있습니다.
- 표준 PostgreSQL 비밀번호 기반 인증: 제공된 사용자 인증 정보를 저장된 해시된 비밀번호와 비교하여 사용자 ID를 확인합니다. 지원되는 메서드에는 md5, scram-sha-256, password가 있습니다.
- IAM 인증: 데이터베이스 사용자가 IAM을 사용하여 인증하여 보안을 강화하고 다른Google Cloud 서비스 전반에서 액세스 제어를 중앙 집중화할 수 있습니다.
사전 정의된 역할
PostgreSQL은 다양한 권한이 있는 사전 정의된 역할을 제공합니다. AlloyDB는 이러한 사전 정의된 역할 외에도 여러 사전 정의된 사용자 및 그룹 역할을 제공합니다.
다음 표에는 AlloyDB에서 제공하는 역할과 역할 권한이 나와 있습니다.
역할 이름 | 권한 |
---|---|
alloydbsuperuser |
CREATEROLE , CREATEDB , LOGIN |
postgres |
CREATEROLE , CREATEDB , LOGIN |
alloydbimportexport |
CREATEROLE 및 CREATEDB . |
alloydbagent |
CREATEROLE 및 CREATEDB . |
alloydbreplica |
REPLICATION |
alloydbiamuser |
기본적으로 이 역할에는 권한이 없습니다. |
다음 하위 섹션에서는 이러한 역할 중 일부의 용도를 설명합니다.
alloydbsuperuser
그룹 역할
alloydbsuperuser
를 사용하면 데이터베이스 시스템을 설정하고 기타 슈퍼 사용자 작업을 실행할 수 있습니다. 이 역할에는 다음 권한이 있습니다.
- 수퍼유저 권한이 필요한 확장 프로그램 만들기
- 이벤트 트리거 만들기
- 복제 사용자 만들기
- 복제 게시 및 구독 만들기
관리형 서비스인 AlloyDB에서는 사용자에게 PostgreSQL superuser
역할을 부여할 수 없습니다. 대신 alloydbsuperuser
역할을 부여하여 데이터베이스 사용자에게 AlloyDB 수퍼유저 권한을 부여할 수 있습니다.
postgres
사용자 역할
postgres
사용자 역할은 alloydbsuperuser
의 일부입니다. AlloyDB 클러스터를 만들 때 postgres
에 비밀번호를 할당합니다. 그런 다음 postgres
를 사용하여 시스템에 로그인하여 데이터베이스 또는 추가 역할을 만드는 등의 작업을 실행합니다.
alloydbimportexport
사용자 역할
AlloyDB 클러스터를 만들면 AlloyDB에서 가져오기 및 내보내기 작업에 필요한 최소 권한 집합으로 alloydbimportexport
를 만듭니다.
이러한 작업을 수행할 사용자를 자체적으로 만들 수 있습니다. 맞춤 alloydbimportexport
사용자를 만들지 않으면 시스템에서 가져오기 및 내보내기 작업에 기본 alloydbimportexport
사용자를 사용합니다.
alloydbimportexport
은 시스템 사용자입니다. 즉, alloydbimportexport
사용자를 직접 사용하여 PostgreSQL 데이터베이스에 로그인하거나 다른 작업을 실행할 수 없습니다.
alloydbagent
사용자 역할
alloydbagent
역할은 내부 AlloyDB 시스템 역할입니다. AlloyDB 서비스에서 관리하며 데이터베이스 계정에 수동으로 부여할 수 없습니다. 따라서 데이터베이스와 기능이 올바르게 작동합니다.
alloydbreplica
사용자 역할
alloydbreplica
역할은 내부 AlloyDB 시스템 역할입니다. AlloyDB 서비스에서 관리하며 데이터베이스 계정에 수동으로 부여할 수 없습니다. 따라서 데이터베이스와 기능이 올바르게 작동합니다.
alloydbiamuser
그룹 역할
alloydbiamuser
그룹 내 데이터베이스 사용자는 표준 PostgreSQL 비밀번호 기반 인증을 사용하는 대신 IAM을 사용하여 AlloyDB 인스턴스를 인증합니다.
AlloyDB에서는 GRANT
PostgreSQL 명령어 또는 유사한 방법을 사용하여 사용자에게 alloydbiamuser
를 부여할 수 없습니다. 대신 AlloyDB 관리 도구를 사용하여 IAM 기반 데이터베이스 사용자를 만들고 관리할 수 있습니다. 자세한 내용은 IAM 인증 관리를 참고하세요.
다음 단계
표준 인증을 사용하여 AlloyDB의 PostgreSQL 역할, 사용자, 그룹을 관리하는 방법을 알아봅니다.
IAM 인증을 관리하는 방법을 알아보세요.