Okta User Context ログを収集する

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

このドキュメントでは、サードパーティ API を使用して Google Security Operations フィードを設定し、Okta ユーザー コンテキスト ログを収集する方法について説明します。

始める前に

次の前提条件を満たしていることを確認します。

  • Google SecOps インスタンス
  • Okta テナントまたは管理コンソールへの特権アクセス
  • Okta での API トークン作成権限

IP 許可リストを構成する

フィードを作成する前に、Okta のファイアウォールまたはネットワーク設定で Google SecOps の IP 範囲を許可リストに登録する必要があります。

Google SecOps の IP 範囲を取得する

IP 範囲を Okta ユーザー コンテキストに追加する

  1. Okta 管理コンソールにログインします。
  2. [セキュリティ] > [ネットワーク] に移動します。
  3. [IP アドレスの制限] で、[編集] をクリックします。
  4. 信頼できる IP アドレスに、CIDR 表記の各 Google SecOps IP 範囲を追加します。
  5. [保存] をクリックします。

Okta User Context API アクセスを構成する

Google SecOps がユーザー コンテキスト データを取得できるようにするには、読み取り権限を持つ API トークンを作成する必要があります。

API トークンを作成する

  1. Okta 管理コンソールにログインします。
  2. [セキュリティ] > [API] に移動します。
  3. [トークン] タブを選択します。
  4. [トークンの作成] をクリックします。
  5. 次の構成情報を指定します。
    • 名前: わかりやすい名前を入力します(例: Google SecOps Integration)。
    • 説明(省略可): 説明を入力します。
  6. [トークンの作成] をクリックします。

API 認証情報を記録する

API トークンを作成すると、次の認証情報が提供されます。

  • API トークン: API トークンの値(例: 00QCGr-1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1)

必要な API 権限

API トークンには、Okta で次の権限が必要です。

権限/ロール アクセスレベル 目的
読み取り専用管理者 読み取り ユーザー プロファイル データにアクセスする
特権管理者 読み取り すべてのユーザーデータへの完全なアクセス権

フィードを設定する

フィードを構成する手順は次のとおりです。

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで、[単一のフィードを構成する] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: Okta User Context)。
  5. [ソースタイプ] として [サードパーティ API] を選択します。
  6. [ログタイプ] として [Okta User Context] を選択します。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。

    • Authentication HTTP header: 認証情報を次の形式で入力します。

      Authorization:SSWS your-api-token
      
      • 次に例を示します。Authorization:SSWS 00QCGr-1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1
    • API Hostname: Okta インスタンスの完全修飾ドメイン名(構成されている可能性のあるカスタム ドメインではなく、example.okta.com など)。

      • 次に例を示します。company.okta.com
    • Manager ID Reference Field: Okta 以外の ID を使用してマネージャーを参照する場合に必要となる ID(省略可)。

    • Asset namespace: アセットの名前空間。

    • Ingestion labels: このフィードのイベントに適用されるラベル。

  9. [次へ] をクリックします。

  10. [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。

設定が完了すると、フィードは Okta User Context インスタンスからログを時系列順に取得し始めます。

リージョン エンドポイント

Okta は、組織のリージョンに基づいて異なる API エンドポイントを使用します。

リージョン ベース URL / ホスト名
米国(デフォルト) {org-name}.okta.com
EU(EMEA) {org-name}.okta-emea.com
アジア太平洋 {org-name}.okta.com.au
プレビュー(テスト) {org-name}.oktapreview.com

Okta インスタンスのリージョンに対応するホスト名を使用します。

API レート上限

Okta API には次のレート制限があります。

  • デフォルトのレート制限: ほとんどのエンドポイントで 1 分あたり 600 回のリクエスト
  • System Log API: 1 分あたり 60 件のリクエスト
  • ユーザー エンドポイント: 1 分あたり 600 件のリクエスト

Google SecOps は、指数バックオフを使用してレート制限を自動的に処理します。問題が発生した場合は、Okta サポートに連絡して API の上限を引き上げてください。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
activated event.idm.entity.entity.labels activated が存在する場合、その値はキー「activated」で Key-Value ペアとして追加されます。
created event.idm.entity.entity.labels created が存在する場合、その値はキー「created」で Key-Value ペアとして追加されます。
profile.costCenter event.idm.entity.entity.labels profile.costCenter が存在する場合、その値はキー「costCenter」で Key-Value ペアとして追加されます。
profile.Function event.idm.entity.entity.labels profile.Function が存在する場合、その値はキー「Function」で Key-Value ペアとして追加されます。
statusChanged event.idm.entity.entity.labels statusChanged が存在する場合、その値はキー「statusChanged」で Key-Value ペアとして追加されます。
type.id event.idm.entity.entity.labels type.id が存在する場合は、その値がキー「type_id」で Key-Value ペアとして追加されます。
profile.location event.idm.entity.entity.location.name profile.location から取得された値。
profile.AD_ObjectGUID event.idm.entity.entity.user.attribute.labels profile.AD_ObjectGUID が存在する場合、その値はキー「AD_ObjectGUID」で Key-Value ペアとして追加されます。
profile.ADpwdLastSet event.idm.entity.entity.user.attribute.labels profile.ADpwdLastSet が存在する場合、その値はキー「ADpwdLastSet」で Key-Value ペアとして追加されます。
profile.AFF_Code event.idm.entity.entity.user.attribute.labels profile.AFF_Code が存在する場合、その値はキー「AFF_Code」で Key-Value ペアとして追加されます。
profile.Desk_Location_WD event.idm.entity.entity.user.attribute.labels profile.Desk_Location_WD が存在する場合、その値はキー「Desk_Location_WD」で Key-Value ペアとして追加されます。
profile.Mailing_Address_WD event.idm.entity.entity.user.attribute.labels profile.Mailing_Address_WD が存在する場合、その値はキー「Mailing_Address_WD」で Key-Value ペアとして追加されます。
profile.Manager_UPN event.idm.entity.entity.user.attribute.labels profile.Manager_UPN が存在する場合、その値はキー「Manager_UPN」で Key-Value ペアとして追加されます。
profile.PRIVATE_CONF_Profile event.idm.entity.entity.user.attribute.labels profile.PRIVATE_CONF_Profile が存在する場合、その値はキー「PRIVATE_CONF_Profile」で Key-Value ペアとして追加されます。
profile.Region_WD event.idm.entity.entity.user.attribute.labels profile.Region_WD が存在する場合、その値はキー「Region_WD」で Key-Value ペアとして追加されます。
profile.Subsidiary_Company event.idm.entity.entity.user.attribute.labels profile.Subsidiary_Company が存在する場合、その値はキー「Subsidiary_Company」で Key-Value ペアとして追加されます。
profile.Telephone_Work event.idm.entity.entity.user.attribute.labels profile.Telephone_Work が存在する場合、その値はキー「Telephone_Work」で Key-Value ペアとして追加されます。
profile.Temp_WD_Primary_Email event.idm.entity.entity.user.attribute.labels profile.Temp_WD_Primary_Email が存在する場合、その値はキー「Temp_WD_Primary_Email」で Key-Value ペアとして追加されます。
profile.VMware_WS1_Username event.idm.entity.entity.user.attribute.labels profile.VMware_WS1_Username が存在する場合、その値はキー「VMware_WS1_Username」で Key-Value ペアとして追加されます。
profile.Work_Street_Address_WD event.idm.entity.entity.user.attribute.labels profile.Work_Street_Address_WD が存在する場合、その値はキー「Work_Street_Address_WD」で Key-Value ペアとして追加されます。
profile.Workato_WD_Primary_Email event.idm.entity.entity.user.attribute.labels profile.Workato_WD_Primary_Email が存在する場合、その値はキー「Workato_WD_Primary_Email」で Key-Value ペアとして追加されます。
profile.Workday_ID event.idm.entity.entity.user.attribute.labels profile.Workday_ID が存在する場合、その値はキー「Workday_ID」を持つ Key-Value ペアとして追加されます。
profile.Worker_Type_WD event.idm.entity.entity.user.attribute.labels profile.Worker_Type_WD が存在する場合、その値はキー「Worker_Type_WD」で Key-Value ペアとして追加されます。
profile.businessUnit event.idm.entity.entity.user.attribute.labels profile.businessUnit が存在する場合、その値はキー「businessUnit」で Key-Value ペアとして追加されます。
profile.companyName event.idm.entity.entity.user.attribute.labels profile.companyName が存在する場合、その値はキー「companyName」で Key-Value ペアとして追加されます。
profile.contingentSupplierName event.idm.entity.entity.user.attribute.labels profile.contingentSupplierName が存在する場合、その値はキー「contingentSupplierName」で Key-Value ペアとして追加されます。
profile.conversationId event.idm.entity.entity.user.attribute.labels profile.conversationId が存在する場合、その値はキー「conversationId」で Key-Value ペアとして追加されます。
profile.distinguishedName event.idm.entity.entity.user.attribute.labels profile.distinguishedName が存在する場合、その値はキー「distinguishedName」で Key-Value ペアとして追加されます。
profile.division event.idm.entity.entity.user.attribute.labels profile.division が存在する場合、その値はキー「division」で Key-Value ペアとして追加されます。
profile.emailPrefix event.idm.entity.entity.user.attribute.labels profile.emailPrefix が存在する場合、その値はキー「emailPrefix」を持つ Key-Value ペアとして追加されます。
profile.employeeType event.idm.entity.entity.user.attribute.labels profile.employeeType が存在する場合、その値はキー「employeeType」で Key-Value ペアとして追加されます。
profile.homePostalAddress event.idm.entity.entity.user.attribute.labels profile.homePostalAddress が存在する場合、その値はキー「homePostalAddress」で Key-Value ペアとして追加されます。
profile.isManager event.idm.entity.entity.user.attribute.labels profile.isManager が存在する場合、その値はキー「isManager」で Key-Value ペアとして追加されます。
lastLogin event.idm.entity.entity.user.attribute.labels lastLogin が存在する場合、その値はキー「lastLogin」で Key-Value ペアとして追加されます。
profile.leaveOfAbsence event.idm.entity.entity.user.attribute.labels profile.leaveOfAbsence が存在する場合、その値はキー「leaveOfAbsence」を持つ Key-Value ペアとして追加されます。
profile.managerDn event.idm.entity.entity.user.attribute.labels profile.managerDn が存在する場合、その値はキー「managerDn」で Key-Value ペアとして追加されます。
profile.payGroup event.idm.entity.entity.user.attribute.labels profile.payGroup が存在する場合、その値はキー「payGroup」で Key-Value ペアとして追加されます。
profile.wdemployeeID event.idm.entity.entity.user.attribute.labels profile.wdemployeeID が存在する場合、その値はキー「wdemployeeID」で Key-Value ペアとして追加されます。
profile.zipCode event.idm.entity.entity.user.attribute.labels profile.zipCode が存在する場合、その値はキー「zipCode」で Key-Value ペアとして追加されます。
profile.userType event.idm.entity.entity.user.attribute.roles profile.userType が存在する場合は、その値がロールの配列に追加されます。
profile.organization、profile.company event.idm.entity.entity.user.company_name profile.organization から取得された値。 が存在しない場合は profile.company。
profile.department event.idm.entity.entity.user.department profile.department から取得された値。
profile.email、profile.secondEmail、profile.login event.idm.entity.entity.user.email_addresses profile.email、profile.secondEmail、profile.login の値(メールアドレスで重複がない場合)がこのフィールドに統合されます。
profile.employeeNumber event.idm.entity.entity.user.employee_id profile.employeeNumber から取得された値。
profile.firstName、profile.Preferred_First_Name event.idm.entity.entity.user.first_name profile.firstName から取得された値。 が存在しない場合は profile.Preferred_First_Name。
profile.EmployeeWorkGroup event.idm.entity.entity.user.group_identifiers profile.EmployeeWorkGroup から取得された値。
profile.HireDate、profile.hiredate event.idm.entity.entity.user.hire_date 値は、profile.HireDate が存在しない場合は profile.hiredate から解析されます。
profile.lastName、profile.preferred_Last_Name event.idm.entity.entity.user.last_name profile.lastName または profile.preferred_Last_Name のいずれかが存在する場合、profile.lastName から取得された値。
lastLogin event.idm.entity.entity.user.last_login_time 値は lastLogin から解析されます。
passwordChanged event.idm.entity.entity.user.last_password_change_time 値は passwordChanged からパースされます。
profile.manager、profile.managerEmail、profile.managerId event.idm.entity.entity.user.managers profile.manager の user_display_name、profile.managerEmail の email_addresses、profile.managerId の employee_id を含むオブジェクトが入力されます。
profile.city、profile.firstBaseCity event.idm.entity.entity.user.office_address.city profile.city から取得された値。前者が存在しない場合は profile.firstBaseCity。
profile.countryCode、profile.country event.idm.entity.entity.user.office_address.country_or_region profile.countryCode から取得された値。 が存在しない場合は profile.country。
profile.streetAddress event.idm.entity.entity.user.personal_address.name profile.streetAddress から取得された値。
profile.state event.idm.entity.entity.user.personal_address.state profile.state から取得された値。
profile.primaryPhone、profile.mobilePhone、profile.mobile event.idm.entity.entity.user.phone_numbers profile.primaryPhone、profile.mobilePhone、profile.mobile の値がこのフィールドに統合されます。
profile.terminationDate、profile.terminationdate event.idm.entity.entity.user.termination_date 値は、profile.terminationDate が存在しない場合は profile.terminationdate から解析されます。
profile.title event.idm.entity.entity.user.title profile.title から取得された値。
status event.idm.entity.entity.user.user_authentication_status status からマッピング: ACTIVE/RECOVERY/LOCKED_OUT/PASSWORD_EXPIRED -> ACTIVE、SUSPENDED -> SUSPENDED、DEPROVISIONED -> DELETED、それ以外は UNKNOWN_AUTHENTICATION_STATUS。
profile.displayName event.idm.entity.entity.user.user_display_name profile.displayName から取得された値。
profile.samAccountName、profile.samaccountname、profile.login、profile.ldapUid event.idm.entity.entity.user.userid 優先順位 profile.samAccountName、profile.samaccountname、profile.login(メール以外の場合)、profile.ldapUid(profile.login がメール以外の場合)が入力されます。
event.idm.entity.metadata.entity_type USER に設定します。
id event.idm.entity.metadata.product_entity_id id から取得された値。
event.idm.entity.metadata.product_name Identity Cloud に設定します。
event.idm.entity.metadata.vendor_name Okta に設定します。
activated", "created", "statusChanged", and "type.id entity.entity.labels 変更履歴からマッピング
profile.AD_ObjectGUID", "profile.ADpwdLastSet", "profile.AFF_Code", "profile.Desk_Location_WD", "profile.Mailing_Address_WD", "profile.Manager_UPN", "profile.PRIVATE_CONF_Profile", "profile.Region_WD", "profile.Subsidiary_Company", "profile.Telephone_Work", "profile.Temp_WD_Primary_Email", "profile.VMware_WS1_Username", "profile.Work_Street_Address_WD", "profile.Workato_WD_Primary_Email", "profile.Workday_ID", "profile.Worker_Type_WD", "profile.businessUnit", "profile.companyName", "profile.contingentSupplierName", "profile.conversationId", "profile.distinguishedName", "profile.division", "profile.emailPrefix", "profile.employeeType", "profile.homePostalAddress", "profile.isManager", "profile.leaveOfAbsence", "profile.managerDn", "profile.payGroup", "profile.wdemployeeID", and "profile.zipCode entity.entity.user.attribute.labels 変更履歴からマッピング
profile.country entity.user.country 変更履歴からマッピング
profile.firstBaseCity entity.user.firstBaseCity 変更履歴からマッピング
profile.preferred_Last_Name entity.user.preferred_Last_Name 変更履歴からマッピング
profile.EmployeeWorkGroup entity.user.EmployeeWorkGroup 変更履歴からマッピング
profile.manager entity.user.managers.user_display_name 変更履歴からマッピング
profile.organization entity.user.organization 変更履歴からマッピング
profile.state entity.user.state 変更履歴からマッピング
profile.streetAddress entity.user.streetAddress 変更履歴からマッピング
profile.mobile entity.user.mobile 変更履歴からマッピング
profile.managerEmail entity.user.managers.email_addresses 変更履歴からマッピング
profile.managerId entity.user.managers.employee_id 変更履歴からマッピング
profile.spotify_username entity.entity.labels 変更履歴からマッピング

変更ログ

このパーサーの変更ログを表示する

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。