Defender EASM REST API の認証

Microsoft Defender 外部攻撃面管理 (Defender EASM) リソースに対して行われるすべての REST API 呼び出しには、有効な Azure AD ベアラー トークンを含む Authorization ヘッダーが含まれている必要があります。 このトークンは、呼び出し元が誰であるか、リソース内でアクセスできる内容を決定するために使用されます。 トークンは、対話型のユーザー認証フローまたはクライアント サービス プリンシパルを介して生成できます。

ユーザー認証フロー

ユーザー認証シナリオは、テストと開発の目的で役立ちますが、特定のスクリプト シナリオでは実現できない場合があります。 ユーザー認証を使用してトークンを生成するには、ブラウザーによるログインを含む対話型フローが必要です。 すべてのアクションは、Azure Command-Line インターフェイス (CLI) の使用を前提としています。

  1. テナントにログインします。 この手順では、適切なログイン手順を実行するために Web ブラウザーが起動します。

    az login --tenant <tenant id>
    
  2. 適切なリソース スコープに関連付けられたトークンを生成します。 このトークンは、認証ヘッダー内で使用されます。

    コントロール プレーン

    az account get-access-token
    

    データ プレーン

    az account get-access-token --scope 'https://easm.defender.microsoft.com/.default'
    

クライアント サービス プリンシパル

クライアント サービス プリンシパル シナリオは、"オンデマンド" トークン生成を必要とするバックグラウンド プロセス (スクリプトなど) に役立ちます。 クライアント サービス プリンシパルを介してトークンを生成するには、関連付けられているクライアント シークレットと適切なサブスクリプション アクセス制御にアプリケーションを登録する必要があります。

  1. ポータルの [アプリの登録] セクションを使用してアプリケーションを作成します。
  2. [ 証明書とシークレット ] セクションで、[ 新しいクライアント シークレット] をクリックし、必要な情報を入力してシークレットを生成します。 セクションを離れると使用できなくなるため、生成された値を必ずコピーしてください。
  3. プリンシパルが使用されるサブスクリプションを開きます。
  4. [Access Control (IAM)] セクションで、[追加] -> [ロールの割り当ての追加] をクリックします。
  5. 共同作成者ロールを選択し、[次へ] をクリックします。
  6. [ メンバーの選択] をクリックし、手順 1 で登録されているアプリを検索し、アプリを選択して、[ 選択] をクリックします。
  7. [ 次へ] をクリックし、情報を確認して正しいことを確認し、[ 確認と割り当て] をクリックします。

アプリケーションが設定されると、クライアント (アプリケーション) ID とシークレットを使用して、関連付けられたトークンが生成される可能性があります。 すべてのアクションは、Azure Command-Line インターフェイス (CLI) の使用を前提としています。

  1. サービス プリンシパルにログインします。

    az login --service-principal -u <client id> -p <client secret> --tenant <tenant id>
    
  2. 適切なリソース スコープに関連付けられたトークンを生成します。 このトークンは、認証ヘッダー内で使用されます。

    コントロール プレーン

    az account get-access-token
    

    データ プレーン

    az account get-access-token --scope 'https://easm.defender.microsoft.com/.default'