다음을 통해 공유


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

적용 대상: Azure Database for MySQL - 유연한 서버

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

이점

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

아래 단계를 사용하여 Microsoft Entra 인증을 구성하고 사용합니다.

  1. 유연한 서버에 액세스하기 위한 기본 인증 방법을 선택합니다. 기본적으로 선택한 인증은 MySQL 인증으로만 설정됩니다. Microsoft Entra 인증만 선택하거나 MySQL과 Microsoft Entra 인증을 선택하여 Microsoft Entra 인증을 사용하도록 설정합니다.

  2. 다음 권한으로 UMI(사용자 관리 ID)를 선택하여 Microsoft Entra 인증을 구성합니다.

    • User.Read.All: Microsoft Entra 사용자 정보에 대한 액세스를 허용합니다.
    • User.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 인증을 설정하는 방법 알아보기를 참조하세요.

아키텍처

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 ID를 호출합니다.
  3. JWT(JSON Web Token) 액세스 토큰은 Microsoft Entra ID에 의해 반환됩니다. 애플리케이션은 유연한 서버에 대한 호출에서 액세스 토큰을 보냅니다.
  4. 유연한 서버는 Microsoft Entra ID를 사용하여 토큰의 유효성을 검사합니다.

관리자 구조

Microsoft Entra 인증을 사용할 때 Azure Database for MySQL 유연한 서버에는 두 개의 관리자(원래 MySQL 관리자와 Microsoft Entra 관리자) 계정이 있습니다.

Microsoft Entra 계정을 기반으로 하는 관리자만이 사용자 데이터베이스에 첫 번째 Microsoft Entra ID가 포함된 데이터베이스 사용자를 만들 수 있습니다. Microsoft Entra 관리자 로그인은 Microsoft Entra 사용자 또는 Microsoft Entra 그룹일 수 있습니다. 관리자가 그룹 계정인 경우 모든 그룹 멤버가 이를 사용할 수 있으므로 유연한 서버에 대해 여러 Microsoft Entra 관리자가 사용하도록 설정됩니다. 그룹 계정을 관리자 권한으로 사용하면 유연한 서버의 사용자나 권한을 변경하지 않고도 Microsoft Entra ID에서 그룹 멤버를 중앙에서 추가 및 제거할 수 있으므로 관리 효율성이 향상됩니다. 매번 한 명의 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로 설정됩니다.

사용 권한

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

Important

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

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

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

UMI에 권한을 부여하면 서버 ID로 할당된 UMI로 만들어진 모든 서버에 대해 권한이 사용하도록 설정됩니다.

토큰 유효성 검사

Azure Database for MySQL 유연한 서버의 Microsoft Entra 인증으로 사용자가 MySQL 서버에 존재하는지 확인하고 토큰 콘텐츠의 유효성을 검사하여 토큰의 유효성을 확인합니다. 다음 토큰 유효성 검사 단계를 수행합니다.

  • 토큰이 Microsoft Entra ID로 서명되고 변조되지 않았는지 검사
  • 서버와 연결된 테넌트에 Microsoft Entra ID에서 토큰을 발급했는지 검사
  • 토큰이 만료되지 않았습니다.
  • 토큰이 다른 Azure 리소스가 아닌 유연한 서버 리소스용입니다.

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 MySQL - 유연한 서버에서 Microsoft Entra ID 구성 및 로그인을 참조하세요.

기타 고려 사항

  • 언제든지 유연한 서버당 하나의 Microsoft Entra 관리자만 구성할 수 있습니다.

  • 처음에는 MySQL용 Microsoft Entra 관리자만 Microsoft Entra 계정을 사용하여 유연한 서버에 연결할 수 있습니다. Active Directory 관리자가 이후의 Microsoft Entra 데이터베이스 사용자 또는 Microsoft Entra 그룹을 구성할 수 있습니다. 관리자가 그룹 계정인 경우 모든 그룹 멤버가 이를 사용할 수 있으므로 유연한 서버에 대해 여러 Microsoft Entra 관리자가 사용하도록 설정됩니다. 그룹 계정을 관리자 권한으로 사용하면 유연한 서버의 사용자나 권한을 변경하지 않고도 Microsoft Entra ID에서 그룹 멤버를 중앙에서 추가 및 제거할 수 있으므로 관리 효율성이 향상됩니다.

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

참고 항목

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

  • Microsoft Entra 관리자가 서버에서 제거되면 서버는 더 이상 Microsoft Entra 테넌트와 연결되지 않으므로 해당 서버에 대해 모든 Microsoft Entra 로그인이 사용하지 않도록 설정됩니다. 동일한 테넌트에서 새 Microsoft Entra 관리자를 추가하면 Microsoft Entra 로그인이 다시 사용하도록 설정됩니다.

  • 유연한 서버는 사용자 이름 대신 사용자의 고유한 Microsoft Entra 사용자 ID를 사용하여 Azure Database for MySQL 유연한 서버 사용자에게 액세스 토큰을 일치합니다. 즉, Microsoft Entra ID에서 Microsoft Entra 사용자가 삭제되고 동일한 이름으로 새 사용자가 만들어지면 유연한 서버는 해당 사용자를 다른 사용자로 간주합니다. 따라서 Microsoft Entra ID에서 사용자를 삭제한 후, 동일한 이름의 새로운 사용자가 추가되면 해당 사용자는 기존 사용자와 연결할 수 없게 됩니다.

참고 항목

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

다음 단계