Azure Database for MySQL에 대한 Microsoft Entra 인증 - 유연한 서버

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

Entra 인증의 이점

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

Microsoft Entra 인증 구성 및 사용

  1. 유연한 서버에 액세스하기 위한 기본 인증 방법을 선택합니다.

    • 기본적으로 인증 방법은 MySQL 인증으로만 설정됩니다.
    • Microsoft Entra 인증을 사용하도록 설정하려면 인증 방법을 다음으로 변경합니다.
      • Microsoft Entra authentication only
      • 또는 MySQL and Microsoft Entra authentication
  2. 다음 권한으로 UAMI(사용자 할당 관리 ID)를 선택합니다.

    • User.Read.All: Microsoft Entra 사용자 정보에 액세스할 수 있습니다.
    • GroupMember.Read.All: Microsoft Entra 그룹 정보에 액세스할 수 있습니다.
    • Application.Read.ALL: Microsoft Entra 서비스 주체(애플리케이션) 정보에 대한 액세스를 허용합니다.
  3. Microsoft Entra 관리자를 추가합니다. 유연한 서버에 액세스할 수 있는 Microsoft Entra 사용자 또는 그룹일 수 있습니다.

  4. Microsoft Entra ID에 매핑된 데이터베이스에서 데이터베이스 사용자를 만듭니다.

  5. Microsoft Entra ID에 대한 토큰을 검색하고 로그인하여 데이터베이스에 연결합니다.

메모

Azure Database for MySQL 유연한 서버를 사용하여 Microsoft Entra 인증을 구성하는 방법에 대한 자세한 단계별 지침은 Azure Database for MySQL - 유연한 서버에 대한 Microsoft Entra 인증 설정을 참조하세요.

Architecture

Microsoft Entra 인증에는 사용자 관리 ID가 필요합니다. 사용자 할당 ID를 유연한 서버에 연결하면 MSRP(관리 ID 리소스 공급자)가 내부적으로 해당 ID에 인증서를 발급합니다. 관리 ID를 삭제하면 해당 서비스 주체가 자동으로 제거됩니다.

이 서비스는 관리 ID를 사용하여 Microsoft Entra 인증을 지원하는 서비스에 대한 액세스 토큰을 요청합니다. Azure Database는 현재 Azure Database for MySQL 유연한 서버에 대해 UMI(사용자 할당 관리 ID)만 지원합니다. 자세한 내용은 Azure의 관리 ID 유형을 참조하세요.

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

Microsoft Entra 인증의 작동 방식에 대한 다이어그램.

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

관리자 구조

Azure Database for MySQL 유연한 서버에서 Microsoft Entra 인증을 사용하면 원래 MySQL 관리자와 Microsoft Entra 관리자라는 두 개의 관리자 계정이 제공됩니다.

Microsoft Entra 계정을 기반으로 하는 관리자만이 사용자 데이터베이스에 첫 번째 Microsoft Entra ID가 포함된 데이터베이스 사용자를 만들 수 있습니다. Microsoft Entra 관리자 로그인은 Microsoft Entra 사용자 또는 Microsoft Entra 그룹일 수 있습니다. 관리자가 그룹 계정인 경우 모든 그룹 구성원은 데이터베이스 서버 관리자입니다. 그룹 계정은 데이터베이스 서버에서 사용자 또는 권한을 변경하지 않고 Microsoft Entra에서 그룹 구성원을 중앙에서 추가하고 제거하여 관리 효율성을 향상시킵니다.

Important

한 번에 하나의 Microsoft Entra 관리자(사용자 또는 그룹)만 구성할 수 있습니다.

Microsoft Entra 관리자 구조의 다이어그램

유연한 서버에 액세스하려면 다음 인증 방법을 사용할 수 있습니다.

  • MySQL 인증 전용 - MySQL 로그인 및 암호를 사용하여 네이티브 MySQL 인증을 사용하는 기본 옵션입니다.
  • Microsoft Entra 인증만 - MySQL 네이티브 인증을 사용하지 않도록 설정하고 사용자 및 애플리케이션은 Microsoft Entra 사용하여 인증해야 합니다. 이 모드를 사용하도록 설정하려면 서버 매개 변수 aad_auth_only 를 .로 ON설정합니다.
  • MySQL 및 Microsoft Entra ID 인증 - 네이티브 MySQL 및 Microsoft Entra 인증을 모두 사용할 수 있습니다. 이 모드를 사용하도록 설정하려면 서버 매개 변수 aad_auth_only 를 .로 OFF설정합니다.

Permissions

UMI가 Microsoft Graph 서버 ID로 읽을 수 있도록 하려면 다음 권한을 부여합니다. 또는 디렉터리 읽기 권한자 역할을 사용자 할당 관리 ID에 할당합니다.

Important

Privileged Role Administrator 역할이 있는 사용자만 이러한 권한을 부여할 수 있습니다.

  • User.Read.All: Microsoft Entra 사용자 정보에 액세스할 수 있습니다.
  • GroupMember.Read.All: Microsoft Entra 그룹 정보에 액세스할 수 있습니다.
  • Application.Read.ALL: Microsoft Entra 서비스 주체(애플리케이션) 정보에 대한 액세스를 허용합니다.

사용 권한을 부여하고 사용하는 방법에 대한 지침은 Microsoft Graph 권한 개요를 참조하세요.

UMI에 권한을 부여하면 UMI를 서버 ID로 할당하여 만든 모든 서버에 적용됩니다.

토큰 유효성 검사

Azure Database for MySQL 유연한 서버의 Microsoft Entra 인증은 사용자가 MySQL 서버에 있는지 확인하고 토큰 내용의 유효성을 검사하여 토큰의 유효성을 검사합니다. 서비스는 다음 토큰 유효성 검사 단계를 수행합니다.

  • 토큰은 Microsoft Entra에서 서명합니다.
  • 토큰은 서버와 연결된 테넌트에 대해 Microsoft Entra에서 발급합니다.
  • 토큰이 만료되지 않았습니다.
  • 토큰은 다른 Azure 리소스가 아닌 유연한 서버 인스턴스용입니다.

Microsoft Entra ID를 사용하여 연결

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

  • Microsoft Entra 암호
  • Microsoft Entra 통합
  • MFA를 사용하는 Microsoft Entra Universal
  • Active Directory 애플리케이션 인증서 또는 클라이언트 비밀 사용
  • 관리되는 식별

Active Directory에 인증하면 토큰을 가져옵니다. 이 토큰은 로그인에 사용되는 암호입니다.

메모

Microsoft Entra 사용자 역할만 새 사용자 추가와 같은 관리 작업을 지원합니다.

메모

Active Directory 토큰을 사용하여 연결하는 방법에 대한 자세한 내용은 Azure Database for MySQL - 유연한 서버에 대한 Microsoft Entra 인증 설정을 참조하세요.

기타 고려 사항

  • 유연한 서버당 한 번에 한 Microsoft Entra 관리자만 구성할 수 있습니다.

  • Microsoft Entra 사용자를 삭제하는 경우 해당 사용자는 Entra로 인증할 수 없습니다. 따라서 사용자는 액세스 토큰을 가져올 수 없습니다. 일치하는 사용자가 여전히 데이터베이스에 있지만 해당 사용자와 서버에 연결할 수는 없습니다.

    메모

    토큰이 만료될 때까지 삭제된 Microsoft Entra 사용자를 사용하여 로그인할 수 있습니다(토큰 발급 후 최대 60분). Azure Database for MySQL 유연한 서버에서 사용자를 제거하면 이 액세스가 즉시 취소됩니다.

  • 서버에서 Microsoft Entra 관리자를 제거하면 서버가 더 이상 Microsoft Entra 테넌트와 연결되지 않으므로 모든 Microsoft Entra 로그인이 서버에 대해 비활성화됩니다. 동일한 테넌트에서 새 Microsoft Entra 관리자를 추가하면 Microsoft Entra 로그인이 다시 활성화됩니다.

  • 유연한 서버는 액세스 토큰을 사용자 이름 대신 사용자의 고유한 Entra ID와 일치합니다. 따라서 Microsoft Entra 사용자를 삭제한 다음 이름이 같은 새 사용자를 추가하는 경우 새 사용자는 이전 사용 권한을 상속하지 않습니다.

  • 복제본 서버에서 Entra 인증을 사용하도록 설정하려면 모든 복제본 파트너에서 주 서버에서 사용되는 것과 동일한 구성 단계를 적용해야 합니다.

메모

Microsoft Entra 인증을 사용하도록 설정된 유연한 서버의 구독을 다른 테넌트 또는 디렉터리로 전송할 수 없습니다.

다음 단계: