サービスプリンシパル

 Azure テナントにサービスプリンシパルを作成します。 今回は、Cloud ShellからCLIを利用して作成します。 Azureポータルにログインしてから画面上部のCloud Shellのアイコンをクリックしてください。

Cloud Shell

 Cloud Shellが起動したら、画面下部にShellが表示されます。以下のコマンドを実行してください。$NAMEには任意のサービスプリンシパル名を入力してください。 シークレットの有効期限は、最大で9999年まで指定できます。

az ad sp create-for-rbac --name $NAME --years $((9999 - $(date "+%Y")))

 実行すると、以下のようなJSONが表示されます。これをメモしておいてください。

{
  "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "displayName": "xxxxxxxx",
  "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

 サービスプリンシパルに対してAzure Virtual Machineのネットワーク共同作成者を付与します。 引き続きCloud Shellから以下のコマンドを実行してください。$APP_IDには先ほどメモしたappIdを入力してください。$VM_IDにはアクセス許可を付与するVMのIDを入力してください。

az role assignment create --assignee $APP_ID --role "ネットワーク共同作成者" --scope $VM_ID

参考

更新履歴