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 リソースの ID は Azure AD から提供され、その ID を使用して Azure Active Directory (Azure AD) トークンが取得されます。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 AD Authentication をサポートするあらゆる Azure サービス (Azure Key Vault を含む) に対して認証を行うことができる。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 は、以前のマネージドサービス ID (MSI) の新しい名前です。Managed identities for Azure resources is the new name for the service formerly known as Managed Service Identity (MSI).

マネージド ID の種類Managed identity types

マネージド ID には、次の 2 種類があります。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. したがって、リソースが削除されると、その ID も Azure によって自動的に削除されます。So when the resource is deleted, Azure automatically deletes the identity for you. その ID を使用して Azure AD にトークンを要求できるのは、必然的に、その Azure リソースのみとなります。By design, only that Azure resource can use this identity to request tokens from Azure AD.

  • ユーザー割り当て スタンドアロンの Azure リソースとしてマネージド ID を自分で作成することもできます。User-assigned You may also create a managed identity as a standalone Azure resource. ユーザー割り当てマネージド ID を作成して、それを Azure サービスの 1 つまたは複数のインスタンスに割り当てることができます。You can create a user-assigned managed identity and assign it to one or more instances of an Azure service. ユーザー割り当てマネージド ID の場合、ID は、それを使用するリソースとは別に管理されます。In the case of user-assigned managed identities, the identity is managed separately from the resources that use it.

次の表は、2 種類のマネージド 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.
1 つの 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 1 つの Azure リソース内に含まれるワークロードWorkloads that are contained within a single Azure resource
独立した ID が必要なワークロード。Workloads for which you need independent identities.
たとえば、1 つの仮想マシンで実行されるアプリケーションFor example, an application that runs on a single virtual machine
複数のリソースで実行され、1 つの 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 サービスの一覧については、「Services that support managed identities for Azure resources (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