

# Okta SSO 的来源配置
<a name="okta-sso-source-setup"></a>

## 与 Okta SSO 集成
<a name="okta-sso-integration"></a>

CloudWatch 管道使用 Okta 系统日志 API 从 Okta SSO 租户那里检索身份验证、API 活动、检测调查发现和实体管理事件。

## 使用 Okta SSO 进行身份验证
<a name="okta-sso-authentication"></a>

要读取日志，该管道需要通过 Okta SSO 租户进行身份验证。对于 Okta SSO，身份验证是使用通过 Okta API Services 应用程序的 OAuth 2.0 客户端凭证（JWT 断言）流程执行。

**生成用于身份验证的私有/公有秘钥对**
+ 使用管理员账户登录 Okta 管理员控制台。
+ 导航到“应用程序”→“应用程序”页面。
+ 选择现有的 API Services 应用程序或新建应用程序。
+ 在“常规”→“客户端凭证”下，上传公有密钥或生成新密钥。此秘钥对将用于使用已签名的 JWT 断言进行身份验证。
+ 确保为应用程序分配了必需的 OAuth 范围，特别是：`okta.logs.read`
+ “管理员角色”→“编辑分配”→“角色”（选择“只读管理员”）
+ 复制应用程序的客户端 ID。
+ 将 client\_id 和 client\_secret（私有密钥）存储在 Amazon Secrets Manager 中：`client_id` 和 `client_secret(private_key)`（用于签署 JWT 断言的 RSA 私有密钥）
+ 识别您的 Okta 组织 URL 并在管道中进行配置（例如 `https://yourdomain.okta.com`）。

配置完成后，管道可以使用 Okta 的 OAuth 2.0 客户端凭证（JWT 断言）流程进行身份验证，并开始从 Okta 系统日志 API 检索审计日志事件。

## 配置 CloudWatch 管道
<a name="okta-sso-pipeline-config"></a>

要将管道配置为读取日志，请选择 Okta SSO 作为数据来源。填写必填信息，例如 Okta 域名。创建并激活管道后，Okta SSO 中的审计日志数据将立即开始流入选定的 CloudWatch Logs 日志组。

## 支持的开放式网络安全架构框架事件类
<a name="okta-sso-ocsf-events"></a>

此集成支持 OCSF 架构版本 1.5.0 和 Okta 事件，这些事件映射到“身份验证”（3002）、“API 活动”（6003）、“检测调查发现”（2004）和“实体管理”（3004）。

**身份验证**包含以下事件：
+ 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\_needed
+ 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