Azure 리소스용 관리 ID란?What are managed identities for Azure resources?

개발자는 일반적으로 서로 다른 서비스 간의 통신을 보호하기 위해 비밀과 자격 증명을 관리하는 데 어려움을 겪고 있습니다.A common challenge for developers is the management of secrets and credentials to secure communication between different services. Azure에서 관리 ID를 사용하면 개발자가 Azure AD에서 Azure 리소스에 대한 ID를 제공하고 이를 사용하여 Azure AD(Azure Active Directory) 토큰을 가져오는 방식으로 자격 증명을 관리할 필요가 없습니다.On Azure, managed identities eliminate the need for developers having to manage credentials by providing an identity for the Azure resource in Azure AD and using it to obtain Azure Active Directory (Azure AD) tokens. 또한 이는 개발자가 자격 증명을 안전한 방식으로 저장할 수 있는 Azure Key Vault에 액세스하는 데 도움이 됩니다.This also helps accessing Azure Key Vault where developers can store credentials in a secure manner. Azure 리소스에 대한 관리 ID는 Azure AD에서 자동으로 관리되는 ID를 Azure 서비스에 제공하여 이 문제를 해결합니다.Managed identities for Azure resources solves this problem by providing Azure services with an automatically managed identity in Azure AD.

관리 ID를 사용할 수 있는 대상은 무엇일까요?What can a managed identity be used for?

관리 ID를 사용하는 경우 얻을 수 있는 몇 가지 혜택은 다음과 같습니다.Here are some of the benefits of using Managed identities:

  • 자격 증명을 관리할 필요가 없으며,You don't need to manage credentials. 자격 증명에 액세스할 수도 없습니다.Credentials are not even accessible to you.
  • 관리 ID를 사용하여 Azure Key Vault를 포함한 Azure AD 인증을 지원하는 모든 Azure 서비스에 인증할 수 있습니다.You can use managed identities to authenticate to any Azure service that supports Azure AD authentication including Azure Key Vault.
  • 관리 ID는 추가 비용 없이 사용할 수 있습니다.Managed identities can be used without any additional cost.

참고

Azure 리소스에 대한 관리 ID는 이전에 MSI(관리 서비스 ID)로 알려진 서비스에 대한 새 이름입니다.Managed identities for Azure resources is the new name for the service formerly known as Managed Service Identity (MSI).

관리 ID 유형Managed identity types

두 가지 종류의 관리 ID가 있습니다.There are two types of managed identities:

  • 시스템 할당 일부 Azure 서비스를 사용하면 서비스 인스턴스에서 직접 관리 ID를 사용하도록 설정할 수 있습니다.System-assigned Some Azure services allow you to enable a managed identity directly on a service instance. 시스템이 할당한 관리 ID를 사용하도록 설정하면 해당 서비스 인스턴스의 수명 주기와 연결된 ID가 Azure AD에 만들어집니다.When you enable a system-assigned managed identity an identity is created in Azure AD that is tied to the lifecycle of that service instance. 따라서 리소스가 삭제되면 Azure에서 자동으로 ID를 삭제합니다.So when the resource is deleted, Azure automatically deletes the identity for you. 의도적으로 해당 Azure 리소스만 이 ID를 사용하여 Azure AD에서 토큰을 요청할 수 있습니다.By design, only that Azure resource can use this identity to request tokens from Azure AD.

  • 사용자 할당 관리 ID를 독립 실행형 Azure 리소스로 만들 수도 있습니다.User-assigned You may also create a managed identity as a standalone Azure resource. 사용자가 할당한 관리 ID를 만들고, 이를 하나 이상의 Azure 서비스 인스턴스에 할당할 수 있습니다.You can create a user-assigned managed identity and assign it to one or more instances of an Azure service. 사용자가 할당한 관리 ID는 이를 사용하는 리소스와 별도로 관리됩니다.In the case of user-assigned managed identities, the identity is managed separately from the resources that use it.

아래 표에서는 두 가지 유형의 관리 ID 간의 차이점을 보여 줍니다.The table below shows the differences between the two types of managed identities.

속성Property 시스템 할당 관리 IDSystem-assigned managed identity 사용자 할당 관리 IDUser-assigned managed identity
만들기Creation Azure 리소스의 일부로 생성됨(예: Azure 가상 머신 또는 Azure App Service)Created as part of an Azure resource (for example, an Azure virtual machine or Azure App Service) 독립 실행형 Azure 리소스로 생성됨Created as a stand-alone Azure resource
수명 주기Life cycle 관리 ID를 만드는 데 사용된 Azure 리소스와 공유되는 수명 주기입니다.Shared life cycle with the Azure resource that the managed identity is created with.
부모 리소스를 삭제하면 관리 ID도 삭제됩니다.When the parent resource is deleted, the managed identity is deleted as well.
독립적인 수명 주기.Independent life cycle.
명시적으로 삭제되어야 합니다.Must be explicitly deleted.
Azure 리소스 전체에서 공유Sharing across Azure resources 공유할 수 없습니다.Cannot be shared.
단일 Azure 리소스하고만 연결할 수 있습니다.It can only be associated with a single Azure resource.
공유할 수 있습니다.Can be shared
동일한 사용자 할당 관리 ID를 둘 이상의 Azure 리소스와 연결할 수 있습니다.The same user-assigned managed identity can be associated with more than one Azure resource.
일반 사용 예Common use cases 단일 Azure 리소스에 포함된 워크로드Workloads that are contained within a single Azure resource
독립적인 ID가 필요한 워크로드Workloads for which you need independent identities.
예를 들어 단일 가상 머신에서 실행되는 애플리케이션For example, an application that runs on a single virtual machine
여러 리소스에서 실행되며 단일 ID를 공유할 수 있는 워크로드입니다.Workloads that run on multiple resources and which can share a single identity.
프로비전 흐름에 보안 리소스 사전 승인이 필요한 워크로드입니다.Workloads that need pre-authorization to a secure resource as part of a provisioning flow.
리소스가 자주 재활용되지만 권한이 알관적으로 유지되어야 하는 워크로드입니다.Workloads where resources are recycled frequently, but permissions should stay consistent.
예를 들어 여러 가상 머신이 동일한 리소스에 액세스해야 하는 워크로드가 있습니다.For example, a workload where multiple virtual machines need to access the same resource

중요

선택한 ID 유형에 관계없이 관리 ID는 Azure 리소스에만 사용할 수 있는 특수 유형의 서비스 주체입니다.Regardless of the type of identity chosen a managed identity is a service principal of a special type that may only be used with Azure resources. 관리 ID가 삭제되면 해당하는 서비스 주체가 자동으로 제거됩니다.When the managed identity is deleted, the corresponding service principal is automatically removed.

Azure 리소스에 대한 관리 ID를 사용하는 방법How can I use managed identities for Azure resources?

개발자가 인증 정보를 관리하지 않고 코드에서 리소스에 액세스하기 위해 관리 ID를 사용할 수 있는 방법의 몇 가지 예

Azure 서비스에서 어떤 기능을 지원하나요?What Azure services support the feature?

Azure 리소스에 대한 관리 ID는 Azure AD 인증을 지원하는 서비스를 인증하는 데 사용할 수 있습니다.Managed identities for Azure resources can be used to authenticate to services that support Azure AD authentication. Azure 리소스에 대한 관리 ID 기능을 지원하는 Azure 서비스 목록은 Azure 리소스에 대한 관리 ID를 지원하는 서비스를 참조하세요.For a list of Azure services that support the managed identities for Azure resources feature, see Services that support managed identities for Azure resources.

다음 단계Next steps