JavaScriptを有効にしてください

サービス プリンシパルを使って Azure Arc を有効化し隊

 ·   4 分で読めます  ·   Kento

今回はサービス プリンシパルを使用して、効率的にマシンをオンボードする方法を説明します
ハイブリッド マシンを大規模に Azure に接続する - Azure Arc | Microsoft Learn

サービス プリンシパルとは

サービス プリンシパルは、Azure リソースに対するアクセス許可を持つ管理用 ID です
ID というとユーザーをイメージするかもしれませんが、アプリケーションに付与する ID のことをサービス プリンシパルと呼んでいます
ユーザー ID と同様に サービス プリンシパルには、必要なアクセス許可のみを付与することができます
そのため、セキュリティのベスト プラクティスに従って最小限の権限の付与をすることができます

サービス プリンシパルを使った Arc 登録の使いどころ

サーバーの管理者 ≠ Azure 管理者 の場合にサービス プリンシパルを使った方法は便利です

以前に書いた Azure Arc 対応サーバーのデモ環境を作り隊 – クラウドを勉強し隊 の記事ではスクリプトの実行ごとに認証の必要がありました
そのためサーバーにログインし、スクリプトを実行する人が適切な Azure RBAC を持っていないとスクリプトの実行が完了できません
この場合に最低限の資格情報を含むスクリプトを提供できるサービス プリンシパルの方法が便利です

ざっくり手順

  1. サービス プリンシパルの作成
  2. Azure Connected Machine エージェントのインストール スクリプトの生成
  3. スクリプトの実行

1. サービス プリンシパルの作成

Azure Portal から Azure Arc を検索します
[サービス プリンシパル] のメニューを選択してサービス プリンシパルを作成します

portal01
サービス プリンシパルの作成: 01

権限を付与するスコープ、期限、ロール (権限内容) を選択して、作成します

今回は以下の内容にしました

項目 内容
スコープ リソース グループ
期限 1日
ロール Azure Connected Machine のオンボード

portal02
サービス プリンシパルの作成: 02

portal03
サービス プリンシパルの作成: 03

作成の完了後、忘れずに ID とシークレットをダウンロードしておきます

portal04
サービス プリンシパルの作成: 04

2. Azure Connected Machine エージェントのインストール スクリプトの生成

Azure Portal からインストール スクリプトを生成します
インストール スクリプトは、Connected Machine エージェントをインストールし、Azure に接続するために必要なコマンドを含みます

Azure Portal で、Azure Arc に移動してから、左側のメニューの [マシン] を選択します
[追加/作成] を選択してから、[マシンの追加] を選択します

portal04
インストール スクリプトの生成: 01

複数のサーバーの追加の [スクリプトの生成] を選択し、画面に従って必要な情報を入力します
サービス プリンシパルでは1つ前の手順で作成したものを選択します

portal04
インストール スクリプトの生成: 02

portal04
インストール スクリプトの生成: 03

3. スクリプトの実行

スクリプトの作成完了後、ダウンロードして、シークレットをメモした値に置き換えます
置き換えたものを Azure Arc に登録するサーバーで実行します

portal04
インストール スクリプトの実行: 01

portal04
インストール スクリプトの実行: 02

インストールが完了すると Azure Portal 上で確認ができます

portal04
インストール スクリプトの実行: 03

まとめ

サービス プリンシパルを使って Azure Arc の有効化をしました
スクリプトの実行時に資格情報を入力する必要がないので大規模展開で非常に有効です

サービス プリンシパルの有効期限を設定することで仮にスクリプトが外部に漏れた場合のリスクも抑えることができます

参考

共有

Kento
著者
Kento
2020年に新卒で IT 企業に入社. インフラエンジニア(主にクラウド)として活動中