Share via


PostgreSQL에 대한 인증을 위해 Microsoft Entra ID를 사용

적용 대상: Azure Database for PostgreSQL - 단일 서버

Important

Azure Database for PostgreSQL - 단일 서버는 곧 사용 중지됩니다. Azure Database for PostgreSQL - 유연한 서버로 업그레이드하는 것이 좋습니다. Azure Database for PostgreSQL - 유연한 서버로 마이그레이션하는 방법에 대한 자세한 내용은 Azure Database for PostgreSQL 단일 서버에 대한 새로운 소식을 참조하세요.

Microsoft Entra 인증은 Microsoft Entra ID에 정의된 ID를 사용하여 Azure Database for PostgreSQL에 연결하는 메커니즘입니다. Microsoft Entra 인증을 사용하면 중앙 위치에서 데이터베이스 사용자 ID 및 기타 Microsoft 서비스를 관리할 수 있으므로 권한 관리가 간소화됩니다.

Microsoft Entra ID를 사용하면 다음과 같은 이점이 있습니다.

  • Azure 서비스 간 사용자 인증을 단일 방식으로 수행할 수 있습니다.
  • 암호 정책 및 암호 순환을 단일 장소에서 관리할 수 있습니다.
  • Microsoft Entra ID는 다양한 형태의 인증을 지원하므로 암호를 저장할 필요가 없습니다.
  • 고객은 외부(Microsoft Entra ID) 그룹을 사용하여 데이터베이스 권한을 관리할 수 있습니다.
  • Microsoft Entra 인증은 PostgreSQL 데이터베이스 역할을 사용하여 데이터베이스 수준에서 ID를 인증합니다.
  • 애플리케이션이 Azure Database for PostgreSQL에 연결할 수 있도록 토큰 기반 인증이 지원됩니다.

Microsoft Entra 인증을 구성하고 사용하려면 다음 프로세스를 사용합니다.

  1. 필요에 따라 Microsoft Entra ID를 만들고 사용자 ID로 채웁니다.
  2. 선택적으로 현재 Azure 구독과 연결된 Active Directory를 연결하거나 변경합니다.
  3. Azure Database for PostgreSQL 서버에 대한 Microsoft Entra 관리자를 만듭니다.
  4. Microsoft Entra ID에 매핑된 데이터베이스에 데이터베이스 사용자를 만듭니다.
  5. Microsoft Entra ID에 대한 토큰을 검색하고 로그인하여 데이터베이스에 연결합니다.

참고 항목

Microsoft Entra ID를 만들기 및 입력한 다음 Azure Database for PostgreSQL을 사용하여 Microsoft Entra ID를 구성하는 방법을 알아보려면 Azure Database for PostgreSQL의 Microsoft Entra ID 구성 및 로그인을 참조하세요.

아키텍처

다음 개략적인 다이어그램은 Azure Database for PostgreSQL에서 Microsoft Entra 인증을 사용하여 인증이 작동하는 방식을 요약합니다. 화살표는 통신 경로 나타냅니다.

인증 흐름

관리자 구조

Microsoft Entra 인증을 사용하는 경우 PostgreSQL 서버에 대해 두 개의 관리자 계정(원래 PostgreSQL 관리자와 Microsoft Entra 관리자)이 있습니다. Microsoft Entra 계정을 기반으로 하는 관리자만이 사용자 데이터베이스에 첫 번째 Microsoft Entra ID가 포함된 데이터베이스 사용자를 만들 수 있습니다. Microsoft Entra 관리자 로그인은 Microsoft Entra 사용자 또는 Microsoft Entra 그룹일 수 있습니다. 관리자가 그룹 계정인 경우 모든 그룹 멤버가 이를 사용할 수 있으므로 PostgreSQL 서버에 대해 여러 Microsoft Entra 관리자가 가능합니다. 그룹 계정을 관리자 권한으로 사용하면 PostgreSQL 서버에서 사용자나 권한을 변경하지 않고도 Microsoft Entra ID에서 그룹 멤버를 중앙에서 추가 및 제거할 수 있으므로 관리 효율성이 향상됩니다. 언제든지 한 명의 Microsoft Entra 관리자(사용자 또는 그룹)만 구성할 수 있습니다.

관리자 구조

참고 항목

서비스 주체 또는 관리 ID는 단일 서버에서 완전한 기능을 갖춘 Microsoft Entra 관리자 역할을 할 수 없으며 이 제한 사항은 유연한 서버에서 수정되었습니다.

사용 권한

Microsoft Entra ID로 인증할 수 있는 새 사용자를 만들려면 데이터베이스에 azure_ad_admin 역할이 있어야 합니다. 이 역할은 특정 Azure Database for PostgreSQL 서버에 대한 Microsoft Entra 관리자 계정을 구성하여 할당됩니다.

새로운 Microsoft Entra 데이터베이스 사용자를 만들려면 Microsoft Entra 관리자로 연결해야 합니다. 이는 Azure Database for PostgreSQL에 대한 Microsoft Entra ID 구성 및 로그인에 설명되어 있습니다.

모든 Microsoft Entra 인증은 Microsoft Entra 관리자가 Azure Database for PostgreSQL용으로 만들어진 경우에만 가능합니다. Microsoft Entra 관리자가 서버에서 제거된 경우 이전에 만들어진 기존 Microsoft Entra 사용자는 더 이상 Microsoft Entra 자격 증명을 사용하여 데이터베이스에 연결할 수 없습니다.

Microsoft Entra ID를 사용하여 연결

Microsoft Entra 인증은 Microsoft Entra ID를 사용하여 데이터베이스에 연결하는 다음 방법을 지원합니다.

  • Microsoft Entra 암호
  • Microsoft Entra 통합
  • MFA가 포함된 Microsoft Entra 유니버설
  • Active Directory 애플리케이션 인증서 또는 클라이언트 암호 사용
  • 관리 ID

Active Directory에 대해 인증을 수행한 후 토큰을 검색합니다. 이 토큰은 로그인에 사용되는 암호입니다.

새 사용자 추가와 같은 관리 작업은 현재 Microsoft Entra 사용자 역할에 대해서만 지원됩니다.

참고 항목

Active Directory 토큰으로 연결하는 방법에 대한 자세한 내용은 Azure Database for PostgreSQL용 Microsoft Entra ID 구성 및 로그인을 참조하세요.

추가 고려 사항

  • 관리 효율성을 높이려면 전용 Microsoft Entra 그룹을 관리자 권한으로 프로비전하는 것이 좋습니다.
  • Azure Database for PostgreSQL 서버에 대해 언제든지 한 명의 Microsoft Entra 관리자(사용자 또는 그룹)만 구성할 수 있습니다.
  • PostgreSQL의 Microsoft Entra 관리자만 처음에 Microsoft Entra 계정을 사용해서 Azure Database for PostgreSQL에 연결할 수 있습니다. Active Directory 관리자가 이후의 Microsoft Entra 데이터베이스 사용자를 구성할 수 있습니다.
  • Microsoft Entra ID에서 사용자가 삭제되면 해당 사용자는 더 이상 Microsoft Entra ID로 인증할 수 없으므로 더 이상 해당 사용자에 대한 액세스 토큰을 얻을 수 없습니다. 이 경우 일치하는 역할이 데이터베이스에 있더라도 해당 역할을 사용해서 서버에 연결하는 것이 불가능합니다.

참고 항목

삭제된 Microsoft Entra 사용자로 로그인은 토큰이 만료될 때까지 계속 가능합니다(토큰 발급 후 최대 60분). Azure Database for PostgreSQL에서도 사용자를 제거하면 이 액세스 권한이 즉시 해지됩니다.

  • Microsoft Entra 관리자가 서버에서 제거되면 서버는 더 이상 Microsoft Entra 테넌트와 연결되지 않으므로 해당 서버에 대해 모든 Microsoft Entra 로그인이 사용하지 않도록 설정됩니다. 동일한 테넌트에서 새 Microsoft Entra 관리자를 추가하면 Microsoft Entra 로그인이 다시 사용하도록 설정됩니다.
  • Azure Database for PostgreSQL은 사용자 이름을 사용하는 것이 아니라 사용자의 고유한 Microsoft Entra 사용자 ID를 사용하여 액세스 토큰을 Azure Database for PostgreSQL 역할과 일치시킵니다. 즉, Microsoft Entra ID에서 Microsoft Entra 사용자가 삭제되고 동일한 이름으로 새 사용자가 만들어지면 Azure Database for PostgreSQL은 해당 사용자를 다른 사용자로 간주합니다. 따라서 Microsoft Entra ID에서 사용자를 삭제한 후 동일한 이름의 새로운 사용자가 추가되면 해당 사용자는 기존 역할로 접속할 수 없게 됩니다. 이를 허용하려면 Azure Database for PostgreSQL Microsoft Entra 관리자가 사용자에게 "azure_ad_user" 역할을 철회한 다음 부여하여 Microsoft Entra 사용자 ID를 새로 고쳐야 합니다.

다음 단계