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

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

マネージド ID には、システム割り当てとユーザー割り当ての 2 種類があります。 2 つの主な違いは、システムによって割り当てられたマネージド ID のライフサイクルが、使用されるリソースにリンクされていることです。 ユーザー割り当てマネージド ID は、複数のリソースで使用できます。 マネージド ID の詳細については、Azure リソースのマネージド ID とはを参照してください。

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

前提条件

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

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

  1. Azure サブスクリプションに関連付けられているアカウントを使用して、Azure portal にサインインして、ユーザー割り当てマネージド ID を作成します。
  2. 検索ボックスに、「マネージド ID」と入力します。 [サービス] の下で、 [マネージド ID] を選択します。
  3. [追加] をクリックして、 [ユーザー割り当てマネージド ID を作成する] ウィンドウの次のボックスに値を入力します。
    • サブスクリプション:ユーザー割り当てマネージド ID を作成するサブスクリプションを選択します。
    • リソース グループ: ユーザー割り当てマネージド ID を作成するリソース グループを選択するか、 [新規作成] をクリックして新しいリソース グループを作成します。
    • リージョン: ユーザー割り当てマネージド ID をデプロイするリージョンを選択します。たとえば、米国西部などです。
    • 名前: ユーザー割り当てマネージド ID の名前です。たとえば、UAI1 とします。

重要

ユーザー割り当て済みマネージド ID を作成するときは、英数字 (0-9、a-z、A-Z) とハイフン (-) のみがサポートされます。 仮想マシンまたは仮想マシン スケール セットへの割り当てが適切に動作するように、名前は 24 文字に制限されています。 詳細については、FAQ と既知の問題に関するページを参照してください。

Screenshot that shows the Create User Assigned Managed Identity pane.

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

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

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

  1. Azure サブスクリプションに関連付けられているアカウントを使用して、Azure portal にサインインして、ユーザー割り当てマネージド ID を一覧表示します。

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

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

    Screenshot that shows the list of user-assigned managed identity.

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

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

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

  1. Azure サブスクリプションに関連付けられているアカウントを使用して、Azure portal にサインインして、ユーザー割り当てマネージド ID を削除します。

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

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

    Screenshot that shows the Delete user-assigned managed identities.

ユーザー割り当てマネージド ID にロールを割り当てる

ユーザー割り当てマネージド ID にロールを割り当てるには、お使いのアカウントにユーザー アクセス管理者ロールの割り当てが必要です。

  1. Azure サブスクリプションに関連付けられているアカウントを使用して、Azure portal にサインインして、ユーザー割り当てマネージド ID を一覧表示します。

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

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

  4. [アクセス制御 (IAM)] を選択したら、 [ロール割り当ての追加] を選択します。

    Screenshot that shows the user-assigned managed identity start.

  5. [ロールの割り当ての追加] ウィンドウで、次の値を構成してから [保存] を選択します。

    • [ロール] - 割り当てるロール。
    • [アクセスの割り当て先] - ユーザー割り当てマネージド ID を割り当てるリソース。
    • [選択] - アクセスを割り当てるメンバー。

    Screenshot that shows the user-assigned managed identity IAM.

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

前提条件

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

    Launch Cloud Shell in a new window

  • 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 でより多くの権限を与える必要があります。 そうしないと、「この操作を完了するのに十分な権限がありません」というメッセージが表示される可能性があります。 これを行うには、Azure AD の [アプリの登録] に移動し、アプリを選択し、 [API のアクセス許可] を選択し、スクロールダウンして [Azure Active Directory Graph] を選択します。 そこから、 [アプリケーションのアクセス許可] を選択し、適切なアクセス許可を追加します。

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

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

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

重要

ユーザー割り当て済みマネージド ID を作成するときは、英数字 (0-9、a-z、A-Z) とハイフン (-) のみがサポートされます。 仮想マシンまたは仮想マシン スケール セットへの割り当てが適切に動作するように、名前は 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 を構成するを参照してください。

このアーティクルでは、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 を作成するときは、英数字 (0-9、a-z、A-Z) とハイフン (-) のみがサポートされます。 仮想マシンまたは仮想マシン スケール セットへの割り当てが適切に動作するように、名前は 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」を参照してください。

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

前提条件

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

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

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

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

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

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

重要

ユーザー割り当て済みマネージド ID を作成するときは、英数字 (0-9、a-z、A-Z) とハイフン (-) のみがサポートされます。 仮想マシンまたは仮想マシン スケール セットへの割り当てが適切に動作するように、名前は 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')]"
      }
  }
}

次のステップ

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

この記事では、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 を作成するときは、英数字 (0-9、a-z、A-Z) とハイフン (-) のみがサポートされます。 仮想マシンまたは仮想マシン スケール セットへの割り当てが適切に動作するように、名前は 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 または仮想マシン スケール セットに割り当てる方法については、次を参照してください。