Azure CLI を使用して、リソースにマネージド ID アクセスを割り当てる

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

マネージド ID で Azure リソースを構成した後、他のセキュリティ プリンシパルと同じように、別のリソースにマネージド ID アクセスを付与できます。 この例では、Azure CLI を使用して、Azure 仮想マシンまたは仮想マシン スケール セットのマネージド ID アクセスを Azure ストレージ アカウントに付与する方法について説明します。

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

前提条件

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

Azure RBAC を使用して他のリソースにマネージド ID アクセスを割り当てる

Azure 仮想マシンAzure 仮想マシン スケール セットなどの Azure リソースでマネージド ID を有効にした後、次の手順を実行します。

  1. この例では、ストレージ アカウントに Azure 仮想マシン アクセスを許可します。 まず、az resource list を使用して myVM という仮想マシンのサービス プリンシパルを取得します。

    spID=$(az resource list -n myVM --query [*].identity.principalId --out tsv)
    

    Azure 仮想マシン スケール セットについてもコマンドはほぼ同じですが、ここでは、"DevTestVMSS" という名前の仮想マシン スケール セットのサービス プリンシパルを取得します。

    spID=$(az resource list -n DevTestVMSS --query [*].identity.principalId --out tsv)
    
  2. サービス プリンシパル ID を作成したら、az role assignment create を使用して、"myStorageAcct" というストレージ アカウントに、仮想マシンまたは仮想マシン スケール セットの "閲覧者" アクセスを付与します。

    az role assignment create --assignee $spID --role 'Reader' --scope /subscriptions/<mySubscriptionID>/resourceGroups/<myResourceGroup>/providers/Microsoft.Storage/storageAccounts/myStorageAcct
    

次のステップ