このページの本文へ

FIXER cloud.config Tech Blog

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

2022年10月06日 10時00分更新

文● 西村 凌/FIXER

  • この記事をはてなブックマークに追加
  • 本文印刷

 本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「ブラウザ認証をスキップし、CLIでAzureにログインする方法」を再編集したものです。

 新卒ぴよぴよインフラエンジニアの西村です。

 今回はaz commandAzModuleでAzureにログインするときに必要なブラウザ認証をスキップし、自動でログインできる方法をご紹介したいと思います。

CLIでAzureにログインする時のブラウザ認証画面

 ブラウザ認証はPipelineTerraformなどプログラムで実行するときに面倒のため、サービスプリンシパルやマネージドIDの情報を活用しログインしたいと思います。

az login

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

 引数として

・sp_id: サービスプリンシパルのアプリケーションID
・sp_secret: サービスプリンシパルのシークレット
・tenant_id: ログイン先のテナントID

 上記3つの引数で実行することにより、サービスプリンシパルの情報をもとに対象のテナントにログインします。

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>

 引数として

・sp_id: サービスプリンシパルのアプリケーションID
・sp_secret: サービスプリンシパルのシークレット
・tenant_id: ログイン先のテナントID

 上記3つの引数で実行することにより、サービスプリンシパルの情報をもとに対象のテナントにログインします。

マネージドIDでログイン

 マネージドIDは上記2つのログインとは異なり、VM(Automation, Functionsなど)内のみ対応しています。

az login --identity
Connect-AzAccount -Identity

 引数として

・–identity

 を指定し実行することにより、マネージドIDの情報をもとにAzureにアクセスします。

最後に

 今回はCLIでAzureを操作するとき、一度は実行するログイン関連の小技を紹介しました。

 Azureは様々なコマンドを提供しているため、面白そうなコマンドを見つけたらまた紹介したいと思います。

西村 凌/FIXER
インフラエンジニア1年生

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

カテゴリートップへ