Microsoft Azure AD コンテキスト ログを収集する

以下でサポートされています。

このドキュメントでは、Google Security Operations フィードを設定して Microsoft Azure Active Directory(AD)のログを収集する方法について説明します。

Azure Active Directory(AZURE_AD)は Microsoft Entra ID に名称が変更されました。Azure AD 監査ログ(AZURE_AD_AUDIT)が Microsoft Entra ID 監査ログになりました。

詳細については、Google Security Operations へのデータの取り込みの概要をご覧ください。

取り込みラベルによって、未加工のログデータを構造化 UDM 形式に正規化するパーサーが識別されます。

始める前に

このページのタスクを完了するには、次のものが必要です。

  • ログインできる Azure サブスクリプション。
  • グローバル管理者または Azure AD 管理者のロール。
  • Azure の Azure AD(テナント)。

Azure AD を構成する

  1. Azure ポータルにログインします。
  2. [ホーム] > [アプリの登録] に移動し、登録済みのアプリを選択するか、まだアプリを作成していない場合はアプリを登録します。
  3. アプリケーションを登録するには、[アプリの登録] セクションで [新しい登録] をクリックします。
  4. [名前] フィールドに、アプリケーションの表示名を入力します。
  5. [サポートされているアカウントの種類] セクションで、必要なオプションを選択して、アプリケーションを使用できるユーザーまたは API にアクセスできるユーザーを指定します。
  6. [Register] をクリックします。
  7. [概要] ページに移動し、Google Security Operations フィードの構成に必要なアプリケーション(クライアント)ID とディレクトリ(テナント)ID をコピーします。
  8. [API 権限] をクリックします。
  9. [アクセス許可を追加] をクリックし、新しいペインで [Microsoft Graph] を選択します。
  10. [アプリケーションのアクセス許可] をクリックします。
  11. AuditLog.Read.AllDirectory.Read.AllSecurityEvents.Read.All 権限を選択します。権限が委任された権限ではなく、アプリの権限であることを確認します。
  12. [デフォルト ディレクトリへの管理者の同意を付与] をクリックします。同意プロセスの一環としてユーザーまたは管理者から権限が付与された場合、アプリは API を呼び出す権限を付与されます。
  13. [設定] > [管理] に移動します。
  14. [証明書とシークレット] をクリックします。
  15. [新しいクライアント シークレット] をクリックします。[] フィールドにクライアント シークレットが表示されます。
  16. クライアント シークレットの値をコピーします。この値は作成時にのみ表示され、Azure アプリの登録と Google Security Operations フィードの構成に必要です。

Azure AD コンテキスト ログを取り込むように Google Security Operations でフィードを構成する

  1. [SIEM 設定] > [フィード] を選択します。
  2. [新しく追加] をクリックします。
  3. [フィード名] に固有の名前を入力します。
  4. [ソースタイプ] として [サードパーティ API] を選択します。
  5. [ログタイプ] で [Azure AD 組織コンテキスト] を選択します。
  6. [次へ] をクリックします。
  7. 次の必須入力パラメータを構成します。
    • OAUTH クライアント ID: 前の手順で取得したクライアント ID を指定します。
    • OAUTH クライアント シークレット: 前の手順で取得したクライアント シークレットを指定します。
    • テナント ID: 前の手順で取得したテナント ID を指定します。
  8. [次へ] をクリックし、[送信] をクリックします。

Google Security Operations フィードの詳細については、Google Security Operations フィードのドキュメントをご覧ください。各フィードタイプの要件については、タイプ別のフィード構成をご覧ください。 フィードの作成時に問題が発生した場合は、Google Security Operations サポートにお問い合わせください。

フィールド マッピング リファレンス

このパーサーコードは、Azure Active Directory の未加工の JSON 形式のログを統合データモデル(UDM)に変換します。属性、ロール、関係、ラベルなどのユーザーとマネージャーの情報を抽出しながら、さまざまなデータの不整合を処理し、標準化されたフィールドで出力を拡充します。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
businessPhones user.phone_numbers 未加工ログの businessPhones フィールドから直接マッピングされます。複数の電話番号が抽出され、個別のエントリとしてマッピングされます。
city user.personal_address.city 未加工ログの city フィールドから直接マッピングされます。
companyName user.company_name 未加工ログの companyName フィールドから直接マッピングされます。
country user.personal_address.country_or_region 未加工ログの country フィールドから直接マッピングされます。country が空の場合、値は usageLocation から取得されます。
createdDateTime user.attribute.creation_time RFC3339 形式を使用して、元のログの createdDateTime フィールドからタイムスタンプに変換されます。
department user.department 未加工ログの department フィールドから直接マッピングされます。複数の部署が抽出され、個別のエントリとしてマッピングされます。
displayName user.user_display_name 未加工ログの displayName フィールドから直接マッピングされます。
employeeId user.employee_id 未加工ログの employeeId フィールドから直接マッピングされます。employeeId が空の場合、値は extension_employeeNumber から取得されます。
employeeType user.attribute.labels.value(キー: employeeType) 元のログの employeeType フィールドから直接マッピングされ、キー employeeType を持つラベルとして追加されます。
extension_employeeNumber user.employee_id employeeId が空の場合、user.employee_id にマッピングされます。
extension_wfc_AccountType event.idm.entity.entity.labels.value(キー: wfc_AccountType) 元のログの extension_wfc_AccountType フィールドから直接マッピングされ、キー wfc_AccountType を持つラベルとして追加されます。
extension_wfc_AccountingUnitName event.idm.entity.entity.labels.value(キー: extension_wfc_AccountingUnitName) 元のログの extension_wfc_AccountingUnitName フィールドから直接マッピングされ、キー extension_wfc_AccountingUnitName を持つラベルとして追加されます。
extension_wfc_execDescription event.idm.entity.entity.labels.value(キー: extension_wfc_execDescription) 元のログの extension_wfc_execDescription フィールドから直接マッピングされ、キー extension_wfc_execDescription を持つラベルとして追加されます。
extension_wfc_groupDescription event.idm.entity.entity.labels.value(キー: extension_wfc_groupDescription) 元のログの extension_wfc_groupDescription フィールドから直接マッピングされ、キー extension_wfc_groupDescription を持つラベルとして追加されます。
extension_wfc_orgDescription event.idm.entity.entity.labels.value(キー: extension_wfc_orgDescription) 元のログの extension_wfc_orgDescription フィールドから直接マッピングされ、キー extension_wfc_orgDescription を持つラベルとして追加されます。
givenName user.first_name 未加工ログの givenName フィールドから直接マッピングされます。
gopher-devices event.idm.entity.relations gopher-devices 配列内の各デバイスは、個別の関係エントリにマッピングされます。deviceIdproduct_object_id にマッピングされ、operatingSystemoperatingSystemVersion が結合されて platform_version が形成され、model は直接マッピングされ、createdDateTime はタイムスタンプに変換されて created_timestamp にマッピングされます。関係は OWNS に設定され、方向は UNIDIRECTIONAL に設定されます。
gopher-groups event.idm.entity.relations gopher-groups 配列内の各グループは、個別の関係エントリにマッピングされます。idproduct_object_id にマッピングされ、displayNamegroup_display_name にマッピングされます。関係は MEMBER に設定され、方向は UNIDIRECTIONAL に設定されます。
gopher-manager.businessPhones empmanager.phone_numbers manager が空の場合、empmanager.phone_numbers にマッピングされます。
gopher-manager.country empmanager.personal_address.country_or_region manager が空の場合、empmanager.personal_address.country_or_region にマッピングされます。gopher-manager.countrygopher-manager.usageLocation の両方が空の場合、フィールドは空のままになります。
gopher-manager.department empmanager.department manager が空の場合、empmanager.department にマッピングされます。
gopher-manager.displayName empmanager.user_display_name manager が空の場合、empmanager.user_display_name にマッピングされます。
gopher-manager.employeeId empmanager.employee_id manager が空で gopher-manager.employeeId が空でない場合、empmanager.employee_id にマッピングされます。
gopher-manager.extension_employeeNumber empmanager.employee_id managergopher-manager.employeeId が空で、gopher-manager.extension_employeeNumber が空でない場合、empmanager.employee_id にマッピングされます。
gopher-manager.givenName empmanager.first_name manager が空の場合、empmanager.first_name にマッピングされます。
gopher-manager.id empmanager.product_object_id manager が空の場合、empmanager.product_object_id にマッピングされます。
gopher-manager.jobTitle empmanager.title manager が空の場合、empmanager.title にマッピングされます。
gopher-manager.mail empmanager.email_addresses manager が空の場合、empmanager.email_addresses にマッピングされます。
gopher-manager.onPremisesImmutableId user.attribute.labels.value(キー: gopher-manager onPremisesImmutableId) キー gopher-manager onPremisesImmutableId を持つラベルとしてマッピングされます。
gopher-manager.onPremisesSamAccountName empmanager.userid manager が空の場合、empmanager.userid にマッピングされます。
gopher-manager.onPremisesSecurityIdentifier empmanager.windows_sid manager が空の場合、empmanager.windows_sid にマッピングされます。
gopher-manager.proxyAddresses empmanager.email_addresses、empmanager.group_identifiers manager が空の場合、gopher-manager.proxyAddresses 配列内の各アドレスは、先頭が「smtp」か「SMTP」かに基づいて、empmanager.email_addresses または empmanager.group_identifiers のいずれかにマッピングされます。
gopher-manager.refreshTokensValidFromDateTime empmanager.attribute.labels.value(キー: refreshTokensValidFromDateTime) manager が空の場合、キー refreshTokensValidFromDateTime を持つラベルとしてマッピングされます。
gopher-manager.streetAddress empmanager.personal_address.name manager が空の場合、empmanager.personal_address.name にマッピングされます。
gopher-manager.surname empmanager.last_name manager が空の場合、empmanager.last_name にマッピングされます。
gopher-manager.usageLocation user.attribute.labels.value(キー: manager_src_usageLocation) キー manager_src_usageLocation を持つラベルとしてマッピングされます。
gopher-manager.userType empmanager.attribute.roles.name manager が空の場合、empmanager.attribute.roles.name にマッピングされます。
id user.product_object_id 未加工ログの id フィールドから直接マッピングされます。
identities user.attribute.labels.value(キー: signInType)、user.attribute.labels.value(キー: userPrincipalName) signInType は、キー signInType を持つラベルとしてマッピングされます。signInTypeuserPrincipalName が空でない場合、それらは結合され、キー userPrincipalName を持つラベルとしてマッピングされます。
jobTitle user.title 未加工ログの jobTitle フィールドから直接マッピングされます。
mail user.email_addresses 未加工ログの mail フィールドから直接マッピングされます。mail が「svc-」で始まる場合、user_role.typeSERVICE_ACCOUNT に設定されます。
mailNickname user.attribute.labels.value(キー: mailNickname) 元のログの mailNickname フィールドから直接マッピングされ、キー mailNickname を持つラベルとして追加されます。
manager.businessPhones empmanager.phone_numbers gopher-manager が空の場合、empmanager.phone_numbers にマッピングされます。
manager.city empmanager.personal_address.city gopher-manager が空の場合、empmanager.personal_address.city にマッピングされます。
manager.companyName empmanager.company_name gopher-manager が空の場合、empmanager.company_name にマッピングされます。
manager.country empmanager.personal_address.country_or_region gopher-manager が空の場合、empmanager.personal_address.country_or_region にマッピングされます。manager.countrymanager.usageLocation の両方が空の場合、フィールドは空のままになります。
manager.department empmanager.department gopher-manager が空の場合、empmanager.department にマッピングされます。
manager.displayName empmanager.user_display_name gopher-manager が空の場合、empmanager.user_display_name にマッピングされます。
manager.employeeId empmanager.employee_id gopher-manager が空で manager.employeeId が空でない場合、empmanager.employee_id にマッピングされます。
manager.extension_employeeNumber empmanager.employee_id gopher-managermanager.employeeId が空で、manager.extension_employeeNumber が空でない場合、empmanager.employee_id にマッピングされます。
manager.givenName empmanager.first_name gopher-manager が空の場合、empmanager.first_name にマッピングされます。
manager.id empmanager.product_object_id gopher-manager が空の場合、empmanager.product_object_id にマッピングされます。
manager.jobTitle empmanager.title gopher-manager が空の場合、empmanager.title にマッピングされます。
manager.mail empmanager.email_addresses gopher-manager が空の場合、empmanager.email_addresses にマッピングされます。
manager.onPremisesSamAccountName empmanager.userid gopher-manager が空の場合、empmanager.userid にマッピングされます。
manager.onPremisesSecurityIdentifier empmanager.windows_sid gopher-manager が空の場合、empmanager.windows_sid にマッピングされます。
manager.proxyAddresses empmanager.email_addresses、empmanager.group_identifiers gopher-manager が空の場合、manager.proxyAddresses 配列内の各アドレスは、先頭が「smtp」か「SMTP」かに基づいて、empmanager.email_addresses または empmanager.group_identifiers にマッピングされます。
manager.refreshTokensValidFromDateTime empmanager.attribute.labels.value(キー: refreshTokensValidFromDateTime) gopher-manager が空の場合、キー refreshTokensValidFromDateTime を持つラベルとしてマッピングされます。
manager.state empmanager.personal_address.state gopher-manager が空の場合、empmanager.personal_address.state にマッピングされます。
manager.streetAddress empmanager.personal_address.name gopher-manager が空の場合、empmanager.personal_address.name にマッピングされます。
manager.surname empmanager.last_name gopher-manager が空の場合、empmanager.last_name にマッピングされます。
manager.usageLocation user.attribute.labels.value(キー: manager_src_usageLocation)、empmanager.personal_address.country_or_region キー manager_src_usageLocation を持つラベルとしてマッピングされます。manager.country が空の場合、値は empmanager.personal_address.country_or_region にもマッピングされます。
manager.userType empmanager.attribute.roles.name gopher-manager が空の場合、empmanager.attribute.roles.name にマッピングされます。
onPremisesDistinguishedName user.attribute.labels.value(キー: onPremisesDistinguishedName)、user.attribute.labels.value(キー: onPremisesDistinguishedName-OU データ) 完全な識別名は、キー onPremisesDistinguishedName を持つラベルとしてマッピングされます。識別名の OU 部分が抽出され、キー onPremisesDistinguishedName-OU data を持つラベルとしてマッピングされます。OU の部分に「Admin」が含まれている場合、user_role.typeADMINISTRATOR に設定されます。「Service Accounts」が含まれている場合、user_role.typeSERVICE_ACCOUNT に設定されます。
onPremisesDomainName user.group_identifiers、user.attribute.labels.value(キー: onPremisesDomainName) user.group_identifiers に直接マッピングされ、キー onPremisesDomainName を持つラベルとして追加されます。
onPremisesImmutableId user.attribute.labels.value(キー: onPremisesImmutableId) 元のログの onPremisesImmutableId フィールドから直接マッピングされ、キー onPremisesImmutableId を持つラベルとして追加されます。
onPremisesSamAccountName user.userid、user.attribute.labels.value(キー: onPremisesSamAccountName) sAMAccountName が空の場合、user.userid にマッピングされます。キー onPremisesSamAccountName を持つラベルとして追加されます。
onPremisesSecurityIdentifier user.windows_sid 未加工ログの onPremisesSecurityIdentifier フィールドから直接マッピングされます。
proxyAddresses user.email_addresses、user.group_identifiers proxyAddresses 配列内の各アドレスは、先頭が「smtp」か「SMTP」かに基づいて、user.email_addresses または user.group_identifiers にマッピングされます。アドレスが「smtp」または「SMTP」で始まる場合は、「smtp:」または「SMTP:」接頭辞が削除され、残りのメールアドレスが抽出されて user.email_addresses にマッピングされます。
refreshTokensValidFromDateTime user.attribute.labels.value(キー: refreshTokensValidFromDateTime) 元のログの refreshTokensValidFromDateTime フィールドから直接マッピングされ、キー refreshTokensValidFromDateTime を持つラベルとして追加されます。
sAMAccountName user.userid 未加工ログの sAMAccountName フィールドから直接マッピングされます。
state user.personal_address.state 未加工ログの state フィールドから直接マッピングされます。
streetAddress user.personal_address.name 未加工ログの streetAddress フィールドから直接マッピングされます。
surname user.last_name 未加工ログの surname フィールドから直接マッピングされます。
usageLocation user.personal_address.country_or_region country が空の場合、値は user.personal_address.country_or_region にマッピングされます。
userPrincipalName user.email_addresses 未加工ログの userPrincipalName フィールドから直接マッピングされます。userPrincipalName が「svc-」で始まる場合、user_role.typeSERVICE_ACCOUNT に設定されます。
userType user.attribute.roles.name 未加工ログの userType フィールドから直接マッピングされ、user.attribute.roles.name に追加されました。
パーサー ロジック UDM マッピング ロジック
なし event.idm.entity.metadata.vendor_name 「Microsoft」に設定します。
なし event.idm.entity.metadata.product_name [Azure Active Directory] に設定します。
なし event.idm.entity.metadata.entity_type 「USER」に設定します。
なし event.idm.entity.metadata.collected_timestamp 未加工ログの create_time フィールドに設定します。
accountEnabled user.user_authentication_status、user.attribute.labels.value(key: accountEnabled) accountEnabled が true の場合、user.user_authentication_status は「ACTIVE」に設定され、キーが accountEnabled で値が「true」のラベルが追加されます。それ以外の場合は、キーが accountEnabled で値が「false」のラベルが追加されます。
empmanager-src.accountEnabled user.user_authentication_status、user.attribute.labels.value(key: accountEnabled) manager が空で、empmanager-src.accountEnabled が「true」の場合、user.user_authentication_status は「ACTIVE」に設定され、キーが accountEnabled、値が「true」のラベルが追加されます。それ以外の場合は、キーが accountEnabled で値が「false」のラベルが追加されます。
onPremisesDistinguishedName user_role.type 識別名の OU 部分に「Admin」が含まれている場合、user_role.typeADMINISTRATOR に設定されます。「Service Accounts」が含まれている場合、user_role.typeSERVICE_ACCOUNT に設定されます。
userPrincipalName user_role.type userPrincipalName が「svc-」で始まる場合、user_role.typeSERVICE_ACCOUNT に設定されます。
empmanager-src.onPremisesDistinguishedName manager_role.type gopher-manager が空で、マネージャーの識別名の OU 部分に「Users」が含まれている場合、manager_role.typeADMINISTRATOR に設定されます。「Service Accounts」が含まれている場合、manager_role.typeSERVICE_ACCOUNT に設定されます。
empmanager-src.userPrincipalName manager_role.type gopher-manager が空で、empmanager-src.userPrincipalName が「svc-」で始まる場合、manager_role.typeSERVICE_ACCOUNT に設定されます。
mail user_role.type mail が「svc-」で始まる場合、user_role.typeSERVICE_ACCOUNT に設定されます。

変更点

2024-04-29

  • 「officeLocation」を「entity.location.name」にマッピングしました。
  • 「extension_wfc_groupDescription」、「extension_wfc_execDescription」、「extension_wfc_orgDescription」、「extension_wfc_AccountingUnitName」、「extension_wfc_AccountType」を「entity.labels」にマッピングしました。

2024-05-02

バグの修正:

  • 「accountEnabled」フィールドのチェックを追加し、「entity.user.attribute.labels.value」フィールドに正しい値を解析するようにしました。

2024-03-14

  • 「onPremisesImmutableId」を「entity.user.attribute.labels」にマッピングしました。
  • 「gopher-manager.onPremisesImmutableId」を「entity.user.attribute.labels」にマッピングしました。

2024-01-12

バグの修正:

  • 「empmanager-src.usageLocation」マッピングを「entity.user.personal_address.country_or_region」から「entity.user.attribute.labels」に変更しました。

2023-11-24

強化

  • 「employeeType」属性を「entity.user.attribute.labels」にマッピングしました。
  • タグ「TAG_MALFORMED_MESSAGE」が付いた不正な形式の JSON ログを破棄しました。

2023-10-25

バグの修正

  • null チェックと不在値に対する「on_error」チェックを追加しました。

2023-09-25

強化

  • 「group.displayName」を「relation_entity.entity.group.group_display_name」にマッピングするために、置換ではなく名前変更関数を追加しました。
  • 「country」を「user.personal_address.country_or_region」にマッピングしました。「country」が存在しない場合に、「usageLocation」を「user.personal_address.country_or_region」にマッピングしました。

2023-02-09

強化

  • フィールド「onPremisesDistinguishedName」のデータをマッピングする前に null チェックを追加しました。
  • フィールド「proxyAddresses」からメールアドレスを抽出する gsub を追加しました。

2023-01-23

  • 「onPremisesExtensionAttributes.extensionAttribute4」が「Employee」の場合に、「onPremisesExtensionAttributes.extensionAttribute4」を「entity.entity.user.attribute.labels」にマッピングしました。
  • 「onPremisesDistinguishedName」の gsub を追加して、余分なバックスラッシュを削除しました。

2022-12-15

バグの修正:

  • 「mailNickname」を「entity.user.attribute.labels」にマッピングしました。
  • 「empmanager-src.usageLocation」が null の場合、「country_n_code」のみを「user.manager.personal_address.country_or_region」にマッピングしました。

2022-09-19

  • バグの修正:
  • 「entity.user.attribute.roles」を「ADMINISTRATOR」にマッピングしました。OU には「Admin」が含まれています。

2022-08-11

  • 「accountEnabled」を「user.attribute.labels」にマッピングしました

2022-05-16

  • 次のフィールドのマッピングを追加しました。
  • 「createdDateTime」を「entity.user.attribute.creation_time」にマッピング
  • 「accountEnabled」を「entity.user.user_authentication_status」にマッピング

2022-05-09

  • 機能強化 - ログ内での出現に応じて、extension_GUID_sbuxXXXXXXX で始まるフィールドを user.attribute.labels または manager.attribute.labels にマッピングしました。

2022-03-24

  • 機能強化 - いくつかの欠落しているフィールドを追加
  • onPremisesSamAccountName、onPremisesDomainName、onPremisesDistinguishedName を entity.user.attribute.labels にマッピングしました。
  • signInType では、userPrincipalName を entity.user.attribute.labels にマッピングしました。