Microsoft Defender 外部攻撃面管理 (Defender EASM) リソースに対して行われるすべての REST API 呼び出しには、有効な Azure AD ベアラー トークンを含む Authorization ヘッダーが含まれている必要があります。 このトークンは、呼び出し元が誰であるか、リソース内でアクセスできる内容を決定するために使用されます。 トークンは、対話型のユーザー認証フローまたはクライアント サービス プリンシパルを介して生成できます。
ユーザー認証フロー
ユーザー認証シナリオは、テストと開発の目的で役立ちますが、特定のスクリプト シナリオでは実現できない場合があります。 ユーザー認証を使用してトークンを生成するには、ブラウザーによるログインを含む対話型フローが必要です。 すべてのアクションは、Azure Command-Line インターフェイス (CLI) の使用を前提としています。
テナントにログインします。 この手順では、適切なログイン手順を実行するために Web ブラウザーが起動します。
az login --tenant <tenant id>適切なリソース スコープに関連付けられたトークンを生成します。 このトークンは、認証ヘッダー内で使用されます。
コントロール プレーンaz account get-access-tokenデータ プレーン
az account get-access-token --scope 'https://easm.defender.microsoft.com/.default'
クライアント サービス プリンシパル
クライアント サービス プリンシパル シナリオは、"オンデマンド" トークン生成を必要とするバックグラウンド プロセス (スクリプトなど) に役立ちます。 クライアント サービス プリンシパルを介してトークンを生成するには、関連付けられているクライアント シークレットと適切なサブスクリプション アクセス制御にアプリケーションを登録する必要があります。
- ポータルの [アプリの登録] セクションを使用してアプリケーションを作成します。
- [ 証明書とシークレット ] セクションで、[ 新しいクライアント シークレット] をクリックし、必要な情報を入力してシークレットを生成します。 セクションを離れると使用できなくなるため、生成された値を必ずコピーしてください。
- プリンシパルが使用されるサブスクリプションを開きます。
- [Access Control (IAM)] セクションで、[追加] -> [ロールの割り当ての追加] をクリックします。
- 共同作成者ロールを選択し、[次へ] をクリックします。
- [ メンバーの選択] をクリックし、手順 1 で登録されているアプリを検索し、アプリを選択して、[ 選択] をクリックします。
- [ 次へ] をクリックし、情報を確認して正しいことを確認し、[ 確認と割り当て] をクリックします。
アプリケーションが設定されると、クライアント (アプリケーション) ID とシークレットを使用して、関連付けられたトークンが生成される可能性があります。 すべてのアクションは、Azure Command-Line インターフェイス (CLI) の使用を前提としています。
サービス プリンシパルにログインします。
az login --service-principal -u <client id> -p <client secret> --tenant <tenant id>適切なリソース スコープに関連付けられたトークンを生成します。 このトークンは、認証ヘッダー内で使用されます。
コントロール プレーンaz account get-access-tokenデータ プレーン
az account get-access-token --scope 'https://easm.defender.microsoft.com/.default'