Okta ログを収集する

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

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

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

取り込みラベルによって、未加工のログデータを構造化 UDM 形式に正規化するパーサーが識別されます。このドキュメントの情報は、取り込みラベル OKTA が付加されたパーサーに適用されます。

Okta SSO を構成する

Okta SSO を構成するには、次のタスクを完了します。

読み取り専用の管理者ユーザーを作成する

  1. 管理者として Okta SSO 管理コンソールにログインします。
  2. 標準ユーザーを作成します。読み取り専用管理者にしたい既存の標準ユーザーがすでにいる場合は、次のステップに進みます。
  3. [セキュリティ] > [管理者] を選択します。
  4. [管理者を追加] をクリックします。
  5. [管理者ロールを付与する] フィールドにユーザー名を入力します。
  6. [管理者ロール] セクションで、[読み取り専用管理者] チェックボックスをオンにします。
  7. 管理者アカウントからログアウトします。

API キーを取得

  1. 前に作成した読み取り専用管理者を使用して、Okta SSO 管理コンソールにログインします。
  2. [セキュリティ] > [API] を選択します。
  3. [トークンの作成] をクリックします。
  4. トークン名を入力し、[トークンを作成] をクリックします。トークンの値が表示されます。
  5. API キーをコピーします。これは、Google Security Operations フィードを構成するときに必要になります。

    API キーは後で復元できず、ウィンドウを閉じると暗号化された形式で保存されます。トークンを作成したユーザーまたはそのユーザーの権限に変更があった場合、トークンは有効ではありません。トークンが取り消されたか期限切れになった場合、新しいトークンが構成されるまでログの収集は停止されます。

  6. [OK] をクリックします。

Okta ASA を構成する

Okta システムログ API を使用して Okta Advanced Server Access(ASA)監査イベントを取得するには、Okta ASA 監査イベントを Okta システムログと統合します。この統合を有効にするには、Okta サポートにお問い合わせください。詳しくは、Okta ヘルプセンターをご覧ください。

Okta ログを取り込むように Google Security Operations でフィードを構成する

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New] をクリックします。
  3. [フィールド名] に一意の名前を入力します。
  4. [ソースタイプ] として [サードパーティ API] を選択します。
  5. [Log Type] で [Okta] を選択します。
  6. [次へ] をクリックします。
  7. 次の必須入力パラメータを構成します。
    • 認証 HTTP ヘッダー: サーバーに対してユーザー エージェントを認証し、保護されたリソースへのアクセス権を付与する認証情報を指定します。
    • API ホスト名: API を提供するホストのドメイン名または IP アドレスを指定します。
  8. [次へ] をクリックし、[送信] をクリックします。

Google Security Operations フィードの詳細については、Google Security Operations フィードのドキュメントをご覧ください。各フィードタイプの要件については、タイプ別のフィード構成をご覧ください。

フィードの作成時に問題が発生した場合は、Google Security Operations サポートにお問い合わせください。

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

このパーサーは、Stackdriver でラップされたログと未加工の Okta ログの両方からフィールドを抽出して、Okta システムログを JSON 形式で処理します。ログイン、ログアウト、権限の変更、セキュリティ脅威など、ID とアクセス管理のイベントに重点を置き、さまざまな認証タイプを処理しながら、地理的なコンテキストとユーザー エージェント情報でデータを拡充し、データを UDM 形式に正規化します。また、リスクの理由、脅威の兆候、不審なアクティビティ情報など、セキュリティ関連の詳細も抽出します。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
actor.alternateId principal.user.email_addresses / principal.user.userid alternateId フィールドが有効なメールアドレスの場合、ユーザー名の部分は principal.user.userid にマッピングされ、完全なメールアドレスが principal.user.email_addresses リストに追加されます。有効なメールアドレスでない場合は、値全体が principal.user.userid にマッピングされます。
actor.displayName principal.user.user_display_name 直接マッピング。
actor.id principal.user.product_object_id 直接マッピング。
actor.type principal.user.attribute.roles.name 直接マッピング。
authenticationContext.authenticationProvider security_result.detection_fields.valuekey は「authenticationProvider」) 検出フィールドとしての直接マッピング。
authenticationContext.credentialProvider security_result.detection_fields.valuekey は「credentialProvider」) 検出フィールドとしての直接マッピング。
authenticationContext.credentialType extensions.auth.mechanism 認証メカニズムの導出に使用されます。「OTP」または「SMS」は「OTP」に、「PASSWORD」は「USERNAME_PASSWORD」に、「IWA」または eventType「user.authentication.auth_via_AD_agent」は「LOCAL」に変更されます。
authenticationContext.externalSessionId network.parent_session_id 直接マッピング。
client.device principal.asset.type / additional.fields.value.string_valuekey は「device」) 値が「モバイル」の場合は「MOBILE」にマッピングされます。[コンピュータ] の場合は「WORKSTATION」にマッピングされます。「不明」の場合は、「ROLE_UNSPECIFIED」にマッピングされます。追加フィールドとして追加されました。
client.geographicalContext.city principal.location.city 直接マッピング。
client.geographicalContext.country principal.location.country_or_region 直接マッピング。
client.geographicalContext.geolocation.lat principal.location.region_latitude 直接マッピング。
client.geographicalContext.geolocation.lon principal.location.region_longitude 直接マッピング。
client.geographicalContext.postalCode additional.fields.value.string_valuekey は「郵便番号」) 追加フィールドとして直接マッピングする。
client.geographicalContext.state principal.location.state 直接マッピング。
client.ipAddress principal.ip / principal.asset.ip 直接マッピング。存在しない場合、パーサーは request.ipChain.0.ipdebugContext.debugData.clientAddress などの他のフィールドから抽出しようとします。
client.userAgent.browser target.resource.attribute.labels.valuekey は「ブラウザ」) ラベルとしての直接マッピング。
client.userAgent.os principal.platform 値に「Linux」が含まれている場合は、「LINUX」にマッピングされます。「windows」の場合は「WINDOWS」にマッピングされます。「mac」または「ios」の場合は、「MAC」にマッピングされます。
client.userAgent.rawUserAgent network.http.user_agent 直接マッピング。解析され、network.http.parsed_user_agent に保存されます。
client.zone additional.fields.value.string_valuekey は「zone」) 追加フィールドとして直接マッピングする。
debugContext.debugData.behaviors security_result.description 直接マッピング。個々の動作も、個別の検出フィールドとして抽出されます。
debugContext.debugData.changedAttributes security_result.detection_fields.valuekey は「changedAttributes」) 検出フィールドとしての直接マッピング。
debugContext.debugData.clientAddress principal.ip / principal.asset.ip client.ipAddressrequest.ipChain.0.ip が存在しない場合、代替として使用されます。
debugContext.debugData.deviceFingerprint target.asset.asset_id 「device_finger_print:」という接頭辞が付加され、マッピングされます。
debugContext.debugData.dtHash security_result.detection_fields.valuekey は「dtHash」) 検出フィールドとしての直接マッピング。
debugContext.debugData.factor security_result.detection_fields.valuekey は「要素」) 検出フィールドとしての直接マッピング。
debugContext.debugData.factorIntent security_result.detection_fields.valuekey は「factorIntent」) 検出フィールドとしての直接マッピング。
debugContext.debugData.logOnlySecurityData.risk.reasons security_result.detection_fields.valuekey は「リスクの理由」) 検出フィールドとしての直接マッピング。
debugContext.debugData.privilegeGranted target.user.attribute.roles.name / target.user.attribute.roles.description 各権限は、名前と説明の両方が権限値に設定された個別のロールとして追加されます。
debugContext.debugData.pushOnlyResponseType security_result.detection_fields.valuekey は「pushOnlyResponseType」) 検出フィールドとしての直接マッピング。
debugContext.debugData.pushWithNumberChallengeResponseType security_result.detection_fields.valuekey は「pushWithNumberChallengeResponseType」) 検出フィールドとしての直接マッピング。
debugContext.debugData.requestId network.session_id 直接マッピング。
debugContext.debugData.requestUri extensions.auth.auth_details / target.url 直接マッピング。
debugContext.debugData.suspiciousActivityEventId security_result.detection_fields.valuekey は「suspiciousActivityEventId」) 検出フィールドとしての直接マッピング。
debugContext.debugData.suspiciousActivityEventType security_result.detection_fields.valuekey は「suspiciousActivityEventType」) 検出フィールドとしての直接マッピング。
debugContext.debugData.threatDetections security_result.detection_fields.valuekey は「threatDetections」) 検出フィールドとしての直接マッピング。
debugContext.debugData.threatSuspected security_result.detection_fields.valuekey は「threatSuspected」) 検出フィールドとしての直接マッピング。security_result.threat_status の決定にも使用されます。true の場合、ステータスは「ACTIVE」です。それ以外の場合は「FALSE_POSITIVE」です。
debugContext.debugData.url target.url 直接マッピング。
displayMessage security_result.summary 直接マッピング。
eventType metadata.product_event_type 直接マッピング。metadata.event_type の決定にも使用されます(下記のロジックを参照)。
legacyEventType security_result.detection_fields.valuekey は「legacyEventType」) 検出フィールドとしての直接マッピング。
outcome.reason security_result.category_details 直接マッピング。
outcome.result security_result.action 「SUCCESS」または「ALLOW」は「ALLOW」に、「CHALLENGE」は「CHALLENGE」、「FAILURE」、「DENY」、「SKIPPED」、「RATE_LIMIT」は「BLOCK」に変更されます。
published metadata.event_timestamp タイムスタンプに変換されます。
request.ipChain.0.geographicalContext.* principal.location.* チェーン内の最初の IP の地理的コンテキストがプリンシパルのロケーションにマッピングされます。
request.ipChain.0.ip principal.ip / principal.asset.ip 直接マッピング。
request.ipChain.1.geographicalContext.* intermediary.location.* チェーン内の 2 番目の IP の地理的位置は、中間ロケーションにマッピングされます。
request.ipChain.1.ip intermediary.ip 直接マッピング。
securityContext.asNumber security_result.detection_fields.valuekey は「asNumber」) 検出フィールドとしての直接マッピング。
securityContext.asOrg security_result.detection_fields.valuekey は「asOrg」) 検出フィールドとしての直接マッピング。
securityContext.domain security_result.detection_fields.valuekey は「domain」) 値が「.」でない場合、検出フィールドとして直接マッピングします。
securityContext.isp security_result.detection_fields.valuekey は「isp」) 検出フィールドとしての直接マッピング。
securityContext.isProxy security_result.detection_fields.valuekey は「匿名 IP」) 検出フィールドとしての直接マッピング。
target.0.alternateId target.user.email_addresses / target.user.userid actor.alternateId に似たロジック。
target.0.detailEntry.clientAppId target.asset_id 「Client_app_id:」が接頭辞として付けられ、マッピングされます。
target.0.displayName target.user.user_display_name / target.application / target.resource.name target.0.type に基づいてマッピングされます。
target.0.id target.user.product_object_id / target.resource.product_object_id target.0.type に基づいてマッピングされます。
target.0.type target.user.attribute.roles.name / target.resource.resource_subtype 値に基づいてマッピングされます。また、他の target.0 フィールドのマッピングを決定するためにも使用されます。
target.1.alternateId target.user.email_addresses / target.user.userid actor.alternateId に似たロジック。
target.1.detailEntry.clientAppId target.asset_id 「Client_app_id:」が接頭辞として付けられ、マッピングされます。
target.1.displayName target.user.user_display_name / target.resource.name target.1.type に基づいてマッピングされます。
target.1.id target.user.product_object_id / target.resource.product_object_id target.1.type に基づいてマッピングされます。
target.1.type target.user.attribute.roles.name / target.resource.resource_subtype 値に基づいてマッピングされます。また、他の target.1 フィールドのマッピングを決定するためにも使用されます。
target.2.alternateId target.2.displayName target.2.id target.2.type transaction.id network.session_id 直接マッピング。
transaction.type additional.fields.value.string_valuekey は「type」) 追加フィールドとして直接マッピングする。
uuid metadata.product_log_id 直接マッピング。
なし metadata.event_type eventType によって決定されます。完全なマッピング ロジックについては、パーサーコードをご覧ください。主なマッピングには、「user.authentication.sso」、「user.authentication.auth_via_mfa」、「user.session.start」が「USER_LOGIN」にマッピングされ、「user.session.end」が「USER_LOGOUT」にマッピングされ、「user.account.reset_password」が「USER_CHANGE_PASSWORD」にマッピングされ、「application.user_membership.update」が「USER_CHANGE_PERMISSIONS」にマッピングされ、「security.threat.detected」が「USER_UNCATEGORIZED」にマッピングされ、「system.import.user.delete」が「USER_DELETION」にマッピングされ、「policy.rule.update」が「SETTING_MODIFICATION」にマッピングされ、「group.user_membership.remove」が「GROUP_MODIFICATION」にマッピングされます。他の多くの eventType 値は「USER_UNCATEGORIZED」にマッピングされます。
なし metadata.log_type 「OKTA」に設定します。
なし metadata.product_name 「Okta」に設定します。
なし metadata.vendor_name 「Okta」に設定します。
なし extensions.auth.type 「SSO」に設定します。

変更点

2024-05-16

  • 「is_alert」が true で「is_significant」が true の場合、「security_result.alert_state」を「ALERTING」に設定します。

2024-03-05

  • トラフィックが許可されたかブロックされたかを反映するように「security_result.action」フィールドを更新しました。

2024-02-16

  • バグの修正:
  • 「target.0.type」が「User」または「AppUser」の場合、「target.0.alternateId」を「target.user.userid」にマッピングしました。
  • 「target.1.type」が「User」または「AppUser」の場合、「target.1.alternateId」を「target.user.userid」にマッピングしました。

2023-12-14

  • 「securityContext.asNumber」を「security_result.detection_fields」にマッピングしました。
  • 「legacyEventType」を「security_result.detection_fields」にマッピングしました。
  • 「metadata.event_type」の設定前に「conditional_check」を追加しました。

2023-06-28

  • 「debugContext.debugData.suspiciousActivityEventType」の完全な値を「security_result.detection_fields」にマッピングしました。
  • 「debugContext.debugData.logOnlySecurityData.behaviors.New Device」の完全な値を「security_result.detection_fields」にマッピングしました。

2023-06-09

  • フィールド「debugContext.debugData.deviceFingerprint」は「target.asset.asset_id」にマッピングされます。
  • 「debugContext.debugData.risk.reasons」の完全な値を「security_result.detection_fields」にマッピングしました。

2023-05-17

  • フィールド「authenticationContext.externalSessionId」は「network.parent_session_id」にマッピングされます。
  • フィールド「debugContext.debugData.pushOnlyResponseType」は「security_result.detection_fields.key/value」にマッピングされます。
  • フィールド「debugContext.debugData.factor」は「security_result.detection_fields.key/value」にマッピングされます。
  • フィールド「debugContext.debugData.factorIntent」は「security_result.detection_fields.key/value」にマッピングされます。
  • フィールド「debugContext.debugData.pushWithNumberChallengeResponseType」は「security_result.detection_fields.key/value」にマッピングされます。
  • フィールド「debugContext.debugData.dtHash」は「security_result.detection_fields.key/value」にマッピングされます。
  • フィールド「client.userAgent.rawUserAgent」は「network.http.user_agent」にマッピングされます。
  • 「security_result.action」の「ALLOW_WITH_MODIFICATION」のマッピングを列挙型値「CHALLENGE」に変更しました。
  • eventType が「system.api_token.create」の場合、metadata.event_type を「USER_UNCATEGORIZED」から「RESOURCE_CREATION」に変更しました。

2023-04-28

  • バグの修正:
  • 「debugContext.debugData.threatSuspected」が「true」の場合、「security_result.threat_status」のマッピングを「ACTIVE」に変更し、それ以外の場合は「FALSE_POSITIVE」にマッピングしました。

2023-03-24

  • 「logOnlySecurityData」フィールドを「security_result.detection_fields」にマッピングしました。
  • また、アクション リストに「DEFERRED」を追加して、解析エラーを解決しました。

2023-04-11

  • 「http.user_agent」にマッピングされているフィールドを「http.parsed_user_agent」に再マッピングしました。
  • 「target.displayName」を「target.resource_ancestors.name」にマッピングしました。
  • 「targetfield.detailEntry.methodTypeUsed」を「target.resource_ancestors.attribute.labels」にマッピングしました。
  • 「targetfield.detailEntry.methodUsedVerifiedProperties」を「target.resource_ancestors.attribute.labels」にマッピングしました。

2023-02-20

  • 「eventType」が「user.authentication.auth_via_AD_agent」の場合、「metadata.event_type」を「USER_LOGIN」から「STATUS_UPDATE」に変更しました

2022-12-14

  • 「debugContext.debugData.changedAttributes」を「security_result.detection_fields」にマッピングしました。
  • 「detail.actor.alternateId」の null チェックを追加しました。

2022-11-17

  • フィールド「target[n].alternateId」が「target.resource.attribute.labels」にマッピングされました。
  • フィールド「detail.target.0.alternateId」が「target.resource.attribute.labels」にマッピングされました。

2022-11-08

  • バグの修正:
  • フィールド「user_email」の適切なメールチェックの条件を追加しました。
  • 「RATE_LIMIT」にないフィールド「Action1」のチェックを追加しました。
  • 「actor.displayName」の null チェックと不明チェックを追加しました。

2022-11-04

  • 複数のイベントを含むログのサポートを追加しました。

2022-10-15

  • 「signOnModeType」を「security_result.detection_fields」にマッピングしました。
  • 「authenticationProvider」が「security_result.detection_fields」にマッピングされました。
  • 「credentialProvider」が「security_result.detection_fields」にマッピングされました。
  • 「device」が「additional.fields」にマッピングされました。
  • 「zone」を「additional.fields」にマッピングしました。
  • 「type」を「additional.fields」にマッピングしました。

2022-10-14

  • バグの修正:
  • 「principal.user.email_addresses」と「target.user.email_addresses」の条件付きチェックを追加しました。
  • 「principal.ip」にマッピングされたフィールド「request.ipChain.0.ip」の有効な ip_address を確認する Grok を追加しました。
  • 「target.url」にマッピングされるフィールド「debugContext.debugData.url」に on_error 条件を追加しました。

2022-10-03

  • 「client.userAgent.os」を「principal.platform」にマッピングしました。
  • 「client.device」を「principal.asset.type」にマッピングしました。
  • 「匿名 IP」(ハードコードされた文字列)を security_result.detection_fields.key にマッピングしました。ここで、securityContext.isProxy の値は対応する security_result.detection_fields.value にマッピングされます。

2022-09-16

  • 「securityContext.asOrg」を「security_result.category_details」にマッピングしました。
  • 「securityContext.isProxy」が「security_result.detection_fields」にマッピングされました。
  • 「securityContext.domain」が「security_result.detection_fields」にマッピングされました。
  • 「securityContext.isp」が「security_result.detection_fields」にマッピングされました。
  • 「debugContext.debugData.risk.level」を「security_result.severity」にマッピングしました。
  • 「debugContext.debugData.risk.reasons」を「security_result.detection_fields」にマッピングしました。

2022-08-12

  • 新しく取り込まれたログが解析され、次のフィールドにマッピングされています。
  • 「detail.uuid」を「metadata.product_log_id」にマッピングしました。
  • 「detail.eventType」が「metadata.product_event_type」にマッピングされました
  • 「detail.actor.id」を「principal.user.product_object_id」にマッピングしました。
  • if 'detail.actor.alternateId' mapped to 'principal.user.userid' else
  • 「detail.actor.alternateId」を「principal.user.email_addresses」にマッピングしました。
  • 「detail.actor.displayName」を「principal.user.user_display_name」にマッピングしました。
  • 「detail.actor.type」を「.principal.user.attribute.roles」にマッピングしました。
  • 「detail.client.ipChain.0.ip」を「principal.ip」にマッピングしました。
  • 「detail.client.ipChain.0.geographicalContext.state」を「principal.location.state」にマッピングしました。
  • 「detail.client.ipChain.0.geographicalContext.city」を「principal.location.city」にマッピングしました。
  • 「detail.client.ipChain.0.geographicalContext.country」を「principal.location.country_or_region」にマッピングしました。
  • 「detail.debugContext.debugData.requestUri」を「target.url」にマッピングしました。
  • 「detail.target.0.type」を「target.resource.resource_subtype」にマッピングしました。
  • 「detail.target.0.id」を「target.resource.resource.product_object_id」にマッピングしました。
  • 「detail.target.0.displayName」を「target.resource.resource_subtype」にマッピングしました。
  • 「detail.target.0.detailEntry.policyType」を「target.resource_ancestors.attribute.labels」にマッピングしました。
  • 「detail.outcome.reason」を「security_result.category_details」にマッピングしました。
  • 「detail.debugContext.debugData.threatSuspected」が「security_result.detection_fields」にマッピングされました。
  • 「detail.displayMessage」が「security_result.summary」にマッピングされました。
  • 「detail.outcome.result」を「security_result.action」にマッピングしました。
  • 「detail.severity」が「security_result.severity」にマッピングされました。
  • 「detail.transaction.id」を「network.session_id」にマッピングしました。
  • 「detail.debugContext.debugData.requestUri」を「extensions.auth.auth_details」にマッピングしました。

2022-07-08

  • 「actor.type」のマッピングを「principal.user.role_name」から「principal.user.attribute.roles」に変更しました。
  • 「target.0.type」のマッピングを「target.user.role_name」から「target.user.attribute.roles」に変更しました。
  • 「target.1.type」のマッピングを「target.user.role_name」から「target.user.attribute.roles」に変更しました。

2022-06-15

  • Enhancement-
  • に置き換えます。
  • 「target.0.detailEntry.clientAppId」を「target.asset_id」にマッピングしました。
  • UDM フィールド「network.session_id」にマッピングされたフィールド「transaction.id」の条件付きチェックを追加しました。

2022-06-03

  • Enhancement-
  • debugContext.debugData.privilegeGranted を target.user.attribute.roles.name にマッピングしました。
  • debugContext.debugData.requestUri を extensions.auth.auth_details にマッピングしました。
  • debugContext.debugData.suspiciousActivityEventId、debugContext.debugData.threatDetections、debugContext.debugData.threatSuspected を security_result.detection_fields にマッピングしました。

2022-03-22

  • Enhancement-
  • debugContext.debugData.behaviors は security_result.description にマッピングされます。
  • debugContext.debugData.threatSuspected は security_result.threat_status にマッピングされます。
  • debugContext.debugData.risk が security_result.severity にマッピングされました。