🔐

ブラウザ認証をスキップし、CLIでAzureにログインする方法

2022/09/14に公開

CLIでAzureにログインするとき、ブラウザでアカウントを選択する必要があります。
ログイン時にブラウザ認証が必要
手動で作業しているときは特に問題ないのですが、PipelineTerraformnull_resouceで実行するときには面倒のため、自動でログインできるようにしたいと思います。

ブラウザ認証をスキップしログインする方法として

  • サービスプリンシパルを利用したログイン方法
  • マネージドIDを利用したログイン方法

上記2種類の方法でログインすることができます。
今回はaz commandAzModuleの両方でログインできる方法を紹介します。

az login

az login --service-principal --username <sp_id> --password <sp_secret> --tenant <tenant_id>

Connect-AzAccount

$ApplicationId = <sp_id>
$SecuredPassword = ConvertTo-SecureString <sp_secret> -AsPlainText -Force
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $ApplicationId, $SecuredPassword
$TenantId = <tenant_id>
Connect-AzAccount -ServicePrincipal -TenantId $TenantId -Credential $Credential

マネージドIDでログイン

VM(Automation, Functionsなど)に割り振られたマネージドIDでログインします。

az login --identity
Connect-AzAccount -Identity

注意: マネージドIDに適切なロールが割り振られていない場合、VM内での処理中に権限不足によるエラーが発生するためロールの割り当てをしっかりしてあげましょう。

GitHubで編集を提案

Discussion