PostgreSQL용 AlloyDB IAM 데이터베이스 인증

이 페이지에서는 Identity and Access Management(IAM)를 사용하여 AlloyDB 데이터베이스에 대한 액세스를 관리하는 방법을 설명합니다.

IAM 인증 개념

IAM 인증을 사용하는 경우 AlloyDB 인스턴스에 액세스할 수 있는 권한이 최종 사용자에게 직접 부여되지 않습니다. 대신 권한이 역할로 그룹화되고 역할은 주 구성원에게 부여됩니다. 자세한 내용은 IAM 개요를 참조하세요.

사용자가 IAM 데이터베이스 인증을 통해 로그인하도록 한 관리자는 IAM을 사용하여 IAM 정책을 통해 인스턴스에 대한 액세스 제어를 중앙에서 관리할 수 있습니다.

IAM 정책에는 다음 항목이 포함됩니다.

  • 주 구성원. AlloyDB에서는 사용자 계정 또는 서비스 계정(애플리케이션)을 사용할 수 있습니다. 자세한 내용은 주 구성원을 참조하세요.

  • 역할. IAM 데이터베이스 인증의 경우 주 구성원에게 alloydb.instances.login 권한이 필요합니다. 이 권한은 AlloyDB 클라이언트 역할(roles/alloydb.client)에 포함되어 있습니다. 이 권한을 얻으려면 사용자, 서비스 계정 또는 그룹을 사전 정의된 역할 또는 권한이 포함된 커스텀 역할에 바인딩합니다. 자세한 내용은 권한 및 역할을 참조하세요.

  • 리소스. 주 구성원이 액세스하는 리소스는 AlloyDB 인스턴스입니다. 기본적으로 IAM 정책 바인딩은 프로젝트 수준에서 적용되므로 주 구성원이 프로젝트의 모든 AlloyDB 인스턴스에 대한 역할 권한을 받습니다. 자세한 내용은 리소스를 참조하세요.

데이터베이스 인증 옵션 비교

다음 표를 사용하여 사용 사례에 가장 적합한 인증 방법을 결정하세요.

기능 기본 제공 데이터베이스 인증 IAM 데이터베이스 인증(개별)
인증 방법 비밀번호 임시 인증 토큰
네트워크 트래픽 암호화 SSL 필요 없음 SSL 필요
사용자 관리 수동 IAM을 통한 중앙 집중식

자동 IAM 데이터베이스 인증과 수동 IAM 데이터베이스 인증 비교

AlloyDB는 두 가지 IAM 데이터베이스 인증 방법, 즉 자동 및 수동 방법을 제공합니다.

자동 IAM 데이터베이스 인증

자동 IAM 데이터베이스 인증을 사용하면 인증 프록시 또는 언어 커넥터 중 하나와 같은 중간 AlloyDB 커넥터에 액세스 토큰 요청 및 관리를 위임할 수 있습니다.

자동 IAM 데이터베이스 인증을 사용할 경우 애플리케이션은 클라이언트의 연결 요청에서 IAM 데이터베이스 사용자 이름만 전달하면 됩니다. 커넥터는 클라이언트를 대신하여 비밀번호 속성에 대한 액세스 토큰 정보를 제출합니다.

수동 IAM 데이터베이스 인증

수동 IAM 데이터베이스 인증에서는 IAM 주 구성원이 클라이언트 연결 요청에서 비밀번호 속성에 대한 액세스 토큰을 명시적으로 전달해야 합니다. 주 구성원은 먼저 Google Cloud 에 로그인하고 IAM에서 액세스 토큰을 명시적으로 요청해야 합니다.

IAM 조건 및 감사 로그

IAM 조건을 사용하여 여러 속성을 기준으로 역할을 부여할 수 있습니다. 예를 들어 특정 날짜 및 시간에만 액세스를 허용하거나 특정 이름의 AlloyDB 리소스에만 액세스를 부여할 수 있습니다.

로그인을 포함한 데이터 액세스 기록을 보존하려면 Cloud 감사 로그를 사용하면 됩니다. Cloud 감사 로그는 기본적으로 사용 중지되어 있습니다. 로그인 추적에 데이터 액세스 감사 로그를 사용 설정해야 합니다.

제한사항 및 권장사항

  • IAM 데이터베이스 인증을 사용하는 로그인은 보안상의 이유로 SSL 연결에서만 사용할 수 있습니다. 암호화되지 않은 연결은 거부됩니다.

  • 각 인스턴스의 분당 로그인 할당량은 성공한 로그인과 실패한 로그인 정보를 모두 포함합니다. 할당량을 초과하면 로그인을 일시적으로 사용할 수 없습니다. 자주 로그인하지 말고 승인된 네트워크를 사용하여 로그인을 제한하는 것이 좋습니다.

다음 단계