Azureのサービスプリンシパル作成手順

2020-09-22Active Directory,Azure,DataDog,Others,Zabbix

Azure Portalでのサービスプリンシパル作成から権限割り当てまでの手順の紹介です。

Datadogなどの監視サービスやZabbixなどの監視ソフトを利用してAzureのリソース監視をする事ができます。
Azureリソースの情報を取得するために、サービスプリンシパルを利用したAzure認証が必要になる事があります。

今回は、監視サービスや監視ソフトからAzureのリソースを監視を行う事を想定して、サービスプリンシパルの作成手順を確認します。
Microsoft Entra IDでのアプリケーション登録、クライアントシークレット作成、ロール割り当てまでの手順を確認しています。

スポンサーリンク

Azure Portalでサービスプリンシパルを作成

公式サイトの手順を参考に進めます。

Microsoft Entra アプリを登録し、サービス プリンシパルを作成する

アプリケーションの登録

Microsoft Entra IDでZabbixが利用するアプリケーションを新規登録します。
アプリケーション名はZabbixとしています。

アプリケーションの新規登録
Microsoft Entra IDの左側のメニューでアプリの登録を選択します。 Microsoft Entra IDでアプリの新規登録(サービスプリンシパル作成)

アプリケーションの登録画面です。
名前、サポートされているアカウントの種類を選択します。

※単一のAzureのサブスクリプションへアクセスする想定としているため、この組織ディレクトリのみに含まれるアカウントを選択しています。

Microsoft Entra IDでZabbixが利用するアプリケーションの登録(サービスプリンシパル作成)

※画面はZabbixを想定した場合の例です。Datadogの場合はリダイレクトURIや名前をDatadog用に変更します。

クライアントシークレットを追加

クライアントシークレットを作成します。
シークレットの有効期限も指定できます。
今回は180日としています。

クライアントシークレットの登録
アプリの登録で作成したアプリケーションを選択します。 Microsoft Entra IDで登録したZabbixのアプリケーション(サービスプリンシパル作成)

左側のメニューで"証明書とシークレット"を選択します。
新しいクライアントシークレットを選択します。
クライアントシークレットの追加画面が表示されます。
説明と有効期限を設定し、クライアントシークレットを追加します。

追加が終わると、シークレット値が発行されます。

登録したZabbixのアプリケーションで新しいクライアントシークレットの作成(サービスプリンシパル作成)
クライアントシークレットの有効期限を設定して追加(サービスプリンシパル作成)
作成したクライアントシークレット(サービスプリンシパル作成)

※画面はZabbixを想定した場合の例です。シークレット名は監視サービスや監視ソフトに合わせて分かりやすく設定します。

サービスプリンシパルにロールを割り当て

サービスプリンシパルへロールを割り当てます。
今回は監視対象のリソースがあるリソースグループに監視閲覧者のロールを割り当ててます。

※監視対象や監視サービスに合わせて権限の割り当て先をサブスクリプションなどに変えます。

アクセス制御の設定
左側のメニューでアクセス制御(IAM)を選択します。
ロールの割り当ての追加を選択します。

サービスプリンシパルへの権限割り当て
ロールの割り当て追加です。
職務ロールのタブで監視閲覧者を選択します。
サービスプリンシパルに監視閲覧者の権限を割り当て
アクセスの割り当て先でサービスプリンシパルを選択します。
メンバーは先ほど作成したサービスプリンシパルを指定します。
アクセスの割り当て先に作成したサービスプリンシパルを選択
サービスプリンシパルのメンバー追加例
割り当て内容を確認します。
レビューと割り当てを選択します。
サービスプリンシパルにロールの割り当てを追加

アプリケーション(クライアント)IDなどの確認方法

監視サービスや監視ソフトで設定する場合に、アプリケーション(クライアント)IDやディレクトリ(テナント)IDなどを利用する事があります。
設定する値はAzure Portalで確認できます。

但し、クライアント シークレット値はシークレット作成直後しか確認できません。
必ず作成時にコピーするようにします。

サービスプリンシパルの値
Azure Portalでもサービスプリンシパルを利用する際に必要な値を確認できます。 サービスプリンシパルのアプリケーション(クライアントID)などの値を確認(サービスプリンシパル作成)
作成したクライアントシークレット(サービスプリンシパル作成)

—広告—

最後に

今回はサービスプリンシパルの作成手順について確認してみました。
ZabbixやDatadogでのサービスプリンシパルを使った認証設定手順についても確認しています。
併せて見て頂けると有難いです。

ZabbixでAzureのリソース情報の取得、監視手順についてはこちらの記事で紹介しています。

サービスプリンシパルを利用した、DatadogとAzure接続手順はこちらで紹介しています。

スポンサーリンク