

# Okta SSO のソース設定
<a name="okta-sso-source-setup"></a>

## Okta SSO との統合
<a name="okta-sso-integration"></a>

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

## Okta SSO による認証
<a name="okta-sso-authentication"></a>

ログを読み込むには、パイプラインが 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_id` と `client_secret(private_key)` は、JWT アサーションの署名に使用される RSA プライベートキーです。
+ Okta Organization URL を特定し、パイプラインで設定します (例: `https://yourdomain.okta.com`)。

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

## CloudWatch パイプラインの設定
<a name="okta-sso-pipeline-config"></a>

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

## サポートされているオープンサイバーセキュリティスキーマフレームワークイベントクラス
<a name="okta-sso-ocsf-events"></a>

この統合では、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