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 の構成方法
- Azure ポータルにログインします。
- [Home] > [App registration] に移動し、登録済みのアプリケーションを選択するか、まだアプリケーションを作成していない場合はアプリケーションを登録します。
- アプリケーションを登録するには、[App registration] セクションで [New registration] をクリックします。
- [Name] フィールドに、アプリケーションの表示名を入力します。
- [Supported account types] セクションで、必要なオプションを選択して、アプリケーションを使用できるユーザーまたは API にアクセスできるユーザーを指定します。
- [Register] をクリックします。
- [Overview] ページに移動し、Google Security Operations フィードの構成に必要なアプリケーション(クライアント)ID とディレクトリ(テナント)ID をコピーします。
- [API 権限] をクリックします。
- [Add a permission] をクリックし、新しいペインで [Microsoft Graph] を選択します。
- [Application permissions] をクリックします。
- [AuditLog.Read.All]、[Directory.Read.All]、[SecurityEvents.Read.All] 権限を選択します。権限が [委任された権限] ではなく、[アプリケーション権限] であることを確認します。
- [Grant admin consent for default directory] をクリックします。同意プロセスの一環としてユーザーまたは管理者から権限が付与された場合、アプリケーションは API を呼び出す権限を付与されます。
- [Settings] > [Manage] に移動します。
- [Certificates and secrets] をクリックします。
- [New client secret] をクリックします。[Value] フィールドにクライアント シークレットが表示されます。
- クライアント シークレットの値をコピーします。この値は作成時にのみ表示され、Azure アプリの登録と Google Security Operations フィードの構成に必要です。
フィードを設定する
Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。
- [SIEM 設定] > [フィード]
- [Content Hub] > [Content Packs]
[SIEM 設定] > [フィード] でフィードを設定する
このプロダクト ファミリー内で異なるログタイプに対して複数のフィードを構成するには、プロダクトごとにフィードを構成するをご覧ください。
1 つのフィードを設定する手順は次のとおりです。
- [SIEM 設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- 次のページで、[単一フィードを設定] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: Azure AD コンテキスト ログ)。
- [ソースタイプ] として [サードパーティ API] を選択します。
- [Log type] で [Azure AD Organizational Context] を選択します。
- [次へ] をクリックします。
- 次の必須入力パラメータを構成します。
- OAUTH クライアント ID: 前の手順で取得したクライアント ID を指定します。
- OAUTH クライアント シークレット: 前の手順で取得したクライアント シークレットを指定します。
- テナント ID: 前の手順で取得したテナント ID を指定します。
- [次へ] をクリックしてから、[送信] をクリックします。
Google Security Operations フィードの詳細については、Google Security Operations フィードのドキュメントをご覧ください。各フィードタイプの要件については、タイプ別のフィード構成をご覧ください。 フィードの作成時に問題が発生した場合は、Google Security Operations サポートにお問い合わせください。
コンテンツ ハブからフィードを設定する
次のフィールドに値を指定します。
- OAUTH クライアント ID: 前の手順で取得したクライアント ID を指定します。
- OAUTH クライアント シークレット: 前の手順で取得したクライアント シークレットを指定します。
- テナント ID: 前の手順で取得したテナント ID を指定します。
詳細オプション
- フィード名: フィードを識別する事前入力された値。
- ソースタイプ: Google SecOps にログを収集するために使用される方法。
- Asset Namespace: フィードに関連付けられた名前空間。
- Ingestion Labels: このフィードのすべてのイベントに適用されるラベル。
フィールド マッピング リファレンス
このパーサーコードは、Azure Active Directory からの未加工の JSON 形式のログを統合データモデル(UDM)に変換します。属性、ロール、関係、ラベルなどのユーザーとマネージャーの情報を抽出し、さまざまなデータ不整合を処理して、標準化されたフィールドで出力を拡充します。
UDM マッピング テーブル
ログフィールド | UDM マッピング | 論理 |
---|---|---|
businessPhones | user.phone_numbers | 未加工ログの businessPhones フィールドから直接マッピングされます。複数の電話番号が抽出され、別々のエントリとしてマッピングされます。 |
都市 | user.personal_address.city | 未加工ログの city フィールドから直接マッピングされます。 |
companyName | user.company_name | 未加工ログの companyName フィールドから直接マッピングされます。 |
国 | user.personal_address.country_or_region | 未加工ログの country フィールドから直接マッピングされます。country が空の場合、値は usageLocation から取得されます。 |
createdDateTime | user.attribute.creation_time | RFC 3339 形式を使用して、未加工ログの 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 配列内の各デバイスは、個別の関係エントリにマッピングされます。deviceId は product_object_id にマッピングされ、operatingSystem と operatingSystemVersion は結合されて platform_version を形成し、model は直接マッピングされ、createdDateTime はタイムスタンプに変換されて created_timestamp にマッピングされます。関係は OWNS に設定され、方向は UNIDIRECTIONAL に設定されます。 |
gopher-groups | event.idm.entity.relations | gopher-groups 配列内の各グループは、個別の関係エントリにマッピングされます。id は product_object_id にマッピングされ、displayName は group_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.country と gopher-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 | manager と gopher-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 のラベルとしてマッピングされます。signInType と userPrincipalName が空でない場合、これらは結合され、キー userPrincipalName を持つラベルとしてマッピングされます。 |
jobTitle | user.title | 未加工ログの jobTitle フィールドから直接マッピングされます。 |
user.email_addresses | 未加工ログの mail フィールドから直接マッピングされます。mail が「svc-」で始まる場合、user_role.type は SERVICE_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.country と manager.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-manager と manager.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 data) | 完全識別名は、キー onPremisesDistinguishedName を持つラベルとしてマッピングされます。識別名の OU 部分が抽出され、キー onPremisesDistinguishedName-OU data を持つラベルとしてマッピングされます。OU 部分に「Admin」が含まれている場合、user_role.type は ADMINISTRATOR に設定されます。「サービス アカウント」が含まれている場合、user_role.type は SERVICE_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 フィールドから直接マッピングされます。 |
都道府県 | 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.type は SERVICE_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(キー: accountEnabled) | accountEnabled が true の場合、user.user_authentication_status は「ACTIVE」に設定され、キーが accountEnabled で値が「true」のラベルが追加されます。それ以外の場合は、キー accountEnabled と値「false」のラベルが追加されます。 |
empmanager-src.accountEnabled | user.user_authentication_status、user.attribute.labels.value(キー: accountEnabled) | manager が空で empmanager-src.accountEnabled が「true」の場合、user.user_authentication_status は「ACTIVE」に設定され、キーが accountEnabled で値が「true」のラベルが追加されます。それ以外の場合は、キー accountEnabled と値「false」のラベルが追加されます。 |
onPremisesDistinguishedName | user_role.type | 識別名の OU 部分に「Admin」が含まれている場合、user_role.type は ADMINISTRATOR に設定されます。「サービス アカウント」が含まれている場合、user_role.type は SERVICE_ACCOUNT に設定されます。 |
userPrincipalName | user_role.type | userPrincipalName が「svc-」で始まる場合、user_role.type は SERVICE_ACCOUNT に設定されます。 |
empmanager-src.onPremisesDistinguishedName | manager_role.type | gopher-manager が空で、管理者の識別名の OU 部分に「Users」が含まれている場合、manager_role.type は ADMINISTRATOR に設定されます。「サービス アカウント」が含まれている場合、manager_role.type は SERVICE_ACCOUNT に設定されます。 |
empmanager-src.userPrincipalName | manager_role.type | gopher-manager が空で、empmanager-src.userPrincipalName が「svc-」で始まる場合、manager_role.type は SERVICE_ACCOUNT に設定されます。 |
user_role.type | mail が「svc-」で始まる場合、user_role.type は SERVICE_ACCOUNT に設定されます。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。