MySQL 자동 사용자 프로비저닝
MySQL에 대한 자동 사용자 프로비저닝을 구성합니다.
Teleport 사용자가 데이터베이스에 연결할 때 Teleport는 MySQL 데이터베이스에 자동으로 계정을 생성할 수 있어, 사전에 개별 사용자 계정을 만들거나 모든 사용자에게 동일한 공유 데이터베이스 계정 세트를 사용할 필요가 없어집니다. 이 가이드에서는 MySQL에 대한 자동 사용자 프로비저닝을 설정하는 방법을 설명합니다. 작동 방식 # Teleport에 MySQL 데이터베이스를 등록하기 전에, 사용자를 관리할 권한을 가진 관리자 사용자를 데이터베이스에 설정합니다. 그런 다음 관리자 사용자의 이름을 포함하는 구성 필드를 사용하여 Teleport 클러스터에 데이터베이스를 등록합니다. 자동 사용자 프로비저닝을 활성화하는 역할을 가진 Teleport 사용자가 데이터베이스에 연결하면, Teleport 데이터베이스 서비스는 먼저 관리자 사용자로 데이터베이스에 연결하여 데이터베이스에 임시 사용자를 생성한 다음, 해당 임시 데이터베이스 사용자로 Teleport 사용자를 위한 데이터베이스 세션을 시작합니다. Teleport 사용자가 세션을 종료하면, Teleport 데이터베이스 서비스는 구성에 따라 데이터베이스 사용자를 제거하거나 비활성화하고 권한을 박탈하는 방식으로 임시 데이터베이스 사용자가 데이터베이스에 접근하지 못하도록 합니다. 사전 요구사항 # 자체 호스팅 MySQL 또는 RDS MySQL 데이터베이스가 구성된 Teleport 클러스터. 대상 데이터베이스에 연결하고 사용자 계정을 생성할 수 있는 권한. 자동 사용자 프로비저닝은 MySQL 8.0 미만 버전과 호환되지 않습니다. 자동 사용자 프로비저닝은 RDS Aurora 리더 엔드포인트와 호환되지 않습니다. 1/3단계. 데이터베이스 관리자 구성 # Teleport는 다른 사용자를 생성하고 역할을 할당할 수 있는 사용자로 데이터베이스에 연결할 수 있어야 합니다. Teleport 자동 사용자 프로비저닝 전용으로 별도의 사용자를 생성하는 것을 권장합니다. 여기서는 이를 teleport-admin 이라고 부르겠습니다. Teleport는 관리자 사용자로 연결할 때 일반 사용자 연결과 동일한 인증 메커니즘을 사용합니다. 즉, 자체 호스팅 데이터베이스에는 X.509를, RDS에는 AWS IAM을 사용합니다. 관리자 사용자는 데이터베이스 내에서 사용자를 생성하고 권한을 부여할 수 있는 권한을 가지고 있어야 합니다. 또한 관리자 사용자는 사용자 프로세스와 역할 할당을 모니터링할 수 있는 권한도 가지고 있어야 합니다. 또한, 관리자 사용자가 기본적으로 로그인할 데이터베이스가 필요합니다. 저장 프로시저 역시 이 데이터베이스에서 생성 및 실행됩니다. RDS MySQL Self-hosted MySQL RDS MySQL 관리자 사용자는 IAM 인증을 허용하기 위해 AWSAuthenticationPlugin 을 사용해야 합니다: CREATE USER 'teleport-admin' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS' ; GRANT SELECT ON mysql.role