Amazon Redshift 자동 사용자 프로비저닝
Amazon Redshift의 자동 사용자 프로비저닝을 구성합니다.
Teleport는 데이터베이스에 사용자를 자동으로 생성할 수 있어, 개별 사용자 계정을 미리 만들거나 모든 사용자에게 동일한 공유 데이터베이스 계정 집합을 사용할 필요가 없습니다. 전제 조건 # Amazon Redshift 데이터베이스가 구성된 Teleport 클러스터. 대상 데이터베이스에 연결하고 사용자 계정을 생성할 수 있는 권한. 지원되는 서비스 자동 사용자 프로비저닝은 Redshift Serverless와 호환되지 않습니다. 1/3단계. 데이터베이스 관리자 구성 # Teleport는 관리자 사용자로 연결할 때 일반 사용자 연결과 동일한 인증 메커니즘(IAM 인증)을 사용합니다. 관리자 사용자는 데이터베이스 내에서 사용자를 생성하고 권한을 부여할 수 있는 권한이 있어야 합니다. 또한 사용자 프로세스 및 역할 할당을 모니터링할 수 있는 권한도 있어야 합니다: CREATE USER "teleport-admin" WITH PASSWORD DISABLE; GRANT ROLE "sys:superuser" TO "teleport-admin"; Teleport가 생성한 사용자는 데이터베이스에서 teleport-auto-user 역할이 할당되며, 해당 역할이 존재하지 않으면 자동으로 생성됩니다. 다음으로, Teleport 데이터베이스 구성에서 데이터베이스 관리자 사용자를 구성합니다: kind: db version: v3 metadata: name: example spec: protocol: "postgres" uri: "redshift-cluster-1.abcdefghijklm.us-east-1.redshift.amazonaws.com:5439" admin_user: name: "teleport-admin" 이 예제는 데이터베이스를 동적 리소스로 구성했다고 가정합니다. 정적 Teleport Database Service 구성을 사용하여 데이터베이스를 구성한 경우 db_service.databases 구성의 항목을 편집하세요. 자동으로 검색된 클라우드 데이터베이스의 경우 관리자 사용자의 이름은 teleport.dev/db-admin 레이블에서 가져옵니다. 2/3단계. Teleport 역할 구성 # 데이터베이스 내에서 사용자에게 할당할 데이터베이스 역할을 지정하려면 db_roles 역할 옵션을 사용하십시오: kind: role version: v7 metadata: name: auto-db-users spec: options: # create_db_user_mode enables automatic user provisioning for matching databases create_db_user_mode: keep allow: db_labels: "*": "*" db_names: - "*" # db_roles is a list of roles the database user will be assigned db_roles: - reader - " {{internal.db_roles}} " - " {{external.db_roles}} " 자동 사용자