관리 ID 구성

완료됨

관리 ID 를 사용하면 Azure 서비스에서 자격 증명을 관리할 필요 없이 다른 Azure 리소스를 안전하게 인증하고 액세스할 수 있습니다. ID 생성 및 관리를 자동으로 처리하여 서비스를 보다 쉽고 안전하게 연결할 수 있습니다.

Azure 리소스에 대한 관리 ID로 인증은 SQL에 대한 프로그래밍 방식 액세스에 권장되는 인증 방법입니다.

Azure SQL Database에서 Microsoft Entra 인증을 사용하는 경우 Azure 서비스 주체를 사용하여 SQL Database에서 Microsoft Entra 사용자를 만들 때 시스템이 할당한 관리 ID를 할당해야 합니다. 이전에는 시스템 할당 관리 ID만 Azure SQL Database 서버 ID에 할당할 수 있었지만 이제는 사용자 할당 관리 ID를 서버 ID로 할당할 수도 있습니다.

시스템 할당 관리 ID

SQL 논리 서버와 같은 Azure 리소스에서 시스템 할당 관리 ID를 사용하도록 설정하면 Microsoft Entra ID에 특수 서비스 주체가 만들어집니다. 이 서비스 주체는 리소스의 수명 주기에 연결됩니다. 즉, 리소스가 삭제될 때 자동으로 삭제됩니다. 이러한 유형의 관리 ID는 공유할 수 없으며 단일 Azure 리소스와만 연결됩니다. 단일 가상 머신에서 실행되는 애플리케이션과 같이 독립적인 ID가 필요한 단일 리소스 내에 포함된 워크로드에 일반적으로 사용됩니다.

시스템이 할당한 관리 ID 사용

Azure Web App에 시스템 할당 관리 ID를 사용하도록 설정해야 하는 시나리오를 상상해 보세요. 먼저 Azure Portal에 액세스하고 웹앱을 찾아야 합니다. 그런 다음 왼쪽 메뉴에 있는 설정 섹션으로 이동하여 ID를 선택합니다.

Azure Portal에서 웹앱에 대한 시스템 할당 관리 ID 옵션을 보여 주는 스크린샷

시스템 할당 탭 내에서 상태를기로 전환한 다음 변경 내용을 저장해야 합니다.

애플리케이션이 시스템 관리 ID를 사용하여 데이터베이스에 액세스할 수 있도록 하려면 데이터베이스에 대한 적절한 권한이 있는 사용자를 만들어야 합니다.

CREATE USER [my-prod-web-app] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [my-prod-web-app];
ALTER ROLE db_datawriter ADD MEMBER [my-prod-web-app];

그런 다음 애플리케이션 코드에서 다음 연결 문자열을 사용하여 시스템 할당 관리 ID를 사용하여 Azure SQL Database에 연결해야 합니다.

Server=myserver.database.windows.net;Authentication=Active Directory Managed Identity; Encrypt=True;Database=my-db

사용자 할당 관리 ID

사용자가 할당한 관리 ID는 독립적인 Azure 리소스로 만들어집니다. 이러한 유형의 관리 ID는 다양한 Azure 서비스의 여러 인스턴스에 할당할 수 있으므로 여러 리소스에서 실행되고 단일 ID를 공유할 수 있는 워크로드에 적합합니다.

사용자 할당 관리 ID는 프로비전 흐름의 일부로 보안 리소스에 대한 사전 권한 부여가 필요하거나 리소스가 자주 재활용되지만 사용 권한이 일관성을 유지해야 하는 워크로드에도 유용합니다.

사용자가 할당한 관리 ID 사용

Azure 리소스에 관리 ID를 사용하려면 먼저 Azure에서 사용자 관리 ID를 만들어야 합니다.

Azure Portal로 이동하여 시작할 수 있습니다. 관리 ID를 선택한 다음+ 만들기를 선택합니다. 사용자 할당 관리 ID 만들기 페이지에서 필수 필드를 완료합니다.

Azure Portal에서 사용자 할당 관리 ID 만들기 페이지를 보여 주는 스크린샷

다음으로, 시스템 관리 ID와 마찬가지로 사용자 관리 ID를 Azure 리소스에 할당해야 합니다. 이 예제에서는 사용자 관리 탭 아래의 Azure Web App에 할당합니다.

Azure Portal에서 웹앱에 대한 사용자 할당 관리 ID 옵션을 보여 주는 스크린샷.

마지막으로, CREATE USER 문을 사용하여 대상 데이터베이스의 관리 ID에서 SQL 사용자를 만듭니다. 이 예제에서 관리 ID 이름은 내 ID입니다.

CREATE USER [my-identity] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [my-identity];
ALTER ROLE db_datawriter ADD MEMBER [my-identity];

다음 연결 문자열은 사용자 할당 관리 ID를 사용하여 Azure SQL Database에 연결하는 방법을 보여줍니다.

Server=myserver.database.windows.net;Authentication=Active Directory Managed Identity; Encrypt=True;User Id=my-identity; Database=my-db

이러한 유연성을 통해 사용자 할당 관리 ID는 Azure 환경 내의 여러 서비스에서 액세스를 관리하기 위한 다양하고 안전한 옵션입니다.