관리 ID를 사용하여 인증

완료됨

Azure 리소스에 대한 관리 ID는 무료로 사용할 수 있는 Microsoft Entra ID 기능입니다. 관리 ID를 사용하는 것은 Azure에서 호스트되는 애플리케이션이 Azure 리소스 및 서비스에 인증하는 데 권장되는 방법입니다.

회사에서 모든 애플리케이션을 온-프레미스 서버에서 Azure 호스팅 VM(가상 머신)으로 이동했다고 가정해 보겠습니다. 온-프레미스 애플리케이션은 서비스 사용자를 사용하여 Azure에 인증되었습니다. 이제 Azure의 VM에서 애플리케이션을 호스트하므로 관리 ID를 사용할 수 있습니다.

이 단원에서는 Azure 리소스에 대한 관리 ID를 살펴봅니다. 해당 작동 방식 및 Azure에서 액세스할 수 있는 리소스를 확인합니다.

Azure에서 관리 ID란?

관리 ID를 사용하는 경우 코드에 인증 정보를 포함하거나 애플리케이션 액세스 가능 구성 파일의 일부로 사용할 수 있도록 할 필요가 없습니다. 관리 ID는 Microsoft Entra 인증을 지원하는 리소스에 연결할 때 사용할 애플리케이션의 ID를 제공합니다. 애플리케이션은 관리 ID를 사용하여 Microsoft Entra 토큰을 가져올 수 있습니다.

관리 ID를 사용하면 자격 증명을 회전하거나 인증 만료를 걱정하지 않아도 됩니다. Azure는 백그라운드에서 자격 증명 회전과 만료를 처리합니다. 관리 ID를 사용하도록 애플리케이션을 구성하려면 제공된 토큰을 사용하여 서비스를 호출합니다.

참고 항목

일부 클라이언트 라이브러리에 아직 사용되는 MSI(관리 서비스 ID)라는 용어는 Azure 리소스에 대한 관리 ID로 대체되었습니다.

관리 ID 작동 방식

관리 ID를 사용하는 경우 다음과 같은 몇 가지 일반적인 용어를 알고 있어야 합니다.

  • 클라이언트 ID: ID를 프로비전할 때 만들어진, Microsoft Entra 애플리케이션 및 서비스 주체에 연결된 고유 ID입니다.
  • 개체 ID: 관리 ID의 서비스 사용자 개체입니다.
  • Azure Instance Metadata Service: Azure Resource Manager가 VM을 프로비전할 때 사용하도록 설정된 REST API입니다. 이 엔드포인트는 VM 내에서만 액세스할 수 있습니다.

시스템 할당 관리 ID와 사용자 할당 관리 ID의 두 가지 유형의 관리 ID를 만들 수 있습니다.

시스템 할당 관리 ID

VM과 같은 Azure 서비스 인스턴스에서 직접 시스템 할당 관리 ID를 사용하도록 설정할 수 있습니다. 이 ID를 사용하도록 설정하는 경우 Azure는 Azure Resource Manager를 통해 서비스 사용자를 만듭니다. 시스템이 할당한 관리 ID에는 생성된 리소스 인스턴스에 연결된 수명 주기가 있습니다. 예를 들면 다음과 같습니다.

  • 두 개의 VM이 있고 시스템이 할당한 관리 ID를 사용하려는 경우 각 VM에서 관리 ID를 사용하도록 설정해야 합니다.
  • 리소스가 삭제되면 관리 ID도 삭제됩니다. 리소스마다 시스템 할당 관리 ID가 하나만 있을 수 있습니다.

사용자 할당 관리 ID

사용자가 할당한 관리 ID는 독립 실행형 Azure 리소스로 만들어집니다. 앱 또는 서비스 인스턴스와는 독립적입니다. 사용자가 할당한 관리 ID가 프로비전되면 Azure는 시스템이 할당한 관리 ID와 마찬가지로 서비스 사용자를 만듭니다.

그러나 사용자 할당 관리 ID는 특정 리소스와 연결되지 않으므로 둘 이상의 애플리케이션에 할당할 수 있습니다. 예시:

  • 웹앱이 10개의 프런트 엔드 VM에 배포된 경우 앱에 대한 사용자 할당 관리 ID를 만들고, 관리 ID에 필요한 권한을 부여한 다음, 모든 10개의 VM과 연결할 수 있습니다.
  • 시스템 할당 관리 ID를 사용한 경우 10개의 ID가 필요하며 각 ID에 대한 액세스를 관리해야 합니다.

Azure 리소스에서 관리 ID 사용

재고 추적 애플리케이션은 Azure Key Vault에서 데이터베이스 자격 증명을 검색합니다. 애플리케이션이 온-프레미스에서 실행되었을 때는 서비스 사용자 및 인증서를 사용하여 자격 증명 모음의 자격 증명에 액세스했습니다. 이제 Azure에서 VM을 호스팅하므로 관리 ID를 대신 사용할 수 있습니다.

시스템이 할당한 관리 ID를 설정하려면 다음을 수행합니다.

  1. Azure Portal에서 앱을 호스트하는 VM으로 이동합니다.
  2. 개요 페이지의 왼쪽 메뉴 창에 있는 보안에서 ID를 선택합니다.
  3. 페이지 오른쪽에서 상태 스위치를 켜기로 전환하여 시스템 할당 ID를 사용하도록 설정할 수 있습니다. 페이지 맨 위에서 할당된 사용자를 선택하고 추가를 선택하여 사용하려는 사용자가 할당한 관리 ID를 지정하여 사용자가 할당한 ID를 지정할 수도 있습니다.
  4. 변경 내용을 저장합니다.

다음으로, 시스템에서 서버가 Microsoft Entra ID에 등록되고 여기에서 리소스에 대한 권한을 부여할 수 있음을 알려줍니다.

Azure Portal의 엔터프라이즈 애플리케이션 섹션에서 언제라도 Microsoft Entra ID 내 구독에 대한 현재 관리 ID를 볼 수 있습니다. 모든 애플리케이션을 선택하고 결과를 애플리케이션 유형== 관리 ID로 필터링합니다.

Screenshot of the Azure portal, showing the overview page for a managed identity.

지식 점검

1.

Azure Instance Metadata Service란 무엇인가요?

2.

온-프레미스에서 호스팅되는 사용자 지정 애플리케이션이 관리 ID를 사용할 수 없는 이유는 무엇입니까?