仮想マシン スケール セットで Azure リソース用マネージド ID を構成する

Azure リソース用マネージド ID は、Microsoft Entra ID の機能です。 Azure リソースのマネージド ID をサポートする各 Azure サービスは、それぞれ固有のタイムラインの下で提供されます。 ご利用のリソースに対するマネージド ID の提供状態と既知の問題をあらかじめ確認しておいてください。

Azure リソースのマネージド ID は、Microsoft Entra ID で自動的に管理される ID を Azure サービスに提供します。 この ID を使用すると、コード内に資格情報を記述することなく、Microsoft Entra の認証をサポートする任意のサービスに対して認証を行うことができます。

Azure Policy の定義と詳細については、「Azure Policy を使用してマネージド ID を割り当てる (プレビュー)」を参照してください。

この記事では、Azure portal を使用して、仮想マシン スケール セットで Azure リソースのマネージド ID に対して次の操作を実行する方法について説明します。

  • Azure リソースのマネージド ID の基本点な事柄については、概要に関するセクションを参照してください。

  • まだ Azure アカウントを持っていない場合は、無料のアカウントにサインアップしてから先に進んでください。

  • この記事の管理操作を実行するアカウントには、次の Azure ロールの割り当てが必要です。

    Note

    Microsoft Entra ディレクトリ ロールを追加で割り当てる必要はありません。

    • 仮想マシン スケール セットからシステム割り当てマネージド ID を有効化および削除するための仮想マシン共同作成者

システム割り当てマネージド ID

このセクションでは、Azure portal を使用してシステム割り当てマネージド ID を有効および無効にする方法について説明します。

仮想マシン スケール セットの作成中にシステム割り当てマネージド ID を有効にする

現在 Azure portal では、仮想マシン スケール セット作成中のシステム割り当てマネージド ID の有効化はサポートされていません。 代わりに、仮想マシン スケール セットの作成に関する次のクイック スタート記事を参照して、まず仮想マシン スケール セットを作成してください。そして、仮想マシン スケール セットでシステム割り当てマネージド ID を有効にする方法について詳しく説明している、次のセクションに進んでください。

既存の仮想マシン スケール セットでシステム割り当てマネージド ID を有効にする

ヒント

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

もともとシステム割り当てマネージド ID がプロビジョニングされていなかった仮想マシン スケール セットでそれを有効にするには:

  1. 仮想マシン スケール セットが含まれる Azure サブスクリプションに関連付けられているアカウントを使用して、Azure Portal にサインインします。

  2. 目的の仮想マシン スケール セットに移動します。

  3. [システム割り当て済み] にある [状態][オン] を選択して、 [保存] をクリックします。

    [ID (プレビュー)] ページのスクリーンショット。[システム割り当て済み] が選択され、[状態] が [オン] になっており、[保存] ボタンが強調表示されている。

仮想マシン スケール セットからシステム割り当てマネージド ID を削除する

システム割り当てマネージド ID が不要になった仮想マシン スケール セットがある場合:

  1. 仮想マシン スケール セットが含まれる Azure サブスクリプションに関連付けられているアカウントを使用して、Azure Portal にサインインします。 また、お使いのアカウントが、仮想マシン スケール セット上の書き込みアクセス許可が提供されるロールに属していることを確認します。

  2. 目的の仮想マシン スケール セットに移動します。

  3. [システム割り当て済み] にある [状態][オフ] を選択して、 [保存] をクリックします。

    構成ページを示すスクリーンショット。

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

このセクションでは、Azure portal を使用して、仮想マシン スケール セットとの間でユーザー割り当てマネージド ID を追加および削除する方法について説明します。

仮想マシン スケール セットの作成中にユーザー割り当てマネージド ID を割り当てる

現在 Azure portal では、仮想マシン スケール セット作成中のユーザー割り当てマネージド ID の割り当てはサポートされていません。 代わりに、仮想マシン スケール セットの作成に関する次のクイック スタート記事を参照して、まず仮想マシン スケール セットを作成してください。そして、その仮想マシン スケール セットにユーザー割り当てマネージド ID を割り当てる方法について詳しく説明している、次のセクションに進んでください。

既存の仮想マシン スケール セットにユーザー割り当てマネージド ID を割り当てる

  1. 仮想マシン スケール セットが含まれる Azure サブスクリプションに関連付けられているアカウントを使用して、Azure Portal にサインインします。

  2. 目的の仮想マシン スケール セットに移動して、[ID][ユーザー割り当て済み][+追加] の順にクリックします。

    仮想マシン スケール セットへのユーザー割り当て ID の追加を示すスクリーンショット。

  3. 仮想マシン スケール セットに追加したいユーザー割り当て ID をクリックして、 [追加] をクリックします。

    仮想マシン スケール セットにユーザー割り当て ID を追加する方法を示すスクリーンショット。

仮想マシン スケール セットからユーザー割り当てマネージド ID を削除する

  1. VM が含まれる Azure サブスクリプションに関連付けられているアカウントを使用して、Azure Portal にサインインします。

  2. 目的の仮想マシン スケール セットに移動します。次に、 [ID][ユーザー割り当て済み] 、削除したいユーザー割り当てマネージド ID の名前を順にクリックしてから、 [削除] をクリックします (確認ウィンドウで [はい] をクリックします)。

    仮想マシン スケール セットからユーザー割り当て ID を削除する方法を示すスクリーンショット。

次のステップ

この記事では、Azure CLI を使用して、Azure 仮想マシン スケール セット上で Azure リソースのマネージド ID に対して次の操作を実行する方法について説明します。

  • Azure 仮想マシン スケール セットでシステム割り当てマネージド ID を有効および無効にする
  • Azure 仮想マシン スケール セットでユーザー割り当てマネージド ID を追加および削除する

まだ Azure アカウントを持っていない場合は、無料のアカウントにサインアップしてから先に進んでください。

前提条件

  • Azure リソースのマネージド ID について不明な場合は、「Azure リソースのマネージド ID とは」を参照してください。 システム割り当てとユーザー割り当ての両方の種類のマネージド ID の詳細については、「マネージド ID の種類」をご覧ください。

  • この記事の管理操作を実行するアカウントには、次の Azure のロールベースのアクセス制御の割り当てが必要です。

    • 仮想マシン共同作成者: 仮想マシン スケール セットを作成する、システム割り当てマネージド ID またはユーザー割り当てマネージド ID を有効にする、および仮想マシン スケール セットから削除することができるロールです。

    • マネージド ID 共同作成者ロール。ユーザー割り当てマネージド ID を作成します。

    • マネージド ID オペレーターロール。ユーザー割り当てマネージド ID の仮想マシン スケール セットへの割り当ておよび仮想マシン スケール セットからの削除を実行します。

    Note

    Microsoft Entra ディレクトリ ロールを追加で割り当てる必要はありません。

  • 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 を実行します。

システム割り当てマネージド ID

このセクションでは、Azure CLI を使用して、Azure 仮想マシン スケール セット上でシステム割り当てマネージド ID を有効および無効にする方法について説明します。

Azure 仮想マシン スケール セットの作成中にシステム割り当てマネージド ID を有効にする

システム割り当てマネージド ID を有効にして仮想マシン スケール セットを作成する場合:

  1. az group create を使用して、仮想マシン スケール セットとその関連リソースの管理およびデプロイ用にリソース グループを作成します。 代わりに使用するリソース グループが既にある場合は、この手順をスキップできます。

    az group create --name myResourceGroup --location westus
    
  2. 仮想マシン スケール セットを作成します。 次の例では、--assign-identity パラメーターからの要求どおり、--role--scope を指定して、システム割り当てマネージド ID で myVM という仮想マシン スケール セットを作成します。 --admin-username および --admin-password パラメーターは、仮想マシンのサインイン用の管理ユーザー名とパスワードを指定します。 これらの値は、お使いの環境に合わせて更新してください。

    az vmss create --resource-group myResourceGroup --name myVMSS --image win2016datacenter --upgrade-policy-mode automatic --custom-data cloud-init.txt --admin-username azureuser --admin-password myPassword12 --assign-identity --generate-ssh-keys --role contributor --scope mySubscription
    

既存の Azure 仮想マシン スケール セット上でシステム割り当てマネージド ID を有効にする

既存の Azure 仮想マシン スケール セット上でシステム割り当てマネージド ID を有効にする必要がある場合:

az vmss identity assign -g myResourceGroup -n myVMSS

Azure 仮想マシン スケール セットでシステム割り当てマネージド ID を無効にする

システム割り当てマネージド ID は不要になったが、ユーザー割り当てマネージド ID はまだ必要な仮想マシン スケール セットがある場合は、次のコマンドを使用します。

az vmss update -n myVM -g myResourceGroup --set identity.type='UserAssigned' 

システム割り当てマネージド ID が不要になり、ユーザー割り当てマネージド ID がない仮想マシンがある場合は、次のコマンドを使用します。

注意

none では、大文字と小文字が区別されます。 小文字にする必要があります。

az vmss update -n myVM -g myResourceGroup --set identity.type="none"

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

このセクションでは、Azure CLI を使用してユーザー割り当てマネージド ID を有効にする方法と削除する方法について説明します。

仮想マシン スケール セットの作成中にユーザー割り当てマネージド ID を割り当てる

このセクションでは、仮想マシン スケール セットを作成する方法と、ユーザー割り当てマネージド ID を仮想マシン スケール セットに割り当てる方法について説明します。 使用する仮想マシン スケール セットが既にある場合は、このセクションをスキップして次のセクションに進んでください。

  1. 使用するリソース グループが既にある場合は、この手順をスキップできます。 az group create を使用して、ユーザー割り当てマネージド ID の格納と配置を行うリソース グループを作成します。 <RESOURCE GROUP><LOCATION> のパラメーターの値は、必ず実際の値に置き換えてください。 :

    az group create --name <RESOURCE GROUP> --location <LOCATION>
    
  2. az identity create を使用して、ユーザー割り当てマネージド ID を作成します。 -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 に割り当てられたリソース id 値は、次の手順で使用されます。

    {
         "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz",
         "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz",
         "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
         "location": "westcentralus",
         "name": "<USER ASSIGNED IDENTITY NAME>",
         "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll",
         "resourceGroup": "<RESOURCE GROUP>",
         "tags": {},
         "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl",
         "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  3. 仮想マシン スケール セットを作成します。 次の例では、--assign-identity パラメーターで指定されたとおり、--role--scope を指定して新しいユーザー割り当てマネージド ID に関連付けられている仮想マシン スケール セットを作成します。 <RESOURCE GROUP><VMSS NAME><USER NAME><PASSWORD><USER ASSIGNED IDENTITY><ROLE><SUBSCRIPTION> の各パラメーターの値は、必ず実際の値に置き換えてください。

    az vmss create --resource-group <RESOURCE GROUP> --name <VMSS NAME> --image <SKU Linux Image> --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY> --role <ROLE> --scope <SUBSCRIPTION>
    

既存の仮想マシン スケール セットにユーザー割り当てマネージド ID を割り当てる

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

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

    応答には、次のように、作成されたユーザー割り当てマネージド ID の詳細が含まれています。

    {
         "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz",
         "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY >/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz",
         "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY>",
         "location": "westcentralus",
         "name": "<USER ASSIGNED IDENTITY>",
         "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll",
         "resourceGroup": "<RESOURCE GROUP>",
         "tags": {},
         "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl",
         "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  2. 仮想マシン スケール セットにユーザー割り当てマネージド ID を割り当てます<RESOURCE GROUP><VIRTUAL MACHINE SCALE SET NAME> のパラメーターの値は、必ず実際の値に置き換えてください。 <USER ASSIGNED IDENTITY> は、前の手順で作成されたユーザー割り当て ID のリソース name プロパティです。

    az vmss identity assign -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>
    

Azure 仮想マシン スケール セットからユーザー割り当てマネージド ID を削除する

仮想マシン スケール セットからユーザー割り当てマネージド ID を削除するには、az vmss identity remove を使用します。 仮想マシン スケール セットに割り当てられている唯一のユーザー割り当てマネージド ID の場合は、ID 型の値から UserAssigned が削除されます。 <RESOURCE GROUP><VIRTUAL MACHINE SCALE SET NAME> のパラメーターの値は、必ず実際の値に置き換えてください。 <USER ASSIGNED IDENTITY> はユーザー割り当てマネージド ID の name プロパティになります。これは、az vmss identity show を使って、仮想マシン スケール セットの ID セクションで見つけることができます。

az vmss identity remove -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>

仮想マシン スケール セットにシステム割り当てマネージド ID がないときに、ユーザー割り当てマネージド ID をすべて削除する場合は、次のコマンドを使用します。

注意

none では、大文字と小文字が区別されます。 小文字にする必要があります。

az vmss update -n myVMSS -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null

仮想マシン スケール セットにシステム割り当てマネージド ID とユーザー割り当てマネージド ID の両方がある場合は、システム割り当てマネージド ID のみを使用するように切り替えることによって、すべてのユーザー割り当てマネージド ID を削除できます。 次のコマンドを使用します。

az vmss update -n myVMSS -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null 

次のステップ

この記事では、PowerShell を使用して、仮想マシン スケール セット上で Azure リソースのマネージド ID 操作を実行する方法について説明します。

  • 仮想マシン スケール セット上でシステム割り当てマネージド ID を有効および無効にする
  • 仮想マシン スケール セット上でユーザー割り当てマネージド ID の追加および削除を行う

注意

Azure を操作するには、Azure Az PowerShell モジュールを使用することをお勧めします。 作業を開始するには、Azure PowerShell のインストールに関する記事を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

前提条件

  • Azure リソースのマネージド ID の基本点な事柄については、概要に関するセクションを参照してください。 システム割り当てマネージド ID とユーザー割り当てマネージド ID の違いを確認してください

  • まだ Azure アカウントを持っていない場合は、無料のアカウントにサインアップしてから先に進んでください。

  • この記事の管理操作を実行するアカウントには、次の Azure のロールベースのアクセス制御の割り当てが必要です。

    Note

    Microsoft Entra ディレクトリ ロールを追加で割り当てる必要はありません。

    • 仮想マシン共同作成者ロール。仮想マシン スケール セットを作成して、システム割り当てマネージド ID またはユーザー割り当てマネージド ID を有効化したり、仮想マシン スケール セットから削除したりします。
    • マネージド ID 共同作成者ロール。ユーザー割り当てマネージド ID を作成します。
    • マネージド ID オペレーターロール。ユーザー割り当てマネージド ID の仮想マシン スケール セットへの割り当ておよび仮想マシン スケール セットからの削除を実行します。
  • サンプル スクリプトを実行するには、次の 2 つのオプションがあります。

    • Azure Cloud Shell を使用します。これは、コード ブロックの右上隅にある [試してみる] ボタンを使用して開くことができます。
    • 最新バージョンの Azure PowerShell をインストールしてスクリプトをローカルで実行した後、Connect-AzAccount を使用して Azure にサインインします。

システム割り当てマネージド ID

このセクションでは、Azure PowerShell を使用してシステム割り当てマネージド ID を有効にする方法と削除する方法について説明します。

Azure 仮想マシン スケール セットの作成中にシステム割り当てマネージド ID を有効にする

システム割り当てマネージド ID を有効にして仮想マシン スケール セットを作成する場合:

  1. システム割り当てマネージド ID を持つ仮想マシン スケール セットの作成については、New-AzVmssConfig コマンドレット リファレンス記事の "例 1" を参照してください。 パラメーター -IdentityType SystemAssignedNew-AzVmssConfig コマンドレットに追加します。

    $VMSS = New-AzVmssConfig -Location $Loc -SkuCapacity 2 -SkuName "Standard_A0" -UpgradePolicyMode "Automatic" -NetworkInterfaceConfiguration $NetCfg -IdentityType SystemAssigned`
    

既存の Azure 仮想マシン スケール セット上でシステム割り当てマネージド ID を有効にする

既存の Azure 仮想マシン スケール セット上でシステム割り当てマネージド ID を有効にする必要がある場合:

  1. お使いの Azure アカウントが、"仮想マシン共同作成者" など、仮想マシン スケール セット上の書き込みアクセス許可が提供されるロールに属していることを確認します。

  2. Get-AzVmss コマンドレットを使用して、仮想マシン スケール セットのプロパティを取得します。 システム割り当てマネージド ID を有効にするには、Update-AzVmss コマンドレットで -IdentityType スイッチを使用します。

    Update-AzVmss -ResourceGroupName myResourceGroup -Name -myVmss -IdentityType "SystemAssigned"
    

Azure 仮想マシン スケール セット上でシステム割り当てマネージド ID を無効にする

システム割り当てマネージド ID は不要になったが、ユーザー割り当てマネージド ID はまだ必要な仮想マシン スケール セットがある場合は、次のコマンドを使用します。

  1. お使いのアカウントが、"仮想マシン共同作成者" など、仮想マシン スケール セット上の書き込みアクセス許可が提供されるロールに属していることを確認します。

  2. 次のコマンドレットを実行します。

    Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "UserAssigned"
    
  3. システム割り当てマネージド ID が不要になった、ユーザー割り当てマネージド ID を持たない仮想マシン スケール セットがある場合は、次のコマンドを使用します。

    Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None
    

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

このセクションでは、Azure PowerShell を使用して、仮想マシン スケール セットに対してユーザー割り当てマネージド ID を追加および削除する方法について説明します。

Azure 仮想マシン スケール セットの作成中にユーザー割り当てマネージド ID を割り当てる

ユーザー割り当てマネージド ID を持つ新しい仮想マシン スケール セットの作成は、PowerShell では現在サポートされていません。 次のセクションで、既存の仮想マシン スケール セットにユーザー割り当てマネージド ID を追加する方法を確認してください。 アップデートは後ほどご確認ください。

既存の Azure 仮想マシン スケール セットにユーザー割り当てマネージド ID を割り当てる

既存の Azure 仮想マシン スケール セットにユーザー割り当てマネージド ID を割り当てるには:

  1. お使いのアカウントが、"仮想マシン共同作成者" など、仮想マシン スケール セット上の書き込みアクセス許可が提供されるロールに属していることを確認します。

  2. Get-AzVM コマンドレットを使用して、仮想マシン スケール セットのプロパティを取得します。 次に、ユーザー割り当てマネージド ID を仮想マシン スケール セットに割り当てるため、Update-AzVmss コマンドレットで -IdentityType スイッチと -IdentityID スイッチを使用します。 <VM NAME><SUBSCRIPTION ID><RESROURCE GROUP><USER ASSIGNED ID1>USER ASSIGNED ID2 を、実際の値に置き換えます。

    重要

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

    Update-AzVmss -ResourceGroupName <RESOURCE GROUP> -Name <VMSS NAME> -IdentityType UserAssigned -IdentityID "<USER ASSIGNED ID1>","<USER ASSIGNED ID2>"
    

Azure 仮想マシン スケール セットからユーザー割り当てマネージド ID を削除する

仮想マシン スケール セットに複数のユーザー割り当てマネージド ID がある場合は、次のコマンドを使用して、最後の ID 以外の ID をすべて削除できます。 <RESOURCE GROUP><VIRTUAL MACHINE SCALE SET NAME> のパラメーターの値は、必ず実際の値に置き換えてください。 <USER ASSIGNED IDENTITY NAME> はユーザー割り当てマネージド ID の名前プロパティであり、仮想マシン スケール セット上に残す必要があります。 この情報は、az vmss show を使用して、仮想マシン スケール セットの ID セクションで見つけることができます。

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType UserAssigned -IdentityID "<USER ASSIGNED IDENTITY NAME>"

仮想マシン スケール セットにシステム割り当てマネージド ID がないときに、ユーザー割り当てマネージド ID をすべて削除する場合は、次のコマンドを使用します。

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None

仮想マシン スケール セットにシステム割り当てマネージド ID とユーザー割り当てマネージド ID の両方がある場合は、システム割り当てマネージド ID のみを使用するように切り替えることによって、すべてのユーザー割り当てマネージド ID を削除できます。

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "SystemAssigned"

次のステップ

この記事では、Azure Resource Manager デプロイ テンプレートを使用して、Azure 仮想マシン スケール セットで Azure リソースのマネージド ID の次の操作を実行する方法を説明します。

  • Azure 仮想マシン スケール セットでシステム割り当てマネージド ID を有効および無効にする
  • Azure 仮想マシン スケール セットでユーザー割り当てマネージド ID を追加および削除する

前提条件

  • Azure リソースのマネージド ID の基本点な事柄については、概要に関するセクションを参照してください。 システム割り当てマネージド ID とユーザー割り当てマネージド ID の違いを必ず確認してください

  • まだ Azure アカウントを持っていない場合は、無料のアカウントにサインアップしてから先に進んでください。

  • この記事の管理操作を実行するアカウントには、次の Azure のロールベースのアクセス制御の割り当てが必要です。

    Note

    Microsoft Entra ディレクトリ ロールを追加で割り当てる必要はありません。

    • 仮想マシン共同作成者: 仮想マシン スケール セットを作成する、システム割り当てマネージド ID またはユーザー割り当てマネージド ID を有効にする、および仮想マシン スケール セットから削除することができるロールです。
    • マネージド ID 共同作成者ロール。ユーザー割り当てマネージド ID を作成します。
    • マネージド ID オペレーターロール。ユーザー割り当てマネージド ID の仮想マシン スケール セットへの割り当ておよび仮想マシン スケール セットからの削除を実行します。

Azure Resource Manager のテンプレート

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

選択するオプションにかかわらず、初めてのデプロイ時も再デプロイ時もテンプレートの構文は同じです。 新規または既存の VM での、Azure リソースのマネージド ID の有効化も同様に行われます。 また、既定で Azure Resource Manager はデプロイに対して増分更新を行います。

システム割り当てマネージド ID

このセクションでは、Azure Resource Manager テンプレートを使用して、システム割り当てマネージド ID を有効および無効にします。

仮想マシン スケール セットの作成時に、または既存の仮想マシン スケール セットでシステム割り当てマネージド ID を有効にする

  1. Azure にローカルでサインインする場合も、Azure Portal を使用してサインインする場合も、仮想マシン スケール セットが含まれる Azure サブスクリプションに関連付けられているアカウントを使用します。

  2. システム割り当てマネージド ID を有効にするには、テンプレートをエディターに読み込み、resources セクション内で対象の Microsoft.Compute/virtualMachinesScaleSets リソースを探し、"type": "Microsoft.Compute/virtualMachinesScaleSets" プロパティと同じレベルに identity プロパティを追加します。 次の構文を使用します。

    "identity": {
        "type": "SystemAssigned"
    }
    
  3. 完了すると、次のセクションがテンプレートのリソース セクションに追加され、以下に示す例のようになります。

     "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachineScaleSets",
             "name": "[variables('vmssName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "SystemAssigned",
             },
            "properties": {
                 //other resource provider properties...
                 "virtualMachineProfile": {
                     //other virtual machine profile properties...
    
                 }
             }
         }
     ]
    

Azure 仮想マシン スケール セットでシステム割り当てマネージド ID を無効にする

システム割り当てマネージド ID が不要になった仮想マシン スケール セットがある場合:

  1. Azure にローカルでサインインする場合も、Azure Portal を使用してサインインする場合も、仮想マシン スケール セットが含まれる Azure サブスクリプションに関連付けられているアカウントを使用します。

  2. テンプレートをエディターに読み込み、resources セクション内で関心のある Microsoft.Compute/virtualMachineScaleSets リソースを探します。 システム割り当てマネージド ID のみが割り当てられた VM がある場合は、ID の種類を None に変更することで無効にすることができます。

    Microsoft.Compute/virtualMachineScaleSets API バージョン 2018-06-01

    お使いの apiVersion が 2018-06-01 であり、VM にシステム割り当てマネージド ID とユーザー割り当てマネージド ID の両方が割り当てられている場合は、ID の種類から SystemAssigned を削除し、userAssignedIdentities ディクショナリ値と共に UserAssigned を保持します。

    Microsoft.Compute/virtualMachineScaleSets API バージョン 2018-06-01

    お使いの apiVersion が 2017-12-01 であり、仮想マシン スケール セットにシステム割り当てマネージド ID とユーザー割り当てマネージド ID の両方が割り当てられている場合は、ID の種類から SystemAssigned を削除し、ユーザー割り当てマネージド ID の identityIds 配列と共に UserAssigned を保持します。

    次の例は、ユーザー割り当てマネージド ID が割り当てられていない仮想マシン スケール セットからシステム割り当てマネージド ID を削除する方法を示しています。

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "None"
         }
    
    }
    

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

このセクションでは、Azure Resource Manager テンプレートを使用して、仮想マシン スケール セットにユーザー割り当てマネージド ID を割り当てます。

注意

Azure Resource Manager テンプレートを使用してユーザー割り当てマネージド ID を作成するには、「Create a user-assigned managed identity (ユーザー割り当てマネージド ID を作成する)」をご覧ください。

仮想マシン スケール セットにユーザー割り当て マネージド ID を割り当てる

  1. ユーザー割り当てマネージド ID を仮想マシン スケール セットに割り当てるには、resources 要素に次のエントリを追加します。 <USERASSIGNEDIDENTITY> は、作成したユーザー割り当てマネージド ID の名前に置き換えてください。

    Microsoft.Compute/virtualMachineScaleSets API バージョン 2018-06-01

    お使いの apiVersion が 2018-06-01 の場合、ユーザー割り当てマネージド ID は userAssignedIdentities ディクショナリ形式で格納されます。<USERASSIGNEDIDENTITYNAME> 値は、テンプレートの variables セクションに定義された変数に格納する必要があります。

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "userAssigned",
            "userAssignedIdentities": {
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
            }
        }
    
    }
    

    Microsoft.Compute/virtualMachineScaleSets API バージョン 2017-12-01

    お使いの apiVersion2017-12-01 以前の場合、ユーザー割り当てマネージド ID は identityIds 配列に格納されます。<USERASSIGNEDIDENTITYNAME> 値は、テンプレートの variables セクションに定義された変数に格納する必要があります。

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2017-03-30",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "userAssigned",
            "identityIds": [
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITY>'))]"
            ]
        }
    }
    
  2. 完了すると、テンプレートは以下の例のようになります。

    Microsoft.Compute/virtualMachineScaleSets API バージョン 2018-06-01

    "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachineScaleSets",
             "name": "[variables('vmssName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "UserAssigned",
                 "userAssignedIdentities": {
                     "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
                 }
             },
            "properties": {
                 //other virtual machine properties...
                 "virtualMachineProfile": {
                     //other virtual machine profile properties...
                 }
             }
         }
     ]
    

    Microsoft.Compute/virtualMachines API バージョン 2017-12-01

    "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2017-12-01",
             "type": "Microsoft.Compute/virtualMachineScaleSets",
             "name": "[variables('vmssName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "UserAssigned",
                 "identityIds": [
                     "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
                 ]
             },
            "properties": {
                 //other virtual machine properties...
                 "virtualMachineProfile": {
                     //other virtual machine profile properties...
                 }
             }
         }
     ]
    

Azure 仮想マシン スケール セットからユーザー割り当てマネージド ID を削除する

ユーザー割り当てマネージド ID が不要になった仮想マシン スケール セットがある場合は、次の手順に従います。

  1. Azure にローカルでサインインする場合も、Azure Portal を使用してサインインする場合も、仮想マシン スケール セットが含まれる Azure サブスクリプションに関連付けられているアカウントを使用します。

  2. テンプレートをエディターに読み込み、resources セクション内で関心のある Microsoft.Compute/virtualMachineScaleSets リソースを探します。 ユーザー割り当てマネージド ID しか存在しない仮想マシン スケール セットがある場合は、ID の種類を None に変更することによってそれを無効にすることができます。

    次の例は、システム割り当てマネージド ID が割り当てられていない VM からユーザー割り当てマネージド ID をすべて削除する方法を示しています。

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "None"
         }
    }
    

    Microsoft.Compute/virtualMachineScaleSets API バージョン 2018-06-01

    仮想マシン スケール セットから 1 つのユーザー割り当てマネージド ID を削除するには、userAssignedIdentities ディクショナリからそれを削除します。

    システム割り当て ID がある場合は、identity 値の type 値でそれを保持します。

    Microsoft.Compute/virtualMachineScaleSets API バージョン 2017-12-01

    仮想マシン スケール セットから 1 つのユーザー割り当てマネージド ID を削除するには、identityIds 配列からそれを削除します。

    システム割り当てマネージド ID がある場合は、identity 値の type 値でそれを保持します。

次のステップ

この記事では、Azure Resource Manager REST エンドポイントを呼び出す CURL を使用して、仮想マシン スケール セットで次の Azure リソースのマネージド ID 操作を実行する方法について説明します。

  • Azure 仮想マシン スケール セットでシステム割り当てマネージド ID を有効および無効にする
  • Azure 仮想マシン スケール セットでユーザー割り当てマネージド ID を追加および削除する

まだ Azure アカウントを持っていない場合は、無料のアカウントにサインアップしてから先に進んでください。

前提条件

  • Azure リソースのマネージド ID について不明な場合は、「Azure リソースのマネージド ID とは」を参照してください。 システム割り当てとユーザー割り当ての両方の種類のマネージド ID の詳細については、「マネージド ID の種類」をご覧ください。

  • この記事の管理操作を実行するアカウントには、次の Azure ロールの割り当てが必要です。

    • 仮想マシン共同作成者: 仮想マシン スケール セットを作成する、システム割り当てマネージド ID またはユーザー割り当てマネージド ID を有効にする、および仮想マシン スケール セットから削除することができるロールです。

    • マネージド ID 共同作成者ロール。ユーザー割り当てマネージド ID を作成します。

    • 仮想マシン スケール セットのユーザー割り当て ID を割り当てたり削除したりするためのマネージド ID オペレーター ロール。

    Note

    Microsoft Entra ディレクトリ ロールを追加で割り当てる必要はありません。

  • 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 を実行します。

システム割り当てマネージド ID

このセクションでは、Azure Resource Manager REST エンドポイントを呼び出す CURL を使用して、仮想マシン スケール セットでシステム割り当てマネージド ID を有効および無効にする方法について説明します。

仮想マシン スケール セットの作成中にシステム割り当てマネージド ID を有効にする

システム割り当てマネージド ID を有効にして仮想マシン スケール セットを作成するには、仮想マシン スケール セットを作成し、システム割り当てマネージド ID の種類の値を指定して Resource Manager エンドポイントを呼び出す CURL を使用するためのアクセス トークンを取得する必要があります。

  1. az group create を使用して、仮想マシン スケール セットとその関連リソースの管理およびデプロイ用にリソース グループを作成します。 代わりに使用するリソース グループが既にある場合は、この手順をスキップできます。

    az group create --name myResourceGroup --location westus
    
  2. 仮想マシン スケール セット用のネットワーク インターフェイスを作成します。

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Bearer アクセス トークンを取得します。このトークンは、次の手順で、Authorization ヘッダーでシステム割り当てマネージド ID を使用して仮想マシン スケール セットを作成するときに使用します。

    az account get-access-token
    
  4. Azure Cloud Shell を使用して、Azure Resource Manager REST エンドポイントを呼び出す CURL を使って仮想マシン スケール セットを作成します。 次の例では、値 "identity":{"type":"SystemAssigned"} からの要求本文で指定されたシステム割り当てマネージド ID を使用して、myResourceGroup 内の myVMSS という仮想マシン スケール セットを作成します。 <ACCESS TOKEN> は前の手順で Bearer アクセス トークンを要求したときに受け取った値に置き換え、<SUBSCRIPTION ID> 値はご利用の環境に合わせて置き換えます。

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"SystemAssigned"},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    要求ヘッダー

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

    要求本文

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"SystemAssigned"
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }  
    

既存の仮想マシン スケール セットでシステム割り当てマネージド ID を有効にする

既存の仮想マシン スケール セットでシステム割り当てマネージド ID を有効にするには、アクセス トークンを取得し、ID の種類を更新するために Resource Manager REST エンドポイントを呼び出す CURL を使用する必要があります。

  1. Bearer アクセス トークンを取得します。このトークンは、次の手順で、Authorization ヘッダーでシステム割り当てマネージド ID を使用して仮想マシン スケール セットを作成するときに使用します。

    az account get-access-token
    
  2. myVMSS という仮想マシン スケール セットの値 {"identity":{"type":"SystemAssigned"} により要求本文で指定された仮想マシン スケール セットでシステム割り当てマネージド ID を有効にするには、Azure Resource Manager REST エンドポイントを呼び出す以下の CURL コマンドを使用します。 <ACCESS TOKEN> は前の手順で Bearer アクセス トークンを要求したときに受け取った値に置き換え、<SUBSCRIPTION ID> 値はご利用の環境に合わせて置き換えます。

    重要

    仮想マシン スケール セットに割り当てられている既存のユーザー割り当てマネージド ID を削除しないようにするには、次の CURL コマンドを使用してユーザー割り当てマネージド ID を一覧表示する必要があります。curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>" 応答の identity 値で指定されたユーザー割り当てマネージド ID が仮想マシン スケール セットに割り当てられている場合は、仮想マシン スケール セットでシステム割り当てマネージド ID を有効にしている間、ユーザー割り当てマネージド ID を保持する方法を示す手順 3 にスキップします。

     curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    要求ヘッダー

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

    要求本文

     {
        "identity":{
           "type":"SystemAssigned"
        }
     }
    
  3. 既存のユーザー割り当てマネージド ID を持つ仮想マシン スケール セットでシステム割り当てマネージド ID を有効にするには、SystemAssignedtype 値に追加する必要があります。

    たとえば、仮想マシン スケール セットにユーザー割り当てマネージド ID ID1ID2 が割り当てられている状態で、仮想マシン スケール セットにシステム割り当てマネージド ID を追加する場合は、次の CURL 呼び出しを使用します。 <ACCESS TOKEN><SUBSCRIPTION ID> は、ご利用の環境に適した値に置き換えます。

    API バージョン 2017-12-01 では、ユーザー割り当てマネージド ID が identityIds 値に配列形式で保存されていましたが、API バージョン 2018-06-01 では userAssignedIdentities 値にディクショナリ形式で保存されます。

    API バージョン 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    要求ヘッダー

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

    要求本文

     {
        "identity":{
           "type":"SystemAssigned,UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
              },
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{
    
              }
           }
        }
     }
    

    API バージョン 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    要求ヘッダー

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

    要求本文

     {
        "identity":{
           "type":"SystemAssigned,UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1",
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"
           ]
        }
     }
    

仮想マシン スケール セットでシステム割り当てマネージド ID を無効にする

既存の仮想マシン スケール セットでシステム割り当てマネージド ID を無効にするには、アクセス トークンを取得し、ID の種類を None に更新するために Resource Manager REST エンドポイントを呼び出す CURL を使用する必要があります。

  1. Bearer アクセス トークンを取得します。このトークンは、次の手順で、Authorization ヘッダーでシステム割り当てマネージド ID を使用して仮想マシン スケール セットを作成するときに使用します。

    az account get-access-token
    
  2. システム割り当てマネージド ID を無効にするには、Azure Resource Manager REST エンドポイントを呼び出す CURL を使用して、仮想マシン スケール セットを更新します。 次の例では、myVMSS という仮想マシン スケール セットから値 {"identity":{"type":"None"}} によって要求本文で指定されたシステム割り当てマネージド ID を無効にします。 <ACCESS TOKEN> は前の手順で Bearer アクセス トークンを要求したときに受け取った値に置き換え、<SUBSCRIPTION ID> 値はご利用の環境に合わせて置き換えます。

    重要

    仮想マシン スケール セットに割り当てられている既存のユーザー割り当てマネージド ID を削除しないようにするには、次の CURL コマンドを使用してユーザー割り当てマネージド ID を一覧表示する必要があります。curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>" ユーザー割り当てマネージド ID が仮想マシン スケール セットに割り当てられている場合は、仮想マシン スケール セットでシステム割り当てマネージド ID を削除する一方でユーザー割り当てマネージド ID を保持する方法を示す手順 3 にスキップします。

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    要求ヘッダー

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

    要求本文

     {
        "identity":{
           "type":"None"
        }
     }
    

    API バージョン 2018-06-01 を使用している場合、ユーザー割り当てマネージド ID を持つ仮想マシン スケール セットからシステム割り当てマネージド ID を削除するには、UserAssigned 値と userAssignedIdentities ディクショナリ値を維持したまま、{"identity":{"type:" "}} 値から SystemAssigned を削除します。 API バージョン 2017-12-01 またはそれ以前を使用している場合は、identityIds 配列を維持します。

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

このセクションでは、Azure Resource Manager REST エンドポイントを呼び出す CURL を使用して、仮想マシン スケール セットでユーザー割り当てマネージド ID を追加および削除する方法について説明します。

仮想マシン スケール セットの作成中にユーザー割り当てマネージド ID を割り当てる

  1. Bearer アクセス トークンを取得します。このトークンは、次の手順で、Authorization ヘッダーでシステム割り当てマネージド ID を使用して仮想マシン スケール セットを作成するときに使用します。

    az account get-access-token
    
  2. 仮想マシン スケール セット用のネットワーク インターフェイスを作成します。

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Bearer アクセス トークンを取得します。このトークンは、次の手順で、Authorization ヘッダーでシステム割り当てマネージド ID を使用して仮想マシン スケール セットを作成するときに使用します。

    az account get-access-token
    
  4. 次のセクション「ユーザー割り当てマネージド ID を作成する」の手順を使用して、ユーザー割り当てマネージド ID を作成します。

  5. Azure Resource Manager REST エンドポイントを呼び出す CURL を使用して、仮想マシン スケール セットを作成します。 次の例では、値 "identity":{"type":"UserAssigned"} からの要求本文で指定されたユーザー割り当てマネージド ID ID1 を使用して、myResourceGroup リソース グループ内の myVMSS という仮想マシン スケール セットを作成します。 <ACCESS TOKEN> は前の手順で Bearer アクセス トークンを要求したときに受け取った値に置き換え、<SUBSCRIPTION ID> 値はご利用の環境に合わせて置き換えます。

    API バージョン 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    要求ヘッダー

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

    要求本文

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              }
           }
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }
    

    API バージョン 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    要求ヘッダー

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

    要求本文

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }
    

既存の Azure 仮想マシン スケール セットにユーザー割り当てマネージド ID を割り当てる

  1. Bearer アクセス トークンを取得します。このトークンは、次の手順で、Authorization ヘッダーでシステム割り当てマネージド ID を使用して仮想マシン スケール セットを作成するときに使用します。

    az account get-access-token
    
  2. Create a user assigned managed identity」(ユーザー割り当てマネージド ID を作成する) に示されている手順を使用して、ユーザー割り当てマネージド ID を作成します。

  3. 仮想マシン スケール セットに割り当てられている既存のユーザー割り当てマネージド ID やシステム割り当てマネージド ID を削除しないようにするには、次の CURL コマンドを使用して、仮想マシン スケール セットに割り当てられている ID の種類を一覧表示する必要があります。 仮想マシン スケール セットにマネージド ID が割り当てられている場合、identity 値に一覧表示されます。

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
    
    GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
    

    要求ヘッダー

    要求ヘッダー 説明
    承認 必須。 有効な Bearer アクセス トークンを設定します。
  4. 仮想マシン スケール セットにユーザー割り当てマネージド ID またはシステム割り当てマネージド ID が割り当てられていない場合は、仮想マシン スケール セットに最初のユーザー割り当てマネージド ID を割り当てるために Azure Resource Manager REST エンドポイントを呼び出す次の CURL コマンドを使用します。 ユーザー割り当てマネージド ID またはシステム割り当てマネージド ID が仮想マシン スケール セットに割り当てられている場合は、システム割り当てマネージド ID を保持しながら、仮想マシン スケール セットに複数のユーザー割り当てマネージド ID を追加する方法を示す手順 5 にスキップします。

    次の例では、myResourceGroup リソース グループ内の myVMSS という仮想マシン スケール セットに、ユーザー割り当てマネージド ID ID1 を割り当てます。 <ACCESS TOKEN> は前の手順で Bearer アクセス トークンを要求したときに受け取った値に置き換え、<SUBSCRIPTION ID> 値はご利用の環境に合わせて置き換えます。

    API バージョン 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-12-01 HTTP/1.1
    

    要求ヘッダー

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

    要求本文

     {
        "identity":{
           "type":"userAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              }
           }
        }
     }
    

    API バージョン 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    要求ヘッダー

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

    要求本文

     {
        "identity":{
           "type":"userAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    
  5. 仮想マシン スケール セットに既存のユーザー割り当てマネージド ID またはシステム割り当てマネージド ID が割り当てられている場合:

    API バージョン 2018-06-01

    ユーザー割り当てマネージド ID を userAssignedIdentities ディクショナリ値に追加します。

    たとえば、現在、仮想マシン スケールにシステム割り当てマネージド ID とユーザー割り当てマネージド ID ID1 が割り当てられており、これにユーザー割り当てマネージド ID ID2 を追加する場合は、次のようにします。

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    要求ヘッダー

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

    要求本文

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              },
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{
    
              }
           }
        }
     }
    

    API バージョン 2017-12-01

    新しいユーザー割り当てマネージド ID を追加する一方で、identityIds 配列値に維持するユーザー割り当てマネージド ID を保持します。

    たとえば、現在、仮想マシン スケール セットにシステム割り当て ID とユーザー割り当てマネージド ID ID1 が割り当てられており、これにユーザー割り当てマネージド ID ID2 を追加する場合は、次のようにします。

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    要求ヘッダー

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

    要求本文

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1",
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"
           ]
        }
     }
    

仮想マシン スケール セットからユーザー割り当てマネージド ID を削除する

  1. Bearer アクセス トークンを取得します。このトークンは、次の手順で、Authorization ヘッダーでシステム割り当てマネージド ID を使用して仮想マシン スケール セットを作成するときに使用します。

    az account get-access-token
    
  2. 仮想マシン スケール セットに割り当てたままにする既存のユーザー割り当てマネージド ID を削除しない、またはシステム割り当てマネージド ID を削除しないようにするには、次の CURL コマンドを使用して、マネージド ID を一覧表示する必要があります。

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>" 
    
    GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
    

    要求ヘッダー

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

    VM にマネージド ID が割り当てられている場合、応答の identity 値に一覧表示されます。

    たとえば、ユーザー割り当てマネージド ID ID1ID2 が仮想マシン スケール セットに割り当てられており、ID1 を割り当てられたままにしてシステム割り当てマネージド ID を保持する場合:

    API バージョン 2018-06-01

    次のように、削除するユーザー割り当てマネージド ID に null を追加します。

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    要求ヘッダー

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

    要求本文

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null
           }
        }
     }
    

    API バージョン 2017-12-01

    次のように、identityIds 配列に維持するユーザー割り当てマネージド ID のみを保持します。

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    要求ヘッダー

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

    要求本文

     {
        "identity":{
           "type":"SystemAssigned,UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    

仮想マシン スケール セットにシステム割り当てマネージド ID とユーザー割り当てマネージド ID の両方がある場合は、次のコマンドを使用してシステム割り当てマネージド ID のみを使用するように切り替えることによって、すべてのユーザー割り当てマネージド ID を削除できます。

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1

要求ヘッダー

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

要求本文

{
   "identity":{
      "type":"SystemAssigned"
   }
}

仮想マシン スケール セットにユーザー割り当てマネージド ID のみがあり、そのすべてを削除する場合は、次のコマンドを使用します。

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1

要求ヘッダー

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

要求本文

{
   "identity":{
      "type":"None"
   }
}

次のステップ

REST を使用してユーザー割り当てマネージド ID を作成、一覧表示、削除する方法については、以下を参照してください。