ユーザー割り当てマネージド ID の管理

Azure リソースのマネージド ID を使用すると、コードで資格情報を管理する必要がなくなります。 これらを使用して、アプリケーションの Microsoft Entra トークンを取得できます。 アプリケーションは、Microsoft Entra 認証をサポートするリソースにアクセスするときにトークンを使用できます。 ID は Azure で管理されるためユーザーが行う必要はありません。

マネージド ID には、システム割り当てとユーザー割り当ての 2 種類があります。 システム割り当てマネージド ID のライフサイクルは、それらを作成したリソースに関連付けられています。 ユーザー割り当てマネージド ID は、複数のリソースで使用できます。 マネージド ID の詳細については、Azure リソースのマネージド ID とはを参照してください。

このアーティクルでは、Azure portal を使用してユーザー割り当てマネージド ID を作成、一覧表示、削除したり、それにロールを割り当てる方法について説明します。

前提条件

ユーザー割り当てマネージド ID を作成する

ヒント

この記事の手順は、開始するポータルによって若干異なる場合があります。

ユーザー割り当てマネージド ID を作成するには、お使いのアカウントにマネージド ID 共同作成者ロールの割り当てが必要です。

  1. Azure portal にサインインする

  2. 検索ボックスに、「マネージド ID」と入力します。 [サービス] の下で、 [マネージド ID] を選択します。

  3. [追加] をクリックして、 [ユーザー割り当てマネージド ID を作成する] ウィンドウの次のボックスに値を入力します。

    • サブスクリプション:ユーザー割り当てマネージド ID を作成するサブスクリプションを選択します。
    • リソース グループ: ユーザー割り当てマネージド ID を作成するリソース グループを選択するか、 [新規作成] をクリックして新しいリソース グループを作成します。
    • リージョン: ユーザー割り当てマネージド ID をデプロイするリージョンを選択します。たとえば、米国西部などです。
    • 名前: ユーザー割り当てマネージド ID の名前です。たとえば、UAI1 とします。

    重要

    ユーザー割り当てマネージド ID を作成する場合、名前は文字または数字で始まる必要があり、英数字、ハイフン (-) とアンダースコア (_) の組み合わせを含めることができます。 仮想マシンまたは仮想マシン スケール セットへの割り当てが適切に動作するように、名前は 24 文字に制限されています。 詳細については、FAQ と既知の問題に関するページを参照してください。

    ユーザー割り当て済みマネージド ID の作成ウィンドウを示すスクリーンショット。

  4. [確認と作成] を選択して変更を確認します。

  5. [作成] を選択します。

ユーザー割り当てマネージド ID を一覧表示する

ユーザー割り当てマネージド ID を一覧表示または読み取るには、アカウントにマネージド ID オペレーターまたはマネージド ID 共同作成者ロールの割り当てが必要です。

  1. Azure portal にサインインする

  2. 検索ボックスに、「マネージド ID」と入力します。 [サービス] の下で、 [マネージド ID] を選択します。

  3. ご使用のサブスクリプションのユーザー割り当てマネージド ID の一覧が表示されます。 ユーザー割り当てマネージド ID の詳細を確認するには、名前をクリックします。

  4. 図に示すように、マネージド ID に関する詳細を表示できます。

    ユーザー割り当てマネージド ID の一覧を示すスクリーンショット。

ユーザー割り当てマネージド ID を削除する

ユーザー割り当てマネージド ID を削除するには、お使いのアカウントにマネージド ID 共同作成者ロールの割り当てが必要です。

ユーザー割り当て ID を削除しても、それが割り当てられていた VM やリソースから削除されることはありません。 VM からユーザー割り当てマネージド ID を削除する場合は、VM からユーザー割り当て ID を削除するを参照してください。

  1. Azure portal にサインインする

  2. ユーザー割り当てマネージド ID を選択して、 [削除する] をクリックします。

  3. 確認ボックスで [はい] を選択します。

    ユーザー割り当てマネージド ID の削除を示すスクリーンショット。

ユーザー割り当てマネージド ID へのアクセスを管理する

環境によっては、管理者はユーザー割り当てマネージド ID を管理できるユーザーを制限することを選択する場合があります。 管理者は、組み込みの RBAC ロールを使用してこの制限を実装できます。 これらのロールを使用して、ユーザー割り当てマネージド ID に対する組織内ユーザー、またはグループの権限を付与できます。

  1. Azure portal にサインインする

  2. 検索ボックスに、「マネージド ID」と入力します。 [サービス] の下で、 [マネージド ID] を選択します。

  3. ご使用のサブスクリプションのユーザー割り当てマネージド ID の一覧が表示されます。 管理したいユーザー割り当てマネージド ID を選択します。

  4. [アクセス制御 (IAM)] を選択します。

  5. [ロールの割り当ての追加]を選びます

    ユーザー割り当てマネージド ID のアクセスの制御画面を示すスクリーンショット。

  6. [ロールの割り当ての追加] ウィンドウで、割り当てるロールを選択し、[次へ]を選択します。

  7. ロールを割り当てるユーザーを選択します。

注意

マネージド ID へのロールの割り当てに関する情報については、 Azure portalの「リソースへのマネージド ID アクセスの割り当て」を参照してください

このアーティクルでは、Azure CLI を使用してユーザー割り当てマネージド ID を作成、一覧表示、削除したり、それにロールを割り当てる方法について説明します。

前提条件

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

  • CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

重要

CLI を使用してアプリのサービス プリンシパルを使用しているときにユーザーのアクセス許可を変更するには、CLI の一部がグラフ API に対して GET 要求を実行するため、サービス プリンシパルに Azure Active Directory Graph API でより多くの権限を与える必要があります。 そうしないと、「この操作を完了するのに十分な権限がありません」というメッセージが表示される可能性があります。 これを行うには、Microsoft Entra ID の[アプリの登録]に移動し、アプリを選択し、[API のアクセス許可] を選択し、スクロールダウンして [Azure Active Directory Graph] を選択します。 そこから、 [アプリケーションのアクセス許可] を選択し、適切なアクセス許可を追加します。

ユーザー割り当てマネージド ID を作成する

ユーザー割り当てマネージド ID を作成するには、お使いのアカウントにマネージド ID 共同作成者ロールの割り当てが必要です。

ユーザー割り当てマネージド ID を作成するには、az identity create コマンドを使用します。 -g パラメーターには、ユーザー割り当てマネージド ID を作成するリソース グループを指定します。 -n パラメーターでは、名前を指定します。 <RESOURCE GROUP> および <USER ASSIGNED IDENTITY NAME> パラメーターの値は、実際の値に置き換えます。

重要

ユーザー割り当てマネージド ID を作成する場合、名前は文字または数字で始まる必要があり、英数字、ハイフン (-) とアンダースコア (_) の組み合わせを含めることができます。 仮想マシンまたは仮想マシン スケール セットへの割り当てが適切に動作するように、名前は 24 文字に制限されています。 詳細については、FAQ と既知の問題に関するページを参照してください。

az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>

ユーザー割り当てマネージド ID を一覧表示する

ユーザー割り当てマネージド ID を一覧表示または読み取るには、アカウントへの Managed Identity Operator または Managed Identity Contributor ロールの割り当てが必要です。

ユーザー割り当てマネージド ID を一覧表示するには、az identity list コマンドを使用します。 <RESOURCE GROUP> は実際の値に置き換えます。

az identity list -g <RESOURCE GROUP>

JSON 応答内のユーザー割り当てマネージド ID には、キー type に対して返された "Microsoft.ManagedIdentity/userAssignedIdentities" の値が含まれます。

"type": "Microsoft.ManagedIdentity/userAssignedIdentities"

ユーザー割り当てマネージド ID を削除する

ユーザー割り当てマネージド ID を削除するには、お使いのアカウントにマネージド ID 共同作成者ロールの割り当てが必要です。

ユーザー割り当て ID を削除するには、az identity delete コマンドを使用します。 -n パラメーターには、その名前を指定します。 -g パラメーターには、ユーザー割り当てマネージド ID が作成されたリソース グループを指定します。 <USER ASSIGNED IDENTITY NAME> および <RESOURCE GROUP> パラメーターの値は、実際の値に置き換えます。

az identity delete -n <USER ASSIGNED IDENTITY NAME> -g <RESOURCE GROUP>

Note

ユーザー割り当てマネージド ID を削除しても、それが割り当てられていたリソースから参照が削除されることはありません。 az vm/vmss identity remove コマンドを使用して VM または仮想マシン スケール セットからそれらを削除します。

次のステップ

Azure CLI の ID コマンドの一覧は、az identity をご覧ください。

Azure VM にユーザー割り当てマネージド ID を割り当てる方法については、Azure CLI を使用して Azure VM 上に Azure リソースのマネージド ID を構成するを参照してください。

マネージド ID のワークロード ID フェデレーションを使って、シークレットを管理せずに Microsoft Entra で保護されたリソースにアクセスする方法について説明します。

このアーティクルでは、PowerShell を使用してユーザー割り当てマネージド ID を作成、一覧表示、削除したり、それにロールを割り当てる方法について説明します。

前提条件

  • Azure リソースのマネージド ID の基本点な事柄については、概要に関するセクションを参照してください。 システム割り当てマネージド ID とユーザー割り当てマネージド ID の違いを必ず確認してください
  • まだ Azure アカウントを持っていない場合は、無料のアカウントにサインアップしてから先に進んでください。
  • サンプル スクリプトを実行するには、次の 2 つのオプションがあります。
    • Azure Cloud Shell を使用します。これは、コード ブロックの右上隅にある [試してみる] ボタンから開くことができます。
    • Azure PowerShell を使用して、スクリプトをローカルで実行します。次のセクションの説明を参照してください。

このアーティクルでは、PowerShell を使って、ユーザー割り当てマネージド ID を作成、一覧表示、削除する方法について説明します。

ローカルで Azure PowerShell を構成する

このアーティクルのために、Cloud Shell を使わずにMicrosoft Azure PowerShell をローカルで使用するには、次の手順に従います。

  1. 最新バージョンの Azure PowerShell をインストールします (まだインストールしていない場合)。

  2. Azure にサインインします。

    Connect-AzAccount
    
  3. PowerShellGet の最新バージョンをインストールします。

    Install-Module -Name PowerShellGet -AllowPrerelease
    

    次の手順のために、このコマンドを実行した後、現在の PowerShell セッションを Exit 終了する必要があるかもしれません。

  4. このアーティクルのユーザー割り当てマネージド ID 操作を実行するために、Az.ManagedServiceIdentity モジュールのプレリリース バージョンをインストールします。

    Install-Module -Name Az.ManagedServiceIdentity -AllowPrerelease
    

ユーザー割り当てマネージド ID を作成する

ユーザー割り当てマネージド ID を作成するには、お使いのアカウントにマネージド ID 共同作成者ロールの割り当てが必要です。

ユーザー割り当てマネージド ID を作成するには、New-AzUserAssignedIdentity コマンドを使用します。 ResourceGroupName パラメーターには、ユーザー割り当てマネージド ID を作成するリソース グループを指定します。 -Name パラメーターでは、名前を指定します。 <RESOURCE GROUP> および <USER ASSIGNED IDENTITY NAME> パラメーターの値は、実際の値に置き換えます。

重要

ユーザー割り当てマネージド ID を作成する場合、名前は文字または数字で始まる必要があり、英数字、ハイフン (-) とアンダースコア (_) の組み合わせを含めることができます。 仮想マシンまたは仮想マシン スケール セットへの割り当てが適切に動作するように、名前は 24 文字に制限されています。 詳細については、FAQ と既知の問題に関するページを参照してください。

New-AzUserAssignedIdentity -ResourceGroupName <RESOURCEGROUP> -Name <USER ASSIGNED IDENTITY NAME>

ユーザー割り当てマネージド ID を一覧表示する

ユーザー割り当てマネージド ID を一覧表示または読み取るには、アカウントへの Managed Identity Operator または Managed Identity Contributor ロールの割り当てが必要です。

ユーザー割り当てマネージド ID を一覧表示するには、[Get-AzUserAssigned] コマンドを使います。 -ResourceGroupName パラメーターでは、ユーザー割り当てマネージド ID を作成したリソース グループを指定します。 <RESOURCE GROUP> は実際の値に置き換えます。

Get-AzUserAssignedIdentity -ResourceGroupName <RESOURCE GROUP>

応答内のユーザー割り当てマネージド ID には、キー Type に対して返された "Microsoft.ManagedIdentity/userAssignedIdentities" の値が含まれます。

Type :Microsoft.ManagedIdentity/userAssignedIdentities

ユーザー割り当てマネージド ID を削除する

ユーザー割り当てマネージド ID を削除するには、お使いのアカウントにマネージド ID 共同作成者ロールの割り当てが必要です。

ユーザー割り当てマネージド ID を削除するには、Remove-AzUserAssignedIdentity コマンドを使用します。 -ResourceGroupName パラメーターには、ユーザー割り当て ID を作成したリソース グループを指定します。 -Name パラメーターでは、名前を指定します。 <RESOURCE GROUP> および <USER ASSIGNED IDENTITY NAME> パラメーターの値は、実際の値に置き換えます。

Remove-AzUserAssignedIdentity -ResourceGroupName <RESOURCE GROUP> -Name <USER ASSIGNED IDENTITY NAME>

Note

ユーザー割り当てマネージド ID を削除しても、それが割り当てられていたリソースから参照が削除されることはありません。 ID の割り当ては、別に削除する必要があります。

次のステップ

Azure リソースの Azure PowerShell マネージド ID コマンドの詳細については、「Az.ManagedServiceIdentity」を参照してください。

マネージド ID のワークロード ID フェデレーションを使って、シークレットを管理せずに Microsoft Entra で保護されたリソースにアクセスする方法について説明します。

このアーティクルでは、Azure Resource Manager を使用してユーザー割り当てマネージド ID を作成します。

前提条件

Resource Manager テンプレートを使用して、ユーザー割り当てマネージド ID を一覧表示したり削除したりすることはできません。 ユーザー割り当てマネージド ID の作成と一覧表示については、次の記事を参照してください。

テンプレートの作成と編集

Resource Manager テンプレートを使用すると、Azure リソース グループによって定義された新しいリソースまたは変更されたリソースをデプロイできます。 ローカルとポータル ベースの両方を含むテンプレートの編集やデプロイでは、次のような複数のオプションが使用できます。 次の操作を行います。

ユーザー割り当てマネージド ID を作成する

ユーザー割り当てマネージド ID を作成するには、お使いのアカウントにマネージド ID 共同作成者ロールの割り当てが必要です。

ユーザー割り当てマネージド ID を作成するには、次のテンプレートを使用します。 <USER ASSIGNED IDENTITY NAME> は実際の値に置き換えます。

重要

ユーザー割り当てマネージド ID を作成する場合、名前は文字または数字で始まる必要があり、英数字、ハイフン (-) とアンダースコア (_) の組み合わせを含めることができます。 仮想マシンまたは仮想マシン スケール セットへの割り当てが適切に動作するように、名前は 24 文字に制限されています。 詳細については、FAQ と既知の問題に関するページを参照してください。

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "resourceName": {
          "type": "string",
          "metadata": {
            "description": "<USER ASSIGNED IDENTITY NAME>"
          }
        }
  },
  "resources": [
    {
      "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
      "name": "[parameters('resourceName')]",
      "apiVersion": "2018-11-30",
      "location": "[resourceGroup().location]"
    }
  ],
  "outputs": {
      "identityName": {
          "type": "string",
          "value": "[parameters('resourceName')]"
      }
  }
}

次のステップ

Resource Manager テンプレートを使用して Azure VM にユーザー割り当てマネージド ID を割り当てる方法には、「テンプレートを使用して Azure VM で Azure リソースのマネージド ID を構成する」を参照してください。

マネージド ID のワークロード ID フェデレーションを使って、シークレットを管理せずに Microsoft Entra で保護されたリソースにアクセスする方法について説明します。

この記事では、REST を使用して、ユーザー割り当てマネージド ID を作成、一覧表示、および削除する方法について説明します。

前提条件

この記事では、CURL を使用して REST API を呼び出し、ユーザー割り当てマネージド ID を作成、一覧表示、削除する方法について説明します。

ベアラー アクセス トークンを取得する

  1. ローカルで実行している場合は、Azure CLI を使用して Azure にサインインします。

    az login
    
  2. az account get-access-token を使用してアクセス トークンを取得します。

    az account get-access-token
    

ユーザー割り当てマネージド ID を作成する

ユーザー割り当てマネージド ID を作成するには、お使いのアカウントにマネージド ID 共同作成者ロールの割り当てが必要です。

重要

ユーザー割り当てマネージド ID を作成する場合、名前は文字または数字で始まる必要があり、英数字、ハイフン (-) とアンダースコア (_) の組み合わせを含めることができます。 仮想マシンまたは仮想マシン スケール セットへの割り当てが適切に動作するように、名前は 24 文字に制限されています。 詳細については、FAQ と既知の問題に関するページを参照してください。

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroup
s/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>?api-version=2015-08-31-preview' -X PUT -d '{"loc
ation": "<LOCATION>"}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroup
s/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>?api-version=2015-08-31-preview HTTP/1.1

要求ヘッダー

要求ヘッダー 説明
Content-Type 必須。 application/json を設定します。
承認 必須。 有効な Bearer アクセス トークンを設定します。

要求本文

名前 説明
場所 必須。 リソースの場所。

ユーザー割り当てマネージド ID を一覧表示する

ユーザー割り当てマネージド ID を一覧表示または読み取るには、アカウントへの Managed Identity Operator または Managed Identity Contributor ロールの割り当てが必要です。

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities?api-version=2015-08-31-preview' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities?api-version=2015-08-31-preview HTTP/1.1
要求ヘッダー 説明
Content-Type 必須。 application/json を設定します。
承認 必須。 有効な Bearer アクセス トークンを設定します。

ユーザー割り当てマネージド ID を削除する

ユーザー割り当てマネージド ID を削除するには、お使いのアカウントにマネージド ID 共同作成者ロールの割り当てが必要です。

Note

ユーザー割り当てマネージド ID を削除しても、それが割り当てられていたリソースから参照が削除されることはありません。 CURL を使用して VM からユーザー割り当てマネージド ID を削除する場合は、「Azure VM からユーザー割り当て ID を削除する」を参照してください。

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroup
s/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>?api-version=2015-08-31-preview' -X DELETE -H "Authorization: Bearer <ACCESS TOKEN>"
DELETE https://management.azure.com/subscriptions/80c696ff-5efa-4909-a64d-f1b616f423ca/resourceGroups/TestRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>?api-version=2015-08-31-preview HTTP/1.1
要求ヘッダー 説明
Content-Type 必須。 application/json を設定します。
承認 必須。 有効な Bearer アクセス トークンを設定します。

次のステップ

CURL を使用してユーザー割り当てマネージド ID を Azure VM または仮想マシン スケール セットに割り当てる方法については、次を参照してください。

マネージド ID のワークロード ID フェデレーションを使って、シークレットを管理せずに Microsoft Entra で保護されたリソースにアクセスする方法について説明します。