Okta SSO のソース設定 - Amazon CloudWatch

Okta SSO のソース設定

Okta SSO との統合

CloudWatch パイプラインは Okta System Log API を使用して、Okta SSO テナントから認証、API アクティビティ、検出結果、およびエンティティ管理イベントを取得します。

Okta SSO による認証

ログを読み込むには、パイプラインが Okta SSO テナントで認証される必要があります。Okta SSO では、認証は Okta API Services アプリケーションを介した OAuth 2.0 Client Credentials (JWT アサーション) フローを使用して実行されます。

認証用のプライベートキーとパブリックキーのペアを生成する

  • 管理者アカウントを使用して Okta Admin Console にサインインします。

  • [アプリケーション] → [アプリケーション] に移動します。

  • 既存の API Services アプリケーションを選択するか、新しいアプリケーションを作成します。

  • [全般] の [クライアント認証情報] を選択して、パブリックキーをアップロードするか、新しいキーを生成します。このキーペアは、署名付き JWT アサーションを使用した認証に使用されます。

  • アプリケーションに必要な OAuth スコープ (具体的には okta.logs.read) が割り当てられていることを確認します。

  • [Admin Roles]、[Edit assignments]、[ロール] (読み取り専用管理者を選択) の順に選択します。

  • アプリケーションのクライアント ID をコピーします。

  • client_id と client_secret (プライベートキー) を AWS Secrets Manager に保存します。client_idclient_secret(private_key) は、JWT アサーションの署名に使用される RSA プライベートキーです。

  • Okta Organization URL を特定し、パイプラインで設定します (例: https://yourdomain.okta.com)。

設定が完了すると、パイプラインは Okta の OAuth 2.0 Client Credentials (JWT アサーション) フローを使用して認証し、Okta System Log API からの監査ログイベントの取得を開始できるようになります。

CloudWatch パイプラインの設定

ログを読み込むようにパイプラインを設定するには、データソースとして Okta SSO を選択します。Okta ドメイン名などの必要な情報を入力します。パイプラインを作成してアクティブ化すると、Okta SSO からの監査ログデータが、選択した CloudWatch Logs ロググループに流れ始めます。

サポートされているオープンサイバーセキュリティスキーマフレームワークイベントクラス

この統合では、OCSF スキーマのバージョン v1.5.0 と、認証 (3002)、API アクティビティ(6003)、検出結果 (2004)、およびエンティティ管理 (3004) にマッピングする Okta イベントがサポートされています。

認証には次のイベントが含まれます。

  • user.authentication.auth

  • user.authentication.auth_via_AD_agent

  • user.authentication.auth_via_IDP

  • user.authentication.auth_via_LDAP_agent

  • user.authentication.auth_via_inbound_SAML

  • user.authentication.auth_via_inbound_delauth

  • user.authentication.auth_via_iwa

  • user.authentication.auth_via_mfa

  • user.authentication.auth_via_radius

  • user.authentication.auth_via_richclient

  • user.authentication.auth_via_social

  • user.authentication.authenticate

  • user.authentication.sso

  • user.session.start

  • user.session.impersonation.grant

  • app.oauth2.signon

  • user.session.impersonation.initiate

  • user.authentication.universal_logout

  • user.session.clear

  • user.session.end

  • user.authentication.slo

  • user.authentication.universal_logout.scheduled

  • user.session.expire

  • user.session.impersonation.end

  • user.authentication.verify

  • policy.evaluate_sign_on

  • user.mfa.attempt_bypass

  • user.mfa.okta_verify

  • user.mfa.okta_verify.deny_push

  • user.mfa.okta_verify.deny_push_upgrade_need

  • user.mfa.factor.activate

  • user.mfa.factor.deactivate

  • user.mfa.factor.reset_all

  • user.mfa.factor.suspend

  • user.mfa.factor.unsuspend

  • user.mfa.factor.update

  • user.session.impersonation.extend

  • user.session.impersonation.revoke

  • user.session.access_admin_app

  • user.session.context.change

  • application.policy.sign_on.deny_access

  • user.authentication.auth_unconfigured_identifier

  • user.authentication.dsso_via_non_priority_source

  • app.oauth2.invalid_client_credentials

  • policy.auth_reevaluate.fail

API アクティビティには、次のイベントが含まれます。

  • oauth2.claim.created

  • oauth2.scope.created

  • security.trusted_origin.create

  • system.api_token.create

  • Workflows.user.table.view

  • app.oauth2.as.key.rollover

  • app.saml.sensitive.attribute.update

  • system.api_token.update

  • oauth2.claim.updated

  • oauth2.scope.updated

  • security.events.provider.deactivate

  • system.api_token.revoke

  • oauth2.claim.deleted

  • oauth2.scope.deleted

検出結果には次のイベントが含まれます。

  • security.attack.start

  • security.breached_credential.detected

  • security.request.blocked

  • security.threat.detected

  • security.zone.make_blacklist

  • system.rate_limit.violation

  • user.account.report_suspicious_activity_by_enduser

  • user.risk.change

  • user.risk.detect

  • zone.make_blacklist

  • security.attack.end

エンティティ管理には、次のイベントが含まれます。

  • iam.role.create

  • system.idp.lifecycle.create

  • application.lifecycle.create

  • group.lifecycle.create

  • user.lifecycle.create

  • policy.lifecycle.create

  • zone.create

  • oauth2.as.created

  • event_hook.created

  • inline_hook.created

  • pam.security_policy.create

  • iam.resourceset.create

  • pam.secret.create

  • analytics.reports.export.download

  • app.audit_report.download

  • system.idp.lifecycle.read_client_secret

  • app.oauth2.client.read_client_secret

  • pam.secret.reveal

  • pam.service_account.password.reveal

  • support.org.update

  • system.idp.lifecycle.update

  • application.lifecycle.update

  • policy.lifecycle.update

  • user.account.update_profile

  • user.account.update_password

  • user.account.reset_password

  • group.profile.update

  • zone.update

  • group.privilege.grant

  • group.privilege.revoke

  • iam.resourceset.bindings.add

  • user.account.privilege.grant

  • user.account.privilege.revoke

  • pki.cert.lifecycle.revoke

  • iam.resourceset.update

  • iam.role.update

  • pam.security_policy.update

  • oauth2.as.updated

  • event_hook.updated

  • inline_hook.updated

  • pam.secret.update

  • iam.resourceset.bindings.delete

  • iam.role.delete

  • pam.security_policy.delete

  • policy.lifecycle.delete

  • user.lifecycle.delete.initiated

  • application.lifecycle.delete

  • group.lifecycle.delete

  • zone.delete

  • oauth2.as.deleted

  • event_hook.deleted

  • inline_hook.deleted

  • iam.resourceset.delete

  • pam.secret.delete

  • device.enrollment.create

  • credential.register

  • credential.revoke

  • policy.lifecycle.activate

  • system.feature.enable

  • event_hook.activated

  • inline_hook.activated

  • system.feature.disable

  • application.lifecycle.activate

  • user.lifecycle.activate

  • zone.activate

  • oauth2.as.activated

  • system.log_stream.lifecycle.activate

  • policy.lifecycle.deactivate

  • security.authenticator.lifecycle.deactivate

  • application.lifecycle.deactivate

  • user.lifecycle.deactivate

  • zone.deactivate

  • event_hook.deactivated

  • inline_hook.deactivated

  • system.log_stream.lifecycle.deactivate

  • oauth2.as.deactivated

  • user.account.lock

  • user.account.lock.limit

  • user.lifecycle.suspend

  • device.lifecycle.suspend

  • user.account.unlock

  • user.lifecycle.unsuspend

  • device.lifecycle.unsuspend

  • user.lifecycle.reactivate