다음을 통해 공유


Azure Database for PostgreSQL을 사용한 Microsoft Entra 인증

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

Microsoft Entra ID 사용의 이점은 다음과 같습니다.

  • 균일한 방식으로 Azure 서비스에서 사용자 인증
  • 한 곳에서 암호 정책 및 암호 회전 관리
  • 여러 형태의 인증을 지원하므로 암호를 저장할 필요가 없습니다.
  • 외부(Microsoft Entra ID) 그룹을 사용하여 데이터베이스 권한을 관리하는 고객의 기능입니다.
  • PostgreSQL 데이터베이스 역할을 사용하여 데이터베이스 수준에서 ID를 인증합니다.
  • Azure Database for PostgreSQL 유연한 서버 인스턴스에 연결하는 애플리케이션에 대한 토큰 기반 인증 지원.

Azure Database for PostgreSQL에서 Microsoft Entra ID가 작동하는 방식

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

Microsoft Entra ID, 사용자의 컴퓨터 및 서버 간의 인증 흐름 다이어그램

  1. 애플리케이션은 Azure 유연한 서버 인스턴스 메타데이터 서비스 ID 엔드포인트에서 토큰을 요청할 수 있습니다.
  2. 클라이언트 ID 및 인증서를 사용하는 경우 Microsoft Entra ID를 호출하여 액세스 토큰을 요청합니다.
  3. Microsoft Entra ID는 JWT(JSON Web Token) 액세스 토큰을 반환합니다. 애플리케이션은 유연한 서버 인스턴스에 대한 호출에서 액세스 토큰을 보냅니다.
  4. 유연한 서버 인스턴스는 Microsoft Entra ID를 사용하여 토큰의 유효성을 검사합니다.

Azure Database for PostgreSQL에서 Microsoft Entra ID를 구성하는 단계는 Azure Database for PostgreSQL 인증에 Microsoft Entra ID 사용을 참조하세요.

PostgreSQL 관리자와 Microsoft Entra 관리자 간의 차이점

Microsoft Entra 보안 주체에 대해 Microsoft Entra 인증을 Microsoft Entra 관리자로 설정하는 경우 계정은 다음과 같습니다.

  • 원래 PostgreSQL 관리자와 동일한 권한을 가져옵니다.
  • 서버에서 다른 Microsoft Entra 역할을 관리할 수 있습니다.

PostgreSQL 관리자는 로컬 암호 기반 사용자만 만들 수 있습니다. 그러나 Microsoft Entra 관리자는 Microsoft Entra 사용자와 로컬 암호 기반 사용자를 모두 관리할 권한이 있습니다.

Microsoft Entra 관리자는 Microsoft Entra 사용자, Microsoft Entra 그룹, 서비스 주체 또는 관리 ID일 수 있습니다. 그룹 계정을 관리자로 사용하면 관리 효율성이 향상됩니다. Azure Database for PostgreSQL 유연한 서버 인스턴스 내에서 사용자 또는 권한을 변경하지 않고 Microsoft Entra ID에서 그룹 멤버를 중앙 집중식으로 추가하고 제거할 수 있습니다.

여러 Microsoft Entra 관리자를 동시에 구성할 수 있습니다. 향상된 감사 및 규정 준수 요구 사항을 위해 Azure Database for PostgreSQL 유연한 서버 인스턴스에 대한 암호 인증을 비활성화할 수 있습니다.

Entra ID에 대한 관리 구조의 스크린샷

Azure Portal, API 또는 SQL을 통해 만든 Microsoft Entra 관리자는 서버 프로비전 중에 만든 일반 관리자 사용자와 동일한 권한을 가집니다. 일반 역할과 유사하게 비admin Microsoft Entra 역할에 대한 데이터베이스 권한을 관리합니다.

Microsoft Entra ID를 통한 연결

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

  • Microsoft Entra 암호 인증
  • Microsoft Entra 통합 인증
  • 다단계 인증을 사용하는 Microsoft Entra 유니버설
  • Active Directory 애플리케이션 인증서 또는 클라이언트 비밀
  • 관리 ID

Active Directory에 대해 인증한 후 토큰을 검색합니다. 이 토큰은 로그인을 위한 암호입니다.

Azure Database for PostgreSQL에서 Microsoft Entra ID를 구성하는 단계는 Azure Database for PostgreSQL 인증에 Microsoft Entra ID 사용을 참조하세요.

제한 사항 및 고려 사항

Azure Database for PostgreSQL에서 Microsoft Entra 인증을 사용하는 경우 다음 사항에 유의하세요.

  • Microsoft Entra 보안 주체가 배포 절차에서 사용자 데이터베이스의 소유권을 가지도록 하려면 사용자 데이터베이스를 만들기 전에 Microsoft Entra 인증이 켜져 있는지 확인하기 위해 배포(Terraform 또는 Azure Resource Manager) 모듈 내에 명시적 종속성을 추가합니다.

  • 언제든지 Azure Database for PostgreSQL 유연한 서버 인스턴스에 대한 Microsoft Entra 관리자로 여러 Microsoft Entra 보안 주체(사용자, 그룹, 서비스 주체 또는 관리 ID)를 구성할 수 있습니다.

  • PostgreSQL용 Microsoft Entra 관리자만 처음에 Microsoft Entra 계정을 사용하여 Azure Database for PostgreSQL 유연한 서버 인스턴스에 연결할 수 있습니다. Active Directory 관리자는 후속 Microsoft Entra 데이터베이스 사용자를 구성할 수 있습니다.

  • Microsoft Entra ID에서 Microsoft Entra 보안 주체를 삭제하는 경우 보안 주체는 PostgreSQL 역할로 유지되지만 더 이상 새 액세스 토큰을 획득할 수 없습니다. 이 경우 일치하는 역할이 데이터베이스에 여전히 존재하지만 서버에 인증할 수 없습니다. 데이터베이스 관리자는 소유권을 이전하고 역할을 수동으로 삭제해야 합니다.

    비고

    삭제된 Microsoft Entra 사용자는 토큰이 만료될 때까지(토큰 발급에서 최대 60분) 로그인할 수 있습니다. 또한 Azure Database for PostgreSQL에서 사용자를 제거하는 경우 이 액세스는 즉시 해지됩니다.

  • Azure Database for PostgreSQL은 사용자 이름을 사용하는 것이 아니라 사용자의 고유한 Microsoft Entra 사용자 ID를 사용하여 액세스 토큰을 데이터베이스 역할에 일치합니다. Microsoft Entra 사용자를 삭제하고 이름이 같은 새 사용자를 만드는 경우 Azure Database for PostgreSQL은 다른 사용자로 간주합니다. 따라서 Microsoft Entra ID에서 사용자를 삭제하고 이름이 같은 새 사용자를 추가하는 경우 새 사용자는 기존 역할에 연결할 수 없습니다.

자주 묻는 질문

  • Azure Database for PostgreSQL에서 사용 가능한 인증 모드는 무엇인가요?

    Azure Database for PostgreSQL은 PostgreSQL 인증만, Microsoft Entra 인증만, PostgreSQL 및 Microsoft Entra 인증의 세 가지 인증 모드를 지원합니다.

  • 유연한 서버 인스턴스에서 여러 Microsoft Entra 관리자를 구성할 수 있나요?

    예. 유연한 서버 인스턴스에서 여러 Microsoft Entra 관리자를 구성할 수 있습니다. 프로비전하는 동안 단일 Microsoft Entra 관리자만 설정할 수 있습니다. 그러나 서버를 만든 후에 인증 창으로 이동하여 원하는 만큼 Microsoft Entra 관리자를 설정할 수 있습니다.

  • Microsoft Entra 관리자는 Microsoft Entra 사용자인가요?

    아니요. Microsoft Entra 관리자는 사용자, 그룹, 서비스 주체 또는 관리 ID일 수 있습니다.

  • Microsoft Entra 관리자가 로컬 암호 기반 사용자를 만들 수 있나요?

    Microsoft Entra 관리자는 Microsoft Entra 사용자와 로컬 암호 기반 사용자를 모두 관리할 권한이 있습니다.

  • Azure Database for PostgreSQL 유연한 서버 인스턴스에서 Microsoft Entra 인증을 사용하도록 설정하면 어떻게 되나요?

    서버 수준에서 Microsoft Entra 인증을 설정하면 PGAadAuth 확장이 활성화되고 서버가 다시 시작됩니다.

  • Microsoft Entra 인증을 사용하여 로그인하려면 어떻게 해야 하나요?

    클라이언트 도구 psql 또는 pgAdmin를 사용하여 유연한 서버 인스턴스에 로그인할 수 있습니다. Microsoft Entra 사용자 ID를 사용자 이름으로 사용하고 Microsoft Entra 토큰을 암호로 사용합니다.

  • 토큰을 생성하려면 어떻게 해야 하나요?

    를 사용하여 az login토큰을 생성합니다. 자세한 내용은 Microsoft Entra 액세스 토큰 검색을 참조하세요.

  • 그룹 로그인과 개별 로그인의 차이점은 무엇인가요?

    Microsoft Entra 그룹 구성원으로 로그인하고 개별 Microsoft Entra 사용자로 로그인하는 것의 유일한 차이점은 사용자 이름에 있습니다. 개별 사용자로 로그인하려면 개별 Microsoft Entra 사용자 ID가 필요합니다. 그룹 구성원으로 로그인하려면 그룹 이름이 필요합니다. 두 시나리오 모두 암호와 동일한 개별 Microsoft Entra 토큰을 사용합니다.

  • 그룹 인증과 개별 인증의 차이점은 무엇인가요?

    Microsoft Entra 그룹 구성원으로 로그인하고 개별 Microsoft Entra 사용자로 로그인하는 것의 유일한 차이점은 사용자 이름에 있습니다. 개별 사용자로 로그인하려면 개별 Microsoft Entra 사용자 ID가 필요합니다. 그룹 구성원으로 로그인하려면 그룹 이름이 필요합니다. 두 시나리오 모두 암호와 동일한 개별 Microsoft Entra 토큰을 사용합니다.

토큰 수명은 어떻게 됩니까?

사용자 토큰은 최대 1시간 동안 유효합니다. 시스템 할당 관리 ID에 대한 토큰은 최대 24시간 동안 유효합니다.