자습서: Azure SQL을 통한 Microsoft Entra 전용 인증 사용
이 문서의 내용
적용 대상: Azure SQL 데이터베이스 Azure SQL Managed Instance
이 문서에서는 Azure SQL 데이터베이스 및 Azure SQL Managed Instance에서 Microsoft Entra 전용 인증 기능을 사용하도록 설정하는 방법을 안내합니다. Microsoft Entra 전용 인증이 사용하도록 설정된 SQL Database 또는 SQL Managed Instance를 프로비저닝하려는 경우 Azure SQL에서 Microsoft Entra 전용 인증을 사용하도록 설정된 서버 만들기 를 참조하세요.
이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.
Microsoft Entra 전용 인증에 역할 할당하기
Azure Portal, Azure CLI 또는 PowerShell을 사용하여 Microsoft Entra 전용 인증 사용
Microsoft Entra 전용 인증이 사용되고 있는지 확인
Azure SQL에 대한 연결 테스트
Azure Portal, Azure CLI 또는 PowerShell을 사용하여 Microsoft Entra 전용 인증 비활성화
필수 조건
Microsoft Entra 전용 인증에 역할 할당하기
Microsoft Entra 전용 인증을 사용하거나 사용하지 않도록 설정하려면 이 자습서에서 이러한 작업을 실행하는 Microsoft Entra 사용자에게 선택한 기본 제공 역할이 필요합니다. 이 자습서에서는 사용자에게 SQL 보안 관지자 역할 을 할당합니다.
Microsoft Entra ID 역할 할당 방법에 대해 더 자세히 알고 싶다면 Microsoft Entra ID로 사용자에게 관리자 및 비 관리자 역할 할당하기 를 참조하세요.
Microsoft Entra 전용 인증을 사용하거나 사용하지 않도록 설정하는 데 필요한 권한에 대한 자세한 내용은 Microsoft Entra 전용 인증 문서의 권한 섹션 을 참조하세요.
이 예시에서는 사용자에게 SQL Security Manager 역할을 UserSqlSecurityManager@contoso.onmicrosoft.com
에게 할당합니다. Microsoft Entra 역할을 할당할 수 있는 권한 있는 사용자를 사용하여 Azure Portal 에 로그인합니다.
SQL 서버 리소스로 이동한 다음, 메뉴에서 액세스 제어(IAM) 를 선택합니다. 추가 버튼을 선택한 다음 드롭다운 메뉴에서 역할 할당 추가 를 선택합니다.
역할 할당 추가 창에서 SQL 보안 관리자 역할을 선택한 다음, Microsoft Entra 전용 인증을 사용하거나 사용하지 않도록 설정할 수 있는 사용자를 선택합니다.
저장 을 클릭합니다.
Microsoft Entra 전용 인증 활성화하기
Azure Portal을 통해 SQL Database에서 활성화
Azure Portal을 사용하여 Microsoft Entra 전용 인증을 사용하도록 설정하려면 다음 단계를 수행합니다.
SQL 보안 관리자 역할이 있는 사용자를 사용하여 Azure Portal 로 이동합니다.
SQL Server 리소스로 이동하고 설정 메뉴에서 Microsoft Entra ID 를 선택합니다.
Microsoft Entra 관리자 를 추가하지 않은 경우 Microsoft Entra 전용 인증을 사용하도록 설정하기 전에 이를 설정해야 합니다.
이 서버에 대한 Microsoft Entra 인증만 지원 상자를 선택합니다.
Microsoft Entra 전용 인증 활성화 사용 팝업이 표시됩니다. 예 를 선택하여 기능을 사용하도록 설정하고 설정을 저장 합니다.
Azure Portal을 통해 SQL Managed Instance에서 사용
Azure Portal을 사용하여 Microsoft Entra 전용 인증을 사용하도록 설정하려면 다음 단계를 확인하세요.
SQL 보안 관리자 역할이 있는 사용자를 사용하여 Azure Portal 로 이동합니다.
SQL Managed Instance 로 이동한 다음, 설정 메뉴에서 Microsoft Entra 관리자 를 선택합니다.
Microsoft Entra 관리자 를 추가하지 않은 경우 Microsoft Entra 전용 인증을 사용하도록 설정하기 전에 이를 설정해야 합니다.
Managed Instance에서 Microsoft Entra 인증만 지원 상자를 선택합니다.
Microsoft Entra 전용 인증 활성화 사용 팝업이 표시됩니다. 예 를 선택하여 기능을 사용하도록 설정하고 설정을 저장 합니다.
Azure CLI를 통해 SQL Database에서 사용
Azure CLI를 통해 Azure SQL 데이터베이스에서 Microsoft Entra 전용 인증을 사용하도록 설정하려면 아래 명령을 참조하세요. 최신 버전의 Azure CLI를 설치합니다 . Azure CLI 버전 2.14.2 이상이 필요합니다. 이러한 명령에 대한 자세한 내용은 az sql server ad-only-auth 를 참조 하세요.
API를 사용하여 Microsoft Entra 전용 인증을 관리하는 방법에 대한 자세한 내용은 API를 사용하여 Microsoft Entra 전용 인증 관리 를 참조하세요.
참고 항목
Microsoft Entra 전용 인증을 사용하도록 설정하기 전에 서버에 대해 Microsoft Entra 관리자를 설정해야 합니다. 그러지 않으면 명령이 실패합니다.
Microsoft Entra 전용 인증을 사용하도록 설정하기 위해 명령을 수행하는 사용자에게 필요한 권한 및 작업은 Microsoft Entra 전용 인증 문서를 참조하세요.
SQL 보안 관리자 역할이 있는 계정을 사용하여 Azure에 로그인 합니다.
az login
<myserver>
를 SQL 서버 이름으로, <myresource>
를 SQL 서버가 포함된 Azure 리소스로 바꾸어 다음 명령을 실행합니다.
az sql server ad-only-auth enable --resource-group <myresource> --name <myserver>
Azure CLI을 통해 SQL Managed Instance에서 사용
Azure CLI를 통해 Azure SQL Managed Instance에서 Microsoft Entra 전용 인증을 사용하도록 설정하려면 아래 명령을 참조하세요. 최신 버전의 Azure CLI를 설치합니다 .
SQL 보안 관리자 역할이 있는 계정을 사용하여 Azure에 로그인 합니다.
az login
<myserver>
를 SQL 서버 이름으로, <myresource>
를 SQL 서버가 포함된 Azure 리소스로 바꾸어 다음 명령을 실행합니다.
az sql mi ad-only-auth enable --resource-group <myresource> --name <myserver>
owerShell을 사용하여 SQL Database에서 사용하도록 설정
PowerShell을 사용하여 Azure SQL 데이터베이스에서 Microsoft Entra 전용 인증을 사용하도록 설정하려면 아래 명령을 참조하세요. 이러한 명령을 실행하려면 Az.Sql 2.10.0 모듈 이상이 필요합니다. 이러한 명령에 대한 자세한 내용은 Enable-AzSqlInstanceActiveDirectoryOnlyAuthentication을 참조하세요 .
API를 사용하여 Microsoft Entra 전용 인증을 관리하는 방법에 대한 자세한 내용은 API를 사용하여 Microsoft Entra 전용 인증 관리 를 참조하세요.
참고 항목
Microsoft Entra 전용 인증을 사용하도록 설정하기 전에 서버에 대해 Microsoft Entra 관리자를 설정해야 합니다. 그러지 않으면 PowerShell 명령이 실패합니다.
Microsoft Entra 전용 인증을 사용하도록 설정하기 위해 명령을 수행하는 사용자에게 필요한 권한 및 작업은 Microsoft Entra 전용 인증 문서를 참조하세요. 사용자에게 권한이 부족한 경우 다음 오류가 발생합니다.
Enable-AzSqlServerActiveDirectoryOnlyAuthentication : The client
'UserSqlServerContributor@contoso.onmicrosoft.com' with object id
'<guid>' does not have authorization to perform
action 'Microsoft.Sql/servers/azureADOnlyAuthentications/write' over scope
'/subscriptions/<guid>...'
SQL 보안 관리자 역할이 있는 계정을 사용하여 Azure에 로그인 합니다.
Connect-AzAccount
<myserver>
를 SQL 서버 이름으로, <myresource>
를 SQL 서버가 포함된 Azure 리소스로 바꾸어 다음 명령을 실행합니다.
Enable-AzSqlServerActiveDirectoryOnlyAuthentication -ServerName <myserver> -ResourceGroupName <myresource>
PowerShell을 사용하여 SQL Managed Instance에서 사용하도록 설정
PowerShell을 통해 Azure SQL Managed Instance에서 Microsoft Entra 전용 인증을 사용하도록 설정하려면 아래 명령을 참조하세요. 이러한 명령을 실행하려면 Az.Sql 2.10.0 모듈 이상이 필요합니다.
API를 사용하여 Microsoft Entra 전용 인증을 관리하는 방법에 대한 자세한 내용은 API를 사용하여 Microsoft Entra 전용 인증 관리 를 참조하세요.
SQL 보안 관리자 역할이 있는 계정을 사용하여 Azure에 로그인 합니다.
Connect-AzAccount
<myinstance>
를 SQL Managed Instance 이름으로, <myresource>
를 SQL 관리형 인스턴스 가 포함된 Azure 리소스로 바꾸어 다음 명령을 실행합니다.
Enable-AzSqlInstanceActiveDirectoryOnlyAuthentication -InstanceName <myinstance> -ResourceGroupName <myresource>
Microsoft Entra 전용 인증 상태 확인
서버 또는 인스턴스에 대해 Microsoft Entra 전용 인증을 사용할 수 있는지 확인합니다.
SQL Database에서 상태 확인
Azure Portal 에서 SQL Server 리소스로 이동합니다. 설정 아래에서 Microsoft Entra ID 선택
SQL Managed Instance에서 상태 확인
Azure Portal 에서 SQL 관리형 인스턴스 리소스로 이동합니다. 설정 아래에서 Microsoft Entra 관리자 선택
이러한 명령을 사용하여 Azure SQL 데이터베이스 또는 SQL Managed Instance에 대한 논리 서버 에 Microsoft Entra 전용 인증을 사용할 수 있는지 여부를 확인할 수 있습니다. SQL Server 기여자 및 SQL Managed Instance 기여자 역할의 멤버는 이러한 명령을 사용하여 Microsoft Entra 전용 인증의 상태 검사 수 있지만 기능을 사용하거나 사용하지 않도록 설정할 수는 없습니다.
SQL Database에서 상태 확인
SQL 보안 관리자 역할이 있는 계정을 사용하여 Azure에 로그인 합니다. API를 사용하여 Microsoft Entra 전용 인증을 관리하는 방법에 대한 자세한 내용은 API를 사용하여 Microsoft Entra 전용 인증 관리 를 참조하세요.
az login
<myserver>
를 SQL 서버 이름으로, <myresource>
를 SQL 서버가 포함된 Azure 리소스로 바꾸어 다음 명령을 실행합니다.
az sql server ad-only-auth get --resource-group <myresource> --name <myserver>
다음과 같은 출력이 표시됩니다.
{
"azureAdOnlyAuthentication": true,
"/subscriptions/<guid>/resourceGroups/mygroup/providers/Microsoft.Sql/servers/myserver/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/servers"
}
SQL Managed Instance에서 상태 확인
SQL 보안 관리자 역할이 있는 계정을 사용하여 Azure에 로그인 합니다.
az login
<myserver>
를 SQL 서버 이름으로, <myresource>
를 SQL 서버가 포함된 Azure 리소스로 바꾸어 다음 명령을 실행합니다.
az sql mi ad-only-auth get --resource-group <myresource> --name <myserver>
다음과 같은 출력이 표시됩니다.
{
"azureAdOnlyAuthentication": true,
"id": "/subscriptions/<guid>/resourceGroups/myresource/providers/Microsoft.Sql/managedInstances/myinstance/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/managedInstances"
}
이러한 명령을 사용하여 Azure SQL 데이터베이스 또는 SQL Managed Instance에 대한 논리 서버 에 Microsoft Entra 전용 인증을 사용할 수 있는지 여부를 확인할 수 있습니다. SQL Server 기여자 및 SQL Managed Instance 기여자 역할의 멤버는 이러한 명령을 사용하여 Microsoft Entra 전용 인증의 상태 검사 수 있지만 기능을 사용하거나 사용하지 않도록 설정할 수는 없습니다.
상태 기능이 활성화된 경우 True 를 반환하고, 비활성화된 경우 False 를 반환합니다.
SQL Database에서 상태 확인
SQL 보안 관리자 역할이 있는 계정을 사용하여 Azure에 로그인 합니다. API를 사용하여 Microsoft Entra 전용 인증을 관리하는 방법에 대한 자세한 내용은 API를 사용하여 Microsoft Entra 전용 인증 관리 를 참조하세요.
Connect-AzAccount
<myserver>
를 SQL 서버 이름으로, <myresource>
를 SQL 서버가 포함된 Azure 리소스로 바꾸어 다음 명령을 실행합니다.
Get-AzSqlServerActiveDirectoryOnlyAuthentication -ServerName <myserver> -ResourceGroupName <myresource>
SQL Managed Instance에서 상태 확인
SQL 보안 관리자 역할이 있는 계정을 사용하여 Azure에 로그인 합니다.
Connect-AzAccount
<myinstance>
를 SQL Managed Instance 이름으로, <myresource>
를 SQL 관리형 인스턴스 가 포함된 Azure 리소스로 바꾸어 다음 명령을 실행합니다.
Get-AzSqlInstanceActiveDirectoryOnlyAuthentication -InstanceName <myinstance> -ResourceGroupName <myresource>
연결 실패를 통한 SQL 인증 테스트
Microsoft Entra 전용 인증을 사용하도록 설정한 후 SSMS(SQL Server Management Studio) 에서 SQL Database 또는 SQL Managed Instance에 대한 연결 을 테스트합니다. 연결을 위해 SQL 인증을 사용합니다.
로그인 실패패 메시지와 유사한 출력이 표시됩니다.
Cannot connect to <myserver>.database.windows.net.
Additional information:
Login failed for user 'username'. Reason: Azure Active Directory only authentication is enabled.
Please contact your system administrator. (Microsoft SQL Server, Error: 18456)
Microsoft Entra 전용 인증 비활성화
Microsoft Entra AD 전용 인증 기능을 사용하지 않도록 설정하면 Azure SQL에 대한 SQL 인증과 Microsoft Entra 인증을 모두 허용하게 됩니다.
Azure Portal을 통해 SQL Database에서 사용하지 않도록 설정
SQL 보안 관리자 역할이 있는 사용자를 사용하여 Azure Portal 로 이동합니다.
SQL Server 리소스로 이동하고 설정 메뉴에서 Microsoft Entra ID 를 선택합니다.
Microsoft Entra 전용 인증 기능을 사용하지 않도록 설정하려면 이 서버에서 대한 Microsoft Entra 인증만 지원 선택 취소하고 설정을 저장 합니다.
Azure Portal을 통해 SQL Managed Instance에서 사용하지 않도록 설정
SQL 보안 관리자 역할이 있는 사용자를 사용하여 Azure Portal 로 이동합니다.
SQL 관리형 인스턴스 로 이동한 다음, 설정 메뉴에서 Active Directory 관리자 를 선택합니다.
Microsoft Entra 전용 인증 기능을 사용하지 않도록 설정하려면 이 Managed Instance에서 Microsoft Entra 인증만 지원 선택을 취소하고 설정을 저장 합니다.
Azure CLI을 통해 SQL Database에서 사용하지 않도록 설정
Azure CLI를 통해 Azure SQL 데이터베이스에서 Microsoft Entra 전용 인증을 사용하지 않도록 설정하려면 아래 명령을 참조하세요.
SQL 보안 관리자 역할이 있는 계정을 사용하여 Azure에 로그인 합니다.
az login
<myserver>
를 SQL 서버 이름으로, <myresource>
를 SQL 서버가 포함된 Azure 리소스로 바꾸어 다음 명령을 실행합니다.
az sql server ad-only-auth disable --resource-group <myresource> --name <myserver>
Microsoft Entra 전용 인증을 사용하지 않도록 설정하면 상태 검사 때 다음 출력이 표시됩니다.
{
"azureAdOnlyAuthentication": false,
"/subscriptions/<guid>/resourceGroups/mygroup/providers/Microsoft.Sql/servers/myserver/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/servers"
}
Azure CLI을 통해 SQL Managed Instance에서 사용하지 않도록 설정
Azure CLI를 통해 Azure SQL Managed Instance에서 Microsoft Entra 전용 인증을 사용하지 않도록 설정하려면 아래 명령을 참조하세요.
SQL 보안 관리자 역할이 있는 계정을 사용하여 Azure에 로그인 합니다.
az login
<myserver>
를 SQL 서버 이름으로, <myresource>
를 SQL 서버가 포함된 Azure 리소스로 바꾸어 다음 명령을 실행합니다.
az sql mi ad-only-auth disable --resource-group <myresource> --name <myserver>
Microsoft Entra 전용 인증을 사용하지 않도록 설정하면 상태 검사 때 다음 출력이 표시됩니다.
{
"azureAdOnlyAuthentication": false,
"id": "/subscriptions/<guid>/resourceGroups/myresource/providers/Microsoft.Sql/managedInstances/myinstance/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/managedInstances"
}
PowerShell을 사용하여 SQL Database에서 사용하지 않도록 설정
PowerShell을 사용하여 Azure SQL 데이터베이스에서 Microsoft Entra 전용 인증을 사용하지 않도록 설정하려면 아래 명령을 참조하세요.
SQL 보안 관리자 역할이 있는 계정을 사용하여 Azure에 로그인 합니다.
Connect-AzAccount
<myserver>
를 SQL 서버 이름으로, <myresource>
를 SQL 서버가 포함된 Azure 리소스로 바꾸어 다음 명령을 실행합니다.
Disable-AzSqlServerActiveDirectoryOnlyAuthentication -ServerName <myserver> -ResourceGroupName <myresource>
PowerShell을 사용하여 SQL Managed Instance에서 사용 안 함
PowerShell을 통해 Azure SQL Managed Instance에서 Microsoft Entra 전용 인증을 사용하지 않도록 설정하려면 아래 명령을 참조하세요.
SQL 보안 관리자 역할이 있는 계정을 사용하여 Azure에 로그인 합니다.
Connect-AzAccount
<myinstance>
를 SQL Managed Instance 이름으로, <myresource>
를 관리형 인스턴스가 포함된 Azure 리소스로 바꾸어 다음 명령을 실행합니다.
Disable-AzSqlInstanceActiveDirectoryOnlyAuthentication -InstanceName <myinstance> -ResourceGroupName <myresource>
Azure SQL 연결 다시 테스트
Microsoft Entra 전용 인증을 사용하지 않도록 설정한 다음 SQL 인증 로그인을 사용하여 연결을 테스트합니다. 이제 서버 또는 인스턴스에 연결할 수 있습니다.
다음 단계