

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 什么是 AWS AppFabric 为了安全？
<a name="what-is-appfabric-security"></a>

AWS AppFabric 为了安全起见，可以快速连接组织中的软件即服务 (SaaS) 应用程序，因此 IT 和安全团队可以使用标准架构轻松管理和保护应用程序。

**Topics**
+ [优势](#benefits)
+ [使用案例](#use-cases)
+ [AppFabric 出于安全考虑，请访问](#acessing-appfabric)
+ [相关服务](#related-services)
+ [开放网络安全架构框架 AWS AppFabric](ocsf-schema.md)
+ [先决条件和使用建议 AWS AppFabric](prerequisites.md)
+ [为了安全起见， AWS AppFabric 请开始使用](getting-started-security.md)
+ [AppFabric 为了安全起见，中支持的应用程序](supported-applications.md)
+ [兼容的安全工具和服务 AppFabric 可确保安全](security-tools.md)
+ [AWS AppFabric 为安全资源删除](delete-resources.md)

## 优势
<a name="benefits"></a>

 AppFabric 为了安全起见，您可以使用来执行以下操作：
+ 在几分钟内连接您的应用程序，并降低运营成本。
+ 提高 SaaS 应用程序数据的可见性，以提升您的安全状况。

## 使用案例
<a name="use-cases"></a>

 AppFabric 为了安全起见，您可以使用来：
+ 快速连接您的 SaaS 应用程序
  + AppFabric 为了安全，本机将顶级 SaaS 生产力和安全应用程序相互连接，从而提供完全托管的 SaaS 互操作性解决方案。
+ 提升您的安保状况
  + 应用程序数据会自动标准化，使管理员能够设置通用策略，标准化安全警报，并轻松管理多个应用程序的用户访问权限。

## AppFabric 出于安全考虑，请访问
<a name="acessing-appfabric"></a>

AppFabric 安全版在美国东部（弗吉尼亚北部）、欧洲（爱尔兰）和亚太地区（东京）提供 AWS 区域。有关的更多信息 AWS 区域，请参阅中的[AWS AppFabric 终端节点和配额*AWS 一般参考*](https://docs.aws.amazon.com/general/latest/gr/appfabric.html)。

在每个区域， AppFabric 为了安全起见，您可以通过以下任何一种方式进行访问：

**AWS 管理控制台**

 AWS 管理控制台 是一个基于浏览器的界面，可用于创建和管理 AWS 资源。 AppFabric 控制台提供对您的 AppFabric 资源的访问权限。您可以使用 AppFabric控制台来创建和管理所有 AppFabric 资源。

**AppFabric API**

要 AppFabric 以编程方式访问，请使用 AppFabric API，然后直接向服务发出 HTTPS 请求。有关更多信息，请参阅 [AWS AppFabric API 参考](https://docs.aws.amazon.com/appfabric/latest/api/Welcome.html)。

**AWS Command Line Interface (AWS CLI)**

借助 AWS CLI，您可以在系统的命令行中发出命令与之交互 AppFabric和其他命令 AWS 服务。如果您想构建执行任务的脚本，命令行工具也很实用。有关安装和使用的信息 AWS CLI，请参阅[版本 2 的AWS Command Line Interface 用户指南](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)。有关 AWS CLI 命令的信息 AppFabric，请参阅《[AWS CLI 参考》的AppFabric 部分](https://docs.aws.amazon.com/cli/latest/reference/appfabric/)。

## 相关服务
<a name="related-services"></a>

 AppFabric 为了安全起见，您可以将以下内容 AWS 服务 与一起使用：

**Amazon Data Firehose**

Amazon Data Firehose 是一项提取、转换和加载 (ETL) 服务，可可靠地捕获、转换流数据并将其传输到数据湖、数据存储和分析服务。使用时 AppFabric，您可以选择将开放网络安全架构框架 (OCSF) 标准化或原始审计日志以 JSON 格式输出到 Firehose 流作为目的地。有关更多信息，请参阅[在 Firehose 中创建输出位置](prerequisites.md#output-location-firehose)。

**Amazon Security Lake**

Amazon Security Lake 会自动将来自 AWS 环境、SaaS 提供商、本地和云源的安全数据集中到存储在您账户中的专用数据湖中。您可以将 AppFabric 审核日志数据与安全湖集成，方法是选择 Amazon Data Firehose 作为目标，然后将 Firehose 配置为在安全湖中以正确的格式和路径传输数据。有关更多信息，请参阅 *Amazon Security Lake 用户指南*中的[从自定义来源收集数据](https://docs.aws.amazon.com/security-lake/latest/userguide/custom-sources.html)。

**Amazon Simple Storage Service**

Amazon Simple Storage Service（Amazon S3）是一种对象存储服务，提供行业领先的可扩展性、数据可用性、安全性和性能。使用时 AppFabric，您可以选择将 OCSF 标准化（JSON 或Apache Parquet）或原始（JSON）审计日志输出到新的或现有的 Amazon S3 存储桶作为目标。有关更多信息，请参阅[在 Amazon S3 中创建输出位置](prerequisites.md#output-location-s3)。

**Amazon 快速**

Quick 通过超大规模的统一商业智能 (BI) 为数据驱动型组织提供支持。借助 Quick，所有用户都可以通过现代交互式仪表板、分页报告、嵌入式分析和自然语言查询，从同一个真实来源满足不同的分析需求。您可以在 Quick 中分析 AppFabric 审计日志数据，方法是选择存储 AppFabric 日志的 Amazon S3 存储桶作为来源。有关更多信息，请参阅*快速用户指南*中的[使用 Amazon S3 文件创建数据集](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-s3.html)。您也可以将 Amazon S3 中的 AppFabric 数据导入到亚马逊 Athena，然后在 Quick 中选择 Amazon Athena 作为数据源。有关更多信息，请参阅快速用户指南中的[使用 Amazon Athena 数据创建数据集](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-athena.html)*。*

**AWS Key Management Service**

使用 AWS Key Management Service (AWS KMS)，您可以跨应用程序创建、管理和控制加密密钥，以及 AWS 服务。在中创建应用程序包时 AppFabric，需要设置加密密钥来安全地保护您的授权应用程序数据。此密钥对您在 AppFabric 服务中的数据进行加密。 AppFabric 可以使用代表您 AWS 拥有的密钥 创建和管理的 AppFabric 密钥，也可以使用您在中创建和管理的客户托管密钥 AWS KMS。有关更多信息，请参阅[创建 AWS KMS 密钥](prerequisites.md#create-kms-keys)。

# 开放网络安全架构框架 AWS AppFabric
<a name="ocsf-schema"></a>

[开放网络安全架构框架](https://schema.ocsf.io/) (OCSF) 是由 AWS 网络安全行业的领先合作伙伴共同开发的开源项目。OCSF 为常见安全事件提供了标准架构，定义了版本控制标准以促进架构的演变，还包括安全日志生成者和使用者的自治流程。OCSF 的公共源代码托管在。[GitHub](https://github.com/ocsf/ocsf-schema)

## 中基于 OCSF 的架构 AppFabric
<a name="appfabric-ocsf-schema"></a>

基于安全性 [OCSF 1.1](https://schema.ocsf.io/1.1.0/) 的架构专 AWS AppFabric 为满足您对其软件即服务 (SaaS) 产品组合的标准化、一致、省力可观察性的需求而量身定制。 AppFabric 确定每个字段和事件的正确映射。 AppFabric与 OCSF 开源社区合作，引入了新的 OCSF 事件类别、事件类别、活动和对象，以便 OCSF 适用于 SaaS 应用程序事件。 AppFabric 自动规范从 SaaS 应用程序接收的审计事件，并将这些数据传输到您的中的亚马逊简单存储服务 (Amazon S3) 或 Amazon Data Firehose 服务。 AWS 账户对于 Amazon S3 目标，您可以在两个标准化选项（OCSF 或 Raw）和两个数据格式选项（JSON 或 Parquet）之间进行选择。传送到 Firehose 时，您还可以在两个标准化选项（OCSF 或 Raw）之间进行选择，但数据格式仅限于 JSON。

# 先决条件和使用建议 AWS AppFabric
<a name="prerequisites"></a>

如果您是新 AWS 客户，请先完成本页列出的设置先决条件，然后再开始使用 AWS AppFabric 以提高安全性。对于这些设置过程，您可以使用 AWS Identity and Access Management （IAM）服务。有关 IAM 的完整信息，请参阅[《IAM 用户指南》](https://docs.aws.amazon.com/IAM/latest/UserGuide/)。

**Topics**
+ [注册获取 AWS 账户](#sign-up-for-aws)
+ [创建具有管理访问权限的用户](#create-an-admin)
+ [（必需）完成应用程序先决条件](#application-prerequisites)
+ [（可选）创建输出位置](#create-output-location)
+ [（可选）创建 AWS KMS 密钥](#create-kms-keys)

## 注册获取 AWS 账户
<a name="sign-up-for-aws"></a>

如果您没有 AWS 账户，请完成以下步骤来创建一个。

**报名参加 AWS 账户**

1. 打开[https://portal.aws.amazon.com/billing/注册。](https://portal.aws.amazon.com/billing/signup)

1. 按照屏幕上的说明操作。

   在注册时，将接到电话或收到短信，要求使用电话键盘输入一个验证码。

   当您注册时 AWS 账户，就会创建*AWS 账户根用户*一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为最佳安全实践，请为用户分配管理访问权限，并且只使用根用户来执行[需要根用户访问权限的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

AWS 注册过程完成后会向您发送一封确认电子邮件。您可以随时前往 [https://aws.amazon.com/](https://aws.amazon.com/)并选择 “**我的账户”，查看您当前的账户活动并管理您的账户**。

## 创建具有管理访问权限的用户
<a name="create-an-admin"></a>

注册后，请保护您的安全 AWS 账户 AWS 账户根用户 AWS IAM Identity Center，启用并创建管理用户，这样您就不会使用 root 用户执行日常任务。

**保护你的 AWS 账户根用户**

1.  选择 **Root 用户**并输入您的 AWS 账户 电子邮件地址，以账户所有者的身份登录。[AWS 管理控制台](https://console.aws.amazon.com/)在下一页上，输入您的密码。

   要获取使用根用户登录方面的帮助，请参阅《AWS 登录 用户指南》**中的 [Signing in as the root user](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 为您的根用户启用多重身份验证（MFA）。

   有关说明，请参阅 I [A *M* 用户指南中的为 AWS 账户 根用户启用虚拟 MFA 设备（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**创建具有管理访问权限的用户**

1. 启用 IAM Identity Center。

   有关说明，请参阅**《AWS IAM Identity Center 用户指南》中的[启用 AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)。

1. 在 IAM Identity Center 中，为用户授予管理访问权限。

   有关使用 IAM Identity Center 目录 作为身份源的教程，请参阅《[用户*指南》 IAM Identity Center 目录中的使用默认设置配置AWS IAM Identity Center 用户*访问权限](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)。

**以具有管理访问权限的用户身份登录**
+ 要使用您的 IAM Identity Center 用户身份登录，请使用您在创建 IAM Identity Center 用户时发送到您的电子邮件地址的登录 URL。

  有关使用 IAM Identity Center 用户[登录的帮助，请参阅*AWS 登录 用户指南*中的登录 AWS 访问门户](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)。

**将访问权限分配给其他用户**

1. 在 IAM Identity Center 中，创建一个权限集，该权限集遵循应用最低权限的最佳做法。

   有关说明，请参阅《AWS IAM Identity Center 用户指南》**中的 [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)。

1. 将用户分配到一个组，然后为该组分配单点登录访问权限。

   有关说明，请参阅《AWS IAM Identity Center 用户指南》**中的 [Add groups](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)。

## （必需）完成应用程序先决条件
<a name="application-prerequisites"></a>

 AppFabric 为了确保从应用程序接收用户信息和审核日志的安全性，许多应用程序都要求您具有特定的角色和计划类型。为了安全起见，请确保您已查看要授权的每个应用程序 AppFabric 的先决条件，并且您有正确的计划和角色。有关特定于应用程序的先决条件的更多信息，请参阅[支持的应用程序](supported-applications.md)，或选择以下应用程序特定主题之一。
+ [配置1Password为 AppFabric](1password.md)
+ [配置Asana为 AppFabric](asana.md)
+ [配置Azure Monitor为 AppFabric](azure-monitor.md)
+ [配置Atlassian Confluence为 AppFabric](confluence.md)
+ [配置Atlassian Jira suite为 AppFabric](jira.md)
+ [配置Box为 AppFabric](box.md)
+ [配置Cisco Duo为 AppFabric](cisco-duo.md)
+ [配置Dropbox为 AppFabric](dropbox.md)
+ [配置Genesys Cloud为 AppFabric](genesys.md)
+ [配置GitHub为 AppFabric](github.md)
+ [配置Google Analytics为 AppFabric](google-analytics.md)
+ [配置Google Workspace为 AppFabric](google-workspace.md)
+ [配置HubSpot为 AppFabric](hubspot.md)
+ [配置IBM Security® Verify为 AppFabric](ibm-security.md)
+ [配置JumpCloud为 AppFabric](jumpcloud.md)
+ [将 Microsoft 365 配置为 AppFabric](microsoft-365.md)
+ [配置Miro为 AppFabric](miro.md)
+ [配置Okta为 AppFabric](okta.md)
+ [配置OneLogin by One Identity为 AppFabric](onelogin.md)
+ [配置PagerDuty为 AppFabric](pagerduty.md)
+ [配置Ping Identity为 AppFabric](pingidentity.md)
+ [配置Salesforce为 AppFabric](salesforce.md)
+ [配置ServiceNow为 AppFabric](servicenow.md)
+ [配置Singularity Cloud为 AppFabric](singularity-cloud.md)
+ [配置Slack为 AppFabric](slack.md)
+ [配置Smartsheet为 AppFabric](smartsheet.md)
+ [配置Terraform Cloud为 AppFabric](terraform.md)
+ [配置Webex by Cisco为 AppFabric](webex.md)
+ [配置Zendesk为 AppFabric](zendesk.md)
+ [配置Zoom为 AppFabric](zoom.md)

## （可选）创建输出位置
<a name="create-output-location"></a>

AppFabric 为了安全起见，支持将亚马逊简单存储服务 (Amazon S3) Service 和 Amazon Data Firehose 作为审核日志摄取目标。

### Amazon S3
<a name="output-location-s3"></a>

在创建接收目标时，您可以使用 AppFabric 控制台创建新的 Amazon S3 存储桶。您还可以使用 Amazon S3 服务创建存储桶。如果您选择使用 Amazon S3 服务创建存储桶，则必须在创建 AppFabric 提取目标之前创建存储桶，然后在创建接收目标时选择存储桶。只要现有的 Amazon S3 存储桶满足现有存储桶的以下要求 AWS 账户，您就可以选择使用其中的现有 Amazon S3 存储桶：
+ AppFabric 为了安全起见，要求您的 Amazon S3 存储桶与您的 Amazon S3 资源 AWS 区域 相同。
+ 您可以使用以下方法之一对存储桶进行加密：
  + 具有 Amazon S3 托管密钥的服务器端加密（SSE-S3）
  + 使用 AWS Key Management Service (AWS KMS) 密钥进行服务器端加密 (SSE-KMS)，使用默认值 AWS 托管式密钥 ()。`aws/s3`

### Amazon Data Firehose
<a name="output-location-firehose"></a>

您可以选择使用 Amazon Data Firehose 作为安全数据的接收目的地。 AppFabric 要使用 Firehose，您可以在创建摄取 AWS 账户 之前或在中创建摄取目标时在中创建 Firehose 传送流。 AppFabric您可以使用 AWS 管理控制台、 AWS CLI、或创建 Firehose 传送流。 AWS APIs SDKs有关流配置说明，请参阅以下主题：
+ AWS 管理控制台 说明 — [在《亚马逊数据 Firehose 开发者指南》中创建*亚马逊数据 Firehose* 传送流](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html)
+ AWS CLI 指令 — [https://docs.aws.amazon.com/](https://docs.aws.amazon.com/)在《*AWS CLI 命令参考*》中 
+ AWS APIs 和 SDKs 说明 — [https://docs.aws.amazon.com/firehose/latest/APIReference/API_CreateDeliveryStream.html](https://docs.aws.amazon.com/firehose/latest/APIReference/API_CreateDeliveryStream.html)在 *Amazon Data Firehos* e API 参考中 

出于安全考虑，使用 Amazon Data Fireh AppFabric ose 作为输出目标时的要求如下：
+  AppFabric 对于安全资源，您必须使用与您 AWS 区域 相同的方法创建直播。
+ 必须选择**直接 PUT** 作为来源。
+ 将**AmazonKinesisFirehoseFullAccess** AWS 托管策略附加到您的用户，或者为您的用户附加以下权限：

  ```
  {
      "Sid": "TagFirehoseDeliveryStream",
      "Effect": "Allow",
      "Action": ["firehose:TagDeliveryStream"],
      "Condition": {
          "ForAllValues:StringEquals": {"aws:TagKeys": "AWSAppFabricManaged"}
      },
      "Resource": "arn:aws:firehose:*:*:deliverystream/*"
  }
  ```

Firehose 支持与各种第三方安全工具集成，例如Splunk和。Logz.io有关如何正确配置 Amazon Kinesis 以使其向这些工具输出数据的信息，请参阅《*亚马逊数据 Firehose* 开发者指南》中的[目标设置](https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html)。

## （可选）创建 AWS KMS 密钥
<a name="create-kms-keys"></a>

在创建安全应用程序捆绑包的过程中，您将选择或设置加密密钥，以安全地保护您的数据免受所有授权应用程序的侵害。 AppFabric 此密钥将用于在 AppFabric 服务中加密您的数据。

AppFabric 为了安全起见，默认情况下会加密数据。 AppFabric 为了安全起见，可以使用代表您 AWS 拥有的密钥 创建和管理的 AppFabric 密钥，也可以使用您在 AWS Key Management Service (AWS KMS) 中创建和管理的客户托管密钥。 AWS 拥有的密钥 是 a AWS 服务 拥有并管理的 AWS KMS 密钥集合，用于多个密钥 AWS 账户。客户管理的密 AWS KMS 钥 AWS 账户 是您创建、拥有和管理的密钥。有关客户托管密钥 AWS 拥有的密钥 的更多信息，请参阅*《AWS Key Management Service 开发人员指南》*中的[客户 AWS 密钥和密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt)。

为了安全起见，如果您想使用客户管理的密钥来加密数据（例如授权令牌），则可以使用创建一个[AWS KMS](https://aws.amazon.com/kms/)。 AppFabric 有关授予客户托管密钥访问权限的权限策略的更多信息 AWS KMS，请参阅本指南的[密钥策略](data-protection.md#key-policy)部分。

# 为了安全起见， AWS AppFabric 请开始使用
<a name="getting-started-security"></a>

 AWS AppFabric 为了安全起见，您必须先创建一个应用程序包，然后授权应用程序并将其连接到您的应用程序包。将应用程序授权连接到应用程序后，您可以使用 AppFabric 安全功能，例如审核日志提取和用户访问权限。

本节介绍如何开始 AppFabric 在中使用 AWS 管理控制台。

**Topics**
+ [先决条件](#getting-started-prerequisites)
+ [第 1 步：创建应用程序捆绑包](#getting-started-1-create-app-bundle)
+ [第 2 步：授权应用程序](#getting-started-2-authorize-application)
+ [第 3 步：设置审核日志提取](#getting-started-3-set-up-ingestion)
+ [第 4 步：使用用户访问工具](#getting-started-4-user-access-tool)
+ [步骤 5：Connect AppFabric 以获取安全工具和其他目标中的安全数据](#getting-started-5-connect-appfabric-to-security-tools)

## 先决条件
<a name="getting-started-prerequisites"></a>

在开始之前，必须先创建一个 AWS 账户 和一个管理用户。有关更多信息，请参阅[注册获取 AWS 账户](prerequisites.md#sign-up-for-aws)和[创建具有管理访问权限的用户](prerequisites.md#create-an-admin)。

## 第 1 步：创建应用程序捆绑包
<a name="getting-started-1-create-app-bundle"></a>

App bundle 会存储您的所有内容 AppFabric ，用于安全应用程序授权和摄取。要创建应用程序捆绑包，请设置加密密钥以安全保护您的授权应用程序数据。

1. 打开 AppFabric 控制台，网址为[https://console.aws.amazon.com/appfabric/](https://console.aws.amazon.com/appfabric/)。

1. 在页面右上角的选择**区域选择器中，选择一个**。 AWS 区域 AppFabric 仅在美国东部（弗吉尼亚北部）、欧洲（爱尔兰）和亚太地区（东京）地区提供。

1. 选择**开始使用**。

1. 在**开始使用**页面上，进入**步骤 1。创建应用程序捆绑包**，选择**创建应用程序捆绑包**。

1. 在**加密**部分中，设置加密密钥以安全保护您的数据免受所有授权应用程序的访问。此密钥用于在安全服务中 AppFabric加密您的数据。

   AppFabric 为了安全起见，默认情况下会加密数据。 AppFabric 可以使用代表您 AWS 拥有的密钥 创建和管理的密钥，也可以使用您 AppFabric 在 AWS Key Management Service (AWS KMS) 中创建和管理的客户托管密钥。

1.  对于 **AWS KMS 密钥**，选择**使用 AWS 拥有的密钥** 或**客户托管密钥**。

   如果您选择使用客户托管密钥，请输入您要使用的现有密钥的 Amazon 资源名称（ARN）或密钥 ID，或者选择**创建 AWS KMS 密钥**。

   选择 AWS 拥有的密钥 或客户托管密钥时，请考虑以下几点：
   + **AWS 拥有的密钥**是 AWS Key Management Service (AWS KMS) 密钥的集合，这些密钥由一个人 AWS 服务 拥有并管理，用于多个密钥 AWS 账户。尽管 AWS 拥有的密钥 不在您的账户中 AWS 账户，但 AWS 服务 可以使用 AWS 拥有的密钥 来保护您账户中的资源。 AWS 拥有的密钥 不要计入您账户的 AWS KMS 配额。您不必创建或维护该密钥或其密钥策略。的轮换因服务 AWS 拥有的密钥 而异。有关 for 轮换的信息 AppFabric， AWS 拥有的密钥 请参阅静[态加密](data-protection.md#encryption-rest)。
   + 客户托管密钥是您 AWS 账户 自己创建、拥有和管理的 KMS 密钥。您可以完全控制这些 AWS KMS 按键。您可以建立和维护他们的密钥策略、 AWS Identity and Access Management (IAM) 策略和授权。您可以启用和禁用它们、轮换其加密材料、添加标签、创建引用 AWS KMS 密钥的别名以及安排删除 AWS KMS 密钥。客户管理的密钥显示在的**客户管理的密钥页面**上 AWS 管理控制台 AWS KMS。

     要明确地标识客户托管密钥，请使用 `DescribeKey` 操作。对于客户托管密钥，`DescribeKey` 响应的 `KeyManager` 字段的值为 `CUSTOMER`。您可以在加密操作中使用您的客户托管密钥，也可以在 AWS CloudTrail 日志中审核使用情况。对于许多与 AWS 服务 之集成的密钥 AWS KMS，您可以指定客户托管的密钥来保护为您存储和管理的数据。客户管理的密钥需要支付月费，超出 AWS 免费套餐的使用量则需要付费。客户托管的密钥计入您账户的 AWS KMS 配额。

   有关客户托管密钥 AWS 拥有的密钥 的更多信息，请参阅*《AWS Key Management Service 开发人员指南》*中的[客户 AWS 密钥和密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt)。
**注意**  
创建应用程序包时， AppFabric 为了安全起见，还会在您的 AWS 账户 名为服务相关角色 (SLR) 中创建一个特殊的 IAM 角色。 AppFabric它允许该服务向 Amazon 发送指标 CloudWatch。添加审核日志目标后，SLR 允许安全服务访问您的 AWS 资源（Amazon S3 存储桶、Amazon Data Firehose 传输流）。 AppFabric 有关更多信息，请参阅 [将服务相关角色用于 AppFabric](using-service-linked-roles.md)。

1. （可选）对于**标签**，您可以选择将标签添加到应用程序捆绑包。标签是键/值对，用于将元数据分配到您创建的资源。有关更多信息，请参阅《[标签编辑器用户指南》中的为 AWS 资源AWS](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)*添加标签*。

1. 要创建您的应用程序捆绑包，请选择**创建应用程序捆绑包**。

## 第 2 步：授权应用程序
<a name="getting-started-2-authorize-application"></a>

成功创建应用程序包后， AppFabric 为了安全起见，您现在可以授权与每个应用程序进行连接和交互。已授权的应用程序会进行加密并存储在您的应用程序捆绑包中。要为每个应用程序捆绑包设置多个应用程序授权，请根据需要为每个应用程序重复应用程序授权步骤。

在开始授权应用程序之前，请在 [AppFabric 为了安全起见，中支持的应用程序](supported-applications.md) 中查看并验证每个应用程序的先决条件，例如所需的计划类型。

1. 在**开始使用**页面上，进入**步骤 2。授权应用程序**，选择**创建应用程序授权**。

1. 在 “**应用程序授权**” 部分，从 “应用程序” 下拉列表中选择要授予安全连接权限的**应用程序**。 AppFabric AppFabric 为了安全起见，显示的应用程序是当前支持的应用程序。

1. 选择应用程序时，将显示必填的信息字段。这些字段包括租户 ID 和租户名称，还可能包括客户端 ID、客户端密钥或个人访问令牌。这些字段的输入值因应用程序而异。有关如何查找这些值的特定于应用程序的详细说明，请参阅 [AppFabric 为了安全起见，中支持的应用程序](supported-applications.md)。

1. （可选）对于**标签**，您可以选择将标签添加到应用程序授权中。标签是键/值对，用于将元数据分配到您创建的资源。有关更多信息，请参阅《[标签编辑器用户指南》中的为 AWS 资源AWS](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)*添加标签*。

1. 选择**创建应用程序授权**。

1. 如果出现弹出窗口（取决于正在连接的应用程序），请选择 “**允许**” 以授权与您的应用程序 AppFabric 进行安全连接。

   如果您的应用程序授权成功，您将在**开始使用**页面上看到一条**应用程序授权已连接**的成功消息。

1. 您可以随时在导航窗格中每个应用程序状态下的**应用程序授权**页面上查看应用程序授权状态。“已**连接**” 状态表示您的应用程序已 AppFabric 获得授权，以确保连接到应用程序的安全性，并且已完成。

1. 下表显示了可能的应用程序授权状态，包括您可以采取哪些故障排除步骤来修复相关错误。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appfabric/latest/adminguide/getting-started-security.html)

1. 要授权其他应用程序，请根据需要重复步骤 1 到 8。

## 第 3 步：设置审核日志提取
<a name="getting-started-3-set-up-ingestion"></a>

在应用程序捆绑包中创建了至少一个应用程序授权后，您现在可以设置审核日志提取了。审核日志提取使用来自授权应用程序的审核日志，并将其标准化为开放网络安全架构框架 (OCSF)。然后，它们将被运送至其中一个或多个目标 AWS。也可以选择将 Raw - JSON 文件传输至目标。

1. 在**开始使用**页面上，进入**步骤 3。设置审核日志提取**部分，选择**提取快速设置**。
**注意**  
要加快设置速度，请进入**提取快速设置**页面（仅可从**开始使用**页面访问），一次性为多个提取目标相同的应用程序授权创建提取。例如，相同的亚马逊 S3 存储桶或 Amazon Data Firehose 数据流。  
您也可以从**提取**页面创建提取，该页面可从导航窗格访问。在**提取**页面上，每次您可以设置一次目标不同的提取。在**提取**页面上，您还可以为提取创建标签。以下为**提取快速设置**页面的说明。

1. 对于**选择应用程序授权**，选择要创建审核日志提取的应用程序授权。为了安全起见，“**应用程序授权**” 下拉列表中显示的租户名称是您之前为其创建应用程序授权的应用程序的 AppFabric 租户名称。

1.  在**添加目标**中，选择所选应用程序的审核日志提取目标。目标选项包括**亚马逊 S3-现有存储桶**、**亚马逊 S3-新存储桶**或**亚马逊 Data Firehose**。如果您选择了多个租户名称，则您选择的目标将应用于每次应用程序授权提取。

1. 选择目标时，会出现其他必填字段。

   1. 如果您选择 **Amazon S3 - 新存储桶**作为目标，则必须输入要创建的 S3 存储桶的名称。有关如何创建 Amazon S3 存储桶的更多说明，请参阅[创建输出目标](prerequisites.md#create-output-location)。

   1. 如果您选择 **Amazon S3 - 现有存储桶**作为目标，请选择要使用的 Amazon S3 存储桶的名称。

   1. 如果您选择 **Amazon Data Firehose** 作为目的地，请从 Firehose 传输流名称下拉列表中选择传输流的名称。有关如何创建 Amazon Data Firehose 传输流的更多说明，请参阅[创建输出目标](prerequisites.md#create-output-location)并注意安全 AppFabric 所需的权限策略。

1. 对于**架构和格式**，对于亚马逊 S3 存储桶，您可以选择将审核日志存储为 Ra **w-JSON、OCSF-JSON**、**OCSF（Parquet适用于亚马逊 S** **3 存储桶）或 Raw-JSON 或 OCSF** **-JSON（适用于 Firehos** e）。

   原始数据格式提供将审核日志数据从数据字符串转换为 JSON 的功能。为了安全起见，OCSF 数据格式将您的审核日志数据标准化 AppFabric 为开放式网络安全架构框架 (OCSF) 架构。有关如何 AppFabric 使用 OCSF 的更多信息，请参阅[开放网络安全架构框架 AWS AppFabric](ocsf-schema.md)。每次只能选择一种模式和格式数据类型进行数据提取。如果要添加其他架构和格式数据类型，则可以通过重复提取创建过程来设置其他提取目标。

1. （可选）如果要为提取添加标签，请从导航窗格转到**提取**页面。要转到提取详细信息页面，请选择租户名称。对于**标签**，您可以选择在提取中添加标签。标签是键/值对，用于将元数据分配到您创建的资源。有关更多信息，请参阅《[标签编辑器用户指南》中的为 AWS 资源AWS](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)*添加标签*。

1. 选择**设置提取**。

   成功设置提取后，您将在**开始使用**页面看到一条**提取已创建**的成功消息。

1. 您也可以随时在导览窗格的**提取**页面上查看您的提取状态和提取目标的状态。在此页面上，您可以看到在创建应用程序授权时创建的租户名称、目标和提取状态。提取状态为**已启用**，表示您的提取已启用。如果您在此页面上选择应用程序授权的租户名称，则可以看到该应用程序授权的详细信息页面，包括目标详细信息和状态。提取目标的状态为**活动**，表示目标已正确设置且处于活动状态。如果应用程序授权的状态为**已连接**，且提取目标状态为**活动**，表示应处理并提交审核日志。如果应用程序授权状态或提取目标状态为失败状态，表示即使启用了提取状态，也不会处理或传送审核日志。要修复应用程序授权失败，请参阅[步骤 2。授权应用程序](#getting-started-2-authorize-application)。

1. 下表显示了可能出现的提取和提取目标状态，以及您可以采取以修复任何错误状态的故障排除步骤。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appfabric/latest/adminguide/getting-started-security.html)

## 第 4 步：使用用户访问工具
<a name="getting-started-4-user-access-tool"></a>

使用安全用户访问工具，安全和 IT 管理员团队可以使用员工的公司电子邮件地址进行简单搜索，从而快速查看谁有权访问特定应用程序。 AppFabric 这种方法有助于减少在诸如用户取消配置的任务上花费的时间，这些任务可能需要手动检查或审核用户对 SaaS 应用程序的访问。如果找到了用户， AppFabric 出于安全考虑，将在应用程序中提供该用户的姓名以及应用程序内用户状态（例如，Active）（如果应用程序提供）。 AppFabric 为了安全起见，搜索应用程序包中的所有授权应用程序，以返回用户有权访问的应用程序列表。

1. 在**开始使用**页面上，进入**步骤 4。使用用户访问工具**，选择**查找用户**。

1. 在**电子邮箱地址**字段中，键入用户的电子邮箱地址，然后选择**搜索**。

1. 在**搜索结果**部分，您可以看到用户有权访问的所有授权应用程序的列表。要在应用程序中显示用户的姓名及其状态（如有），请选择搜索结果。

1. 搜索结果栏中出现**找到用户**的消息，表示用户已列出可以访问的应用程序。下表显示了可能出现的搜索结果、错误以及为解决这些错误可以采取的措施。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appfabric/latest/adminguide/getting-started-security.html)

## 步骤 5：Connect AppFabric 以获取安全工具和其他目标中的安全数据
<a name="getting-started-5-connect-appfabric-to-security-tools"></a>

来自的标准化（或原始）应用程序数据与任何支持从 AppFabric Amazon S3 提取数据并与 Firehose 集成的工具兼容，包括、、Barracuda XDR、、、DynatraceLogz.ioNetskopeNetWitnessRapid7Splunk、和等安全工具或您的专有安全解决方案。要从中获取标准化（或原始）应用程序数据 AppFabric，请按照前面的步骤 1 到 3 进行操作。有关如何设置特定安全工具和服务的更多详细信息，请参阅[兼容的安全工具和服务](security-tools.md)。

# AppFabric 为了安全起见，中支持的应用程序
<a name="supported-applications"></a>

AWS AppFabric 为了安全起见，支持与以下应用程序集成。选择应用程序的名称，了解有关如何设置安全性 AppFabric 以连接到该应用程序的更多信息。

**Topics**
+ [配置1Password为 AppFabric](1password.md)
+ [配置Asana为 AppFabric](asana.md)
+ [配置Azure Monitor为 AppFabric](azure-monitor.md)
+ [配置Atlassian Confluence为 AppFabric](confluence.md)
+ [配置Atlassian Jira suite为 AppFabric](jira.md)
+ [配置Box为 AppFabric](box.md)
+ [配置Cisco Duo为 AppFabric](cisco-duo.md)
+ [配置Dropbox为 AppFabric](dropbox.md)
+ [配置Genesys Cloud为 AppFabric](genesys.md)
+ [配置GitHub为 AppFabric](github.md)
+ [配置Google Analytics为 AppFabric](google-analytics.md)
+ [配置Google Workspace为 AppFabric](google-workspace.md)
+ [配置HubSpot为 AppFabric](hubspot.md)
+ [配置IBM Security® Verify为 AppFabric](ibm-security.md)
+ [配置JumpCloud为 AppFabric](jumpcloud.md)
+ [将 Microsoft 365 配置为 AppFabric](microsoft-365.md)
+ [配置Miro为 AppFabric](miro.md)
+ [配置Okta为 AppFabric](okta.md)
+ [配置OneLogin by One Identity为 AppFabric](onelogin.md)
+ [配置PagerDuty为 AppFabric](pagerduty.md)
+ [配置Ping Identity为 AppFabric](pingidentity.md)
+ [配置Salesforce为 AppFabric](salesforce.md)
+ [配置ServiceNow为 AppFabric](servicenow.md)
+ [配置Singularity Cloud为 AppFabric](singularity-cloud.md)
+ [配置Slack为 AppFabric](slack.md)
+ [配置Smartsheet为 AppFabric](smartsheet.md)
+ [配置Terraform Cloud为 AppFabric](terraform.md)
+ [配置Webex by Cisco为 AppFabric](webex.md)
+ [配置Zendesk为 AppFabric](zendesk.md)
+ [配置Zoom为 AppFabric](zoom.md)

# 配置1Password为 AppFabric
<a name="1password"></a>

1Password是一款密码管理器，可帮助您为所有在线帐户创建、存储和使用强密码。它还可以通过加密来保护您的数据，提醒您出现漏洞，并允许您共享密码。

 AWS AppFabric 出于安全考虑，您可以使用来审核来自的日志和用户数据1Password，将数据标准化为开放网络安全架构框架 (OCSF) 格式，并将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 1Password](#1password-appfabric-support)
+ [正在 AppFabric 连接您的1Password账户](#1password-appfabric-connecting)

## AppFabric 支持 1Password
<a name="1password-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志1Password。

### 先决条件
<a name="1password-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输1Password到支持的目的地，您必须满足以下要求：
+ 您必须拥有有效的付费1Password商业版或企业版订阅计划。有关更多信息，请参阅1Password网站上的[1Password企业版](https://1password.com/business-pricing)。
+ 您的1Password账户中必须具有管理员角色或团队所有者。有关更多信息，请参阅1Password支持网站中的[群组](https://support.1password.com/groups/)。

### 速率限制注意事项
<a name="1password-rate-limits"></a>

1Password AuditLog 事件 API 将请求限制为每分钟 600 个，每小时最多 30,000 个。超过这些限制会返回错误。有关更多信息，请参阅 “*1Password事件 1Password API 参考” 中的 API* [速率限制](https://developer.1password.com/docs/events-api/reference/#rate-limits)。

### 数据延迟注意事项
<a name="1password-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的1Password账户
<a name="1password-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权1Password。要查找授权所需的信息 1Password AppFabric，请按以下步骤操作。

### 创建个人1Password访问令牌
<a name="1password-appfabric-access-token"></a>

1Password支持公共客户端的个人访问令牌。完成以下步骤以生成个人访问令牌。

1. 登录您的 1Password 账户。

1. 在导航窗格中选择 “**集成**”。

1. 如果存在现有集成，请选择**目录**。否则，请继续下一步。

1. 在 “**事件报告集成**” 下选择 “**其他**”。

1. 在**添加集成**页面上，输入您的安全信息和事件管理 (SIEM) 系统名称（例如 S AppFabric ecure）

1. 选择**添加集成**，然后在**设置令牌**页面中完成以下步骤。

   1. 提供要在 AppFabric 安全环境中使用的令牌名称。

   1. 我们建议您在 “过**期后到期**” 下拉列表中选择 “**永不**”。如果选择了任何其他值，则在过期时间过后1Password撤消令牌。

   1. 在 “**要报告的事件**” 部分，选择**登录尝试次数**、**项目使用事件**和**审核事件**。

1. 选择**发行代币**以创建代币。

1. 选择 “**保存于**” 1Password 并完成以下步骤。

   1. 标题将根据您的系统和令牌名称自动填充。

   1. 在 “选择**文件库” 下选择 “****私有**”。

   1. 选择**保存**。

有关更多信息，请参阅1Password网站上的 “[1Password事件报告入门](https://support.1password.com/events-reporting/)”。

### 应用程序授权
<a name="1password-app-authorizations"></a>

#### 租户编号
<a name="1password-tenant-id"></a>

AppFabric 将请求您的租户 ID。中的租户 ID AppFabric 将是您的1Password登录地址。完成以下步骤以查找您的租户 ID。

1. 登录您的 1Password 账户。

1. 在导航窗格中，选择**设置**。

1. 页面上列出了您的1Password登录信息。例如，e **xample-** account.1password.com。

#### 租户名称
<a name="1password-tenant-name"></a>

输入标识此唯一1Password组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 服务账户令牌
<a name="1password-service-account-token"></a>

您必须拥有来自服务帐号的1Password服务帐号令牌才能进入 AppFabric 1Password应用程序授权。如果您还没有服务账户令牌，请使用以下步骤创建：

AppFabric 将请求服务帐号令牌。中的服务帐号令牌 AppFabric是您创建的个人访问令牌。在 **1Pas** sword 门户中完成以下步骤以查找个人访问令牌。

1. 选择**控制面板**。

1. 选择 “**人员**”。

1. 选择**账户所有者姓名**。

1. 选择**私有**。

1. 选择 “**查看保管库**”。

1. 选择**代币名称**。

#### 客户授权
<a name="1password-client-authorization"></a>

 AppFabric 使用租户 ID、租户名称和服务帐号令牌在中创建应用程序授权。然后选择 **Connect** 以激活授权。

# 配置Asana为 AppFabric
<a name="asana"></a>

Asana 是一个工作管理平台，可帮助个人、团队和组织协调工作，涵盖日常任务到跨职能战略计划。它提供了清晰的生态系统，每个人都可以在其中沟通、协作和协调。借助 Asana，团队可以将关键业务工具整合到一个地方，这样无论工作在何处出现，都能向前推进。

 AWS AppFabric 出于安全考虑，您可以使用来审核来自的日志和用户数据Asana，将数据标准化为开放网络安全架构框架 (OCSF) 格式，并将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Asana](#asana-appfabric-support)
+ [正在 AppFabric 连接您的Asana账户](#asana-appfabric-connecting)

## AppFabric 支持 Asana
<a name="asana-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Asana。

### 先决条件
<a name="asana-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Asana到支持的目的地，您必须满足以下要求：
+ 您必须拥有具有 Asana 的**企业账户**。有关创建或升级到 Asana 企业账户的更多信息，请参阅 Asana 网站上的 [Asana 企业](https://asana.com/enterprise)账户。
+ 您的 Asana 账户中必须有具有**超级管理员**角色的用户。有关角色的更多信息，请参阅 Asana 网站上的 [Asana 中的管理员和超级管理员角色](https://help.asana.com/hc/en-us/articles/14141552580635-Admin-and-super-admin-roles-in-Asana)。

### 速率限制注意事项
<a name="asana-rate-limits"></a>

Asana 对 Asana API 施加速率限制。有关 Asana API 速率限制的更多信息，请参阅 *Asana 开发人员指南*网站上的[速率限制](https://developers.asana.com/docs/rate-limits)。如果 AppFabric 和您的现有Asana应用程序的组合超过限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="asana-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Asana账户
<a name="asana-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Asana。要查找授权所需的信息 Asana AppFabric，请按以下步骤操作。

### 应用程序授权
<a name="asana-app-authorizations"></a>

#### 租户编号
<a name="asana-tenant-id"></a>

AppFabric 将请求您的租户 ID。中的租户 ID AppFabric 在中称为域 ID Asana。要查找域 ID，请按照 Asana 主屏幕上的以下说明进行操作：

1. 选择您的账户个人资料头像，然后选择**管理员控制台**。

1. 然后选择**设置**。

1. 滚动到**域设置**。

1. 将此部分中的域 ID 输入到 AppFabric 租户 ID 配置中。

#### 租户名称
<a name="asana-tenant-name"></a>

输入标识此唯一Asana组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 服务账户令牌
<a name="asana-service-account-token"></a>

您必须拥有来自服务帐号的Asana服务帐号令牌才能进入 AppFabric Asana应用程序授权。如果您还没有服务账户令牌，请使用以下步骤创建：

1. 要创建服务账户，请按照 *Asana 指南*网站上的[服务账户](https://help.asana.com/hc/en-us/articles/14217496838427-Service-Accounts)中的说明进行操作。

1. 首次查看**添加服务账户**页面时，请复制并保存**添加服务账户**页面底部的令牌。

1. 如果您在保存令牌之前关闭了**添加服务账户**页面，则必须编辑您的服务账户，生成新的令牌并进行保存。

# 配置Azure Monitor为 AppFabric
<a name="azure-monitor"></a>

Azure Monitor是一款全面的监控解决方案，用于收集、分析和响应来自云端和本地环境的监控数据。您可以使用Azure Monitor来最大限度地提高应用程序和服务的可用性和性能。它可以帮助您了解应用程序的性能，并允许您手动和以编程方式响应系统事件。

Azure Monitor跨多个 Azure 和非 Azure 订阅和租户收集和聚合来自系统每个层和组件的数据。它将其存储在通用数据平台中，供一组常用工具使用，这些工具可以关联、分析、可视化和 and/or 响应数据。你也可以集成其他微软和非微软工具。Azure Monitor活动日志是一种平台日志，可提供对订阅级别事件的见解。活动日志包含诸如资源何时修改或虚拟机何时启动之类的信息。

 AWS AppFabric 出于安全考虑，您可以使用来审核来自的日志和用户数据Azure Monitor，将数据标准化为开放网络安全架构框架 (OCSF) 格式，并将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Azure Monitor](#azure-monitor-appfabric-support)
+ [正在 AppFabric 连接您的Azure Monitor账户](#azure-monitor-appfabric-connecting)

## AppFabric 支持 Azure Monitor
<a name="azure-monitor-appfabric-support"></a>

AppFabric 能够从以下Azure Monitor服务接收用户信息和审核日志：
+ Azure Monitor
+ API Management
+ Microsoft Sentinel
+ Security Center

### 先决条件
<a name="azure-monitor-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Azure Monitor到支持的目的地，您必须满足以下要求：
+ 您需要拥有一个可以免费试用或 pay-as-you-go订阅的Microsoft Azure帐户。
+ 至少需要一次订阅才能获取该订阅中的事件。

### 速率限制注意事项
<a name="azure-monitor-rate-limits"></a>

Azure Monitor对提出请求的安全主体（用户或应用程序）以及订阅 ID 或租户 ID 施加速率限制。有关 Azure Monitor API 速率限制的更多信息，请参阅*Azure Monitor开发者*网站上的 “[了解Azure Resource Manager如何限制请求](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/request-limits-and-throttling)”。

### 数据延迟注意事项
<a name="azure-monitor-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Azure Monitor账户
<a name="azure-monitor-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Azure Monitor。要查找授权所需的信息 Azure Monitor AppFabric，请使用以下步骤。

### 创建 OAuth 应用程序
<a name="azure-monitor-create-oauth-application"></a>

AppFabric 与Azure Monitor使用集成 OAuth2。要在中创建 OAuth2 应用程序，请完成以下步骤Azure Monitor：

1. 导航到[Microsoft Azure门户网站](https://portal.azure.com)并登录。

1. 导航到 **Microsoft EntraID**。

1. 选择 “**应用程序注册**”。

1. 选择 “**新注册**”。

1. 输入客户机的名称，例如Azure Monitor OAuth客户端。这将是已注册应用程序的名称。

1. 验证 “**支持的账户类型**” 是否设置为 “**单租户**”。

1. 对于**重定向 URI**，选择 **Web** 作为平台并添加重定向 URI。使用以下格式作为重定向 URI：

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   该地址中`<region>`是您在其中配置 AppFabric 应用程序包的代码。 AWS 区域 例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

   成功对用户进行身份验证后，身份验证响应将发送到提供的 URI。现在提供此值是可选的，以后可以更改，但是大多数身份验证方案都需要一个值。

1. 选择**注册**。

1. 在已注册的应用程序中，选择 “**证书和机密**”，然后选择 “**新建客户机密**”。

1. 为密钥添加描述。

1. 选择密钥到期时间。您可以从下拉列表中选择任何预设持续时间或设置自定义持续时间。

1. 选择**添加**。客户端密钥值只能在创建后立即查看。离开页面之前，请务必将密钥保存在安全的地方。

### 所需的权限
<a name="azure-monitor-required-permissions"></a>

您必须向 OAuth 应用程序添加以下权限。要添加权限，请按照《*Microsoft Entra开发者指南*》的 “[添加访问您的 Web API 的权限](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-configure-app-access-web-apis#add-permissions-to-access-your-web-api)” 部分中的说明进行操作。
+ Microsoft Graph用户访问 API > User.Read.All（选择委托类型）
+ Microsoft Graph用户访问 API > offline\$1access（选择委托类型）
+ Azure服务管理审计日志 API > user\$1impersonation（选择委托类型）

添加权限后，要授予管理员对这些权限的同意，请按照《*Microsoft Entra开发者指南》*的 “[管理员同意” 按钮](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-configure-app-access-web-apis#admin-consent-button)部分中的说明进行操作。

### 应用程序授权
<a name="azure-monitor-app-authorizations"></a>

AppFabric 支持从您的Azure Monitor账户接收用户信息和审核日志。要同时接收来自的审核日志和用户数据Azure Monitor，您必须创建两个应用程序授权，一个在应用程序授权下拉列表**Azure Monitor**中命名，另一个在应用程序授权下拉列表中命名为 Azure Monitor Audit **L** ogs。您可以为两个应用程序授权使用相同的租户 ID、客户端 ID 和客户端密钥。要接收来自的审核日志，Azure Monitor您需要同时获得审核日志应用程序**Azure Monitor**和 Audi **Azure Monitort Logs** 应用程序的授权。要单独使用用户访问工具，只需要**Azure Monitor**应用程序授权。

#### 租户编号
<a name="azure-monitor-tenant-id"></a>

AppFabric 将请求您的租户 ID。完成以下步骤，在 **Azure 监视器**中查找你的客户端 ID：

1. 导航到门[Microsoft Azure户](https://portal.azure.com/)。

1. 导航到 **Azure 活动目录**。

1. 在 “**应用程序注册**” 部分，选择之前创建的应用程序。

1. 在 “**概述**” 部分，从 “**目录（租户）ID” 字段中复制租户 ID**。

#### 租户名称
<a name="azure-monitor-tenant-name"></a>

输入标识此唯一Azure Monitor订阅的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

**注意**  
租户名称最多应为 2,048 个字符，由数字、 lower/upper 大小写字母和以下特殊字符组成：句点 (.)、下划线 (\$1)、破折号 (-) 和空格。

#### 客户端 ID
<a name="azure-monitor-client-id"></a>

AppFabric 将请求客户端 ID。完成以下步骤以在中查找您的客户端 IDAzure Monitor：

1. 导航到门[Microsoft Azure户](https://portal.azure.com/)。

1. 导航到 **Azure 活动目录**。

1. 在 “**应用程序注册**” 部分，选择之前创建的应用程序。

1. 在 “**概述**” 部分，从 “**应用程序（客户端）ID” 字段中复制客户端 ID**。

#### 客户端密钥
<a name="azure-monitor-client-secret"></a>

AppFabric 将请求客户机密钥。注册 OAuth 应用程序的客户端密钥是您在 OAuth 应用程序创建部分的步骤 11 中生成的密钥。如果您放错了在应用程序创建期间生成的客户端密钥，请重复 OAuth OAuth 应用程序创建部分中的步骤 8-11 以重新生成一个新的密钥。

#### App 授权
<a name="azure-monitor-app-authorization"></a>

在中创建应用程序授权后 AppFabric，您将收到一个Microsoft Azure用于批准授权的弹出窗口。从窗口登录您的帐户，然后选择 “**允许**” 以批准 AppFabric 授权。

# 配置Atlassian Confluence为 AppFabric
<a name="confluence"></a>

在一个地方创建、协作和整理所有工作。Confluence 是一个团队工作区，知识和协作在这里交汇。动态页面为您的团队提供了一个创建、捕获和协作处理任何项目或想法的地方。Spaces 可帮助您的团队构建、组织和共享工作，因此每个团队成员都可以了解机构知识，并可以访问他们最佳完成工作所需的信息。

 AWS AppFabric 为了安全起见，您可以使用接收来自的审计日志和用户数据Confluence，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Atlassian Confluence](#confluence-appfabric-support)
+ [正在 AppFabric 连接您的Atlassian Confluence账户](#confluence-appfabric-connecting)

## AppFabric 支持 Atlassian Confluence
<a name="confluence-appfabric-support"></a>

AppFabric 支持从接收审核日志Atlassian Confluence。

### 先决条件
<a name="confluence-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Atlassian Confluence到支持的目的地，您必须满足以下要求：
+ 要访问审计日志，您需要拥有一个标准帐户、高级帐户或企业帐户。如需详细了解如何创建或升级到适用的 Confluence 计划类型，请参阅 Atlassian 网站上的 [Confluence 定价](https://www.atlassian.com/software/confluence/pricing.html)。
+ 要访问审计日志，您需要对您的帐户拥有管理员权限。有关角色的详细信息，请参阅在 Atlassian 支持网站上的[向用户授予管理员权限](https://support.atlassian.com/user-management/docs/give-users-admin-permissions/)。

### 速率限制注意事项
<a name="confluence-rate-limit"></a>

Confluence 对 Atlassian Confluence API 施加速率限制。如果您的现有 API 应用程序 AppFabric 和您的现有 Atlassian Confluence API 应用程序Atlassian Confluence的组合超出限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="confluence-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Atlassian Confluence账户
<a name="confluence-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Atlassian Confluence。要查找授权所需的信息 Atlassian Confluence AppFabric，请使用以下步骤。

### 创建 OAuth 应用程序
<a name="confluence-create-oauth-application"></a>

AppFabric 与Atlassian Confluence使用集成 OAuth。要在中创建 OAuth 应用程序Atlassian Confluence，请使用以下步骤。

1. 导航到 [Atlassian 开发人员控制台](https://developer.atlassian.com/console/)。

1. 在右上角选择您的个人资料图标，然后选择**开发人员控制台**。

1. 在 “**我的应用程序**” 旁边，选择 “**创建**，**OAuth 2.0 集成**”。

1. 在左侧导航窗格中选择**权限**，然后选择 Confluence API 旁边的**添加**。

1. 在**经典范围**下，选择**读取用户** (`read:confluence-user`)。

1. 在**精细范围**下，选择**查看审计记录** (`read:audit-log:confluence`)。

1. 在左侧导航窗格中选择 “**授权**”，然后选择 **OAuth 2.0 (3LO)** 旁边的 “**添加**”。

1. 在**回调 URL** 文本框中使用以下格式的重定向 URL，然后选择**保存更改**。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL AWS 区域 中*<region>*是您在其中配置 AppFabric 应用程序包的代码。例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

### 所需范围
<a name="confluence-required-scopes"></a>

您必须向Atlassian Confluence OAuth 应用程序添加以下范围之一。有关范围的更多信息，请参阅Atlassian开发者网站上的[适用于 OAuth 2.0 (3LO) 和 Forge 应用程序的范围](https://developer.atlassian.com/cloud/confluence/scopes-for-oauth-2-3LO-and-forge-apps/)。如果可用，请使用经典范围。
+ 经典范围：
  + `read:confluence-user`
+ 精细范围：
  + `read:audit-log:confluence`

### 应用程序授权
<a name="confluence-app-authorizations"></a>

#### 租户编号
<a name="confluence-tenant-id"></a>

AppFabric 将请求您的租户 ID。中的租户 ID AppFabric 是您的**Atlassian Confluence实例子域**。您可以在浏览器地址栏 **https://** 和 **.atlassian.net** 之间找到您的 **Atlassian Confluence 实例子域**。

#### 租户名称
<a name="confluence-tenant-name"></a>

输入标识此唯一Atlassian Confluence组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="confluence-client-id"></a>

AppFabric 将请求客户端 ID。要在 Atlassian Confluence 中查找您的客户端 ID，请按以下步骤操作：

1. 导航到 [Atlassian 开发人员控制台](https://developer.atlassian.com/console/)。

1. 在右上角选择您的个人资料图标，然后选择**开发人员控制台**、**我的应用程序**。

1. 选择用于连接的 OAuth 应用程序 AppFabric。

1. 在 “**设置” 页面的 “**客户端 ID” 字段中输入客户端 ID AppFabric。

#### 客户端密钥
<a name="confluence-client-secret"></a>

AppFabric 将请求客户机密钥。要在 Atlassian Confluence 中查找您的客户端密钥，请执行以下步骤：

1. 导航到 [Atlassian 开发人员控制台](https://developer.atlassian.com/console/)。

1. 在右上角选择您的个人资料图标，然后选择**开发人员控制台**、**我的应用程序**。

1. 选择用于连接的 OAuth 应用程序 AppFabric。

1. 在 “**设置” 页面的 “****客户机密**” 字段中输入密钥 AppFabric。

#### 批准授权
<a name="confluence-approve-authorization"></a>

在中创建应用程序授权后 AppFabric，您将收到一个Atlassian Confluence用于批准授权的弹出窗口。要批准 AppFabric 授权，请选择**允许**。

# 配置Atlassian Jira suite为 AppFabric
<a name="jira"></a>

Atlassian 可以释放每个团队的潜力。他们敏捷 DevOps的 IT 服务管理和工作管理软件可帮助团队组织、讨论和完成共享工作。财富 500 强中的大多数企业和全球逾 240,000 家各种规模的公司（包括美国国家航空航天局 (NASA)、Kiva、Deutsche Bank 和 Salesforce）都依靠 Atlassian 解决方案来帮助其团队更好地协同工作，按时交付高质量的成果。在 [https://www.atlassian.com/](https://www.atlassian.com/) 中了解更多 Atlassian 产品信息，包括 Jira Software、Confluence、Jira Service Management、Trello、Bitbucket 和 Jira Align。

 AWS AppFabric 为了安全起见，您可以使用来审计来自Jira suite（除外Jira Align）的日志和用户数据，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) Simple S3 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Jira suite](#jira-appfabric-support)
+ [正在 AppFabric 连接您的Jira账户](#jira-appfabric-connecting)

## AppFabric 支持 Jira suite
<a name="jira-appfabric-support"></a>

AppFabric 支持从接收用户信息和审核日志Jira suite，但除外Jira Align。

### 先决条件
<a name="jira-prerequisites"></a>

 AppFabric 要使用将审核日志从传输Jira suite到支持的目的地，您必须满足以下要求：
+ 您必须购买 Jira 标准套餐或更高级的套餐。有关 Jira 套餐功能的更多信息，请参阅 [Jira 软件](https://www.atlassian.com/software/jira/pricing)、[Jira 服务管理](https://www.atlassian.com/software/jira/service-management/pricing)、[Jira 工作管理](https://www.atlassian.com/software/jira/work-management/pricing)和 [Jira 产品发现](https://www.atlassian.com/software/jira/product-discovery/pricing)定价页面。
+ 您的 Jira 账户中必须有具有**组织管理员**角色的用户。有关角色的详细信息，请参阅在 Atlassian 支持网站上的[向用户授予管理员权限](https://support.atlassian.com/user-management/docs/give-users-admin-permissions/)。

### 速率限制注意事项
<a name="jira-rate-limits"></a>

该 Jira 套件对 Jira API 施加了速率限制。有关 Jira suite API 速率限制的更多信息，请参阅 *Atlassian 开发人员指南* 网站上的[速率限制](https://developer.atlassian.com/cloud/jira/platform/rate-limiting/)。如果 AppFabric 和您的现有 Jira API 应用程序的组合超过限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="jira-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Jira账户
<a name="jira-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Jira。要查找授权所需的信息 Jira AppFabric，请使用以下步骤。

### 创建 OAuth 应用程序
<a name="jira-create-oauth-application"></a>

AppFabric 与Jira suite使用集成 OAuth。要在中创建 OAuth 应用程序Jira，请按以下步骤操作：

1. 导航到 [Atlassian 开发人员控制台](https://developer.atlassian.com/console/)。

1. 在 “**我的应用程序**” 旁边，选择 “**创建**，**OAuth 2.0 集成**”。

1. 为您的应用程序提供一个名称，然后选择**创建**。

1. 导航到 “**授权**” 部分，然后选择 OAuth 2.0 旁边的 “**添加**”。

1. 在**回调 URL** 字段中使用以下格式的 URL，然后选择**保存**更改。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL 中*<region>*是您在其中配置 AppFabric 应用程序包的代码。 AWS 区域 例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

1. 导航至 “**设置”** 部分，复制您的客户端 ID 和客户端密钥，然后将其保存以用于 AppFabric 应用程序授权。

### 所需范围
<a name="jira-required-scopes"></a>

您必须将以下范围添加到Jira OAuth 应用程序的 “**权限**” 页面：
+ 在经典范围 (Classic Scopes) 下：
  + Jira API > `read:jira-user`
+ 在精细范围 (Granular Scopes) 下：
  + Jira API > `read:audit-log:jira`
  + Jira API > `read:user:jira`

### 应用程序授权
<a name="jira-app-authorizations"></a>

#### 租户编号
<a name="jira-tenant-id"></a>

AppFabric 将请求您的租户 ID。中的租户 ID AppFabric 是您的**Jira实例子域**。您可以在浏览器地址栏 **https://** 和 **.atlassian.net** 之间找到您的 **Jira 实例子域**。

#### 租户名称
<a name="jira-tenant-name"></a>

输入标识此唯一Jira服务器的名称。 AppFabric使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="jira-client-id"></a>

AppFabric 将要求您提供客户端 ID。要在 Jira 中查找您的客户端 ID，请按以下步骤操作：

1. 导航到 [Atlassian 开发人员控制台](https://developer.atlassian.com/console/)。

1. 选择用于连接的 OAuth 应用程序 AppFabric。

1. 在 “**设置” 页面的 “**客户端 ID” 字段中输入客户端 ID AppFabric。

#### 客户端密钥
<a name="jira-client-secret"></a>

AppFabric 将请求您的客户机密钥。中的**客户端密钥** AppFabric 是中的**密钥**Jira。要在 Jira 中查找您的**密钥**，请按以下步骤操作：

1. 导航到 [Atlassian 开发人员控制台](https://developer.atlassian.com/console/)。

1. 选择用于连接的 OAuth 应用程序 AppFabric。

1. 在 “**设置” 页面的 “****客户机密**” 字段中输入密钥 AppFabric。

#### 批准授权
<a name="jira-approve-authorization"></a>

在中创建应用程序授权后， AppFabric 您将收到一个Jira用于批准授权的弹出窗口。要批准 AppFabric授权，请选择**允许**。

# 配置Box为 AppFabric
<a name="box"></a>

Box是领先的 Content Cloud，它是一个单一平台，使组织能够管理整个内容生命周期、随时随地安全工作以及跨 best-of-breed应用程序集成。

您可以使用 AWS AppFabric 接收来自的审计日志和用户数据Box，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Box](#box-appfabric-support)
+ [正在 AppFabric 连接您的Box账户](#box-appfabric-connecting)

## AppFabric 支持 Box
<a name="box-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Box。

### 先决条件
<a name="box-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Box到支持的目的地，您必须满足以下要求：
+ 要访问审核日志，您需要有效付费订阅商务版[、商务增强版、企业版或企业增强版](https://www.box.com/pricing)套餐。
+ 您必须拥有具有[管理员权限](https://developer.box.com/guides/events/enterprise-events/for-enterprise/)的用户。
+ 您的Box账户必须启用[双重身份验证](https://support.box.com/hc/en-us/articles/360043697154-Two-Factor-Authentication-Set-Up-for-Your-Account)，才能从 “配置” 选项卡中查看和复制应用程序的客户端密钥。

### 速率限制注意事项
<a name="box-rate-limits"></a>

Box 对 Box API 施加速率限制。有关 Box API [速率限制](https://developer.box.com/guides/api-calls/permissions-and-errors/rate-limits/#per-api-rate-limits)的更多信息，请参阅《Box开发者指南》网站上的速率限制。如果 AppFabric 和您的现有Box应用程序的组合超过限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="box-data-delay"></a>

在审核事件中，您可能会看到最长延迟 30 分钟才能送达目的地。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。但是，这可以在账户级别上进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Box账户
<a name="box-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，需要 AppFabric使用进行授权Box。要查找授权所需的信息 Box AppFabric，请按以下步骤操作。

### 创建 OAuth 应用程序
<a name="box-create-oauth-application"></a>

AppFabric 与Box使用集成 OAuth。使用以下步骤在中Box创建 OAuth 应用程序。有关更多信息，请参阅在Box网站上[创建 OAuth 应用程序](https://developer.box.com/guides/authentication/client-credentials/client-credentials-setup/)。

1. 登录Box并进入[开发者控制台](https://app.box.com/developers/console)。

1. 选择**创建新的应用程序**。

1. 从**应用程序类型列表中选择 “自定义**应用程序”。将出现一个模态，提示您选择下一步操作。

1. 输入应用程序名称和描述。

1. 从 “**目的**” 下拉列表中选择 “**集成**”。

   1. 从 “**类别**” 下拉列表中选择 “**安全与合规**”。

   1. 输入**AWS AppFabric Secure****您要与哪个外部系统集成？** 文本框。

1. 如果您想**使用客户端 ID 和客户端密钥验证应用程序身份，请选择服务器身份验证（授予客户端凭证）**。

1. 选择 **Create App（创建应用程序）**。

1. 选择**配置**选项卡。

1. 在该页面的 “**应用程序访问级别**” 部分，选择 “**应用程序 \$1 企业访问权限**”。

1. 在页面的 “**应用程序范围**” 部分，选择 “**管理用户**” 和 “**管理企业属性**”。

1. 选择**保存更改**。

   Box管理员需要先在Box管理员控制台中对应用程序进行授权，然后才能使用该应用程序。要申请授权，请完成以下步骤。

   1. 在[开发者控制台](https://app.box.com/developers/console)中为您的应用程序选择 “**授权**” 选项卡。

   1. 选择 “**查看并提交**”，向您的Box企业管理员发送一封电子邮件以供审批。有关更多信息，请参阅*Box指南*中的[授权](https://developer.box.com/guides/authorization/)。
**注意**  
如果提交后有任何更改，则必须重新提交应用程序。

### 所需范围
<a name="box-required-scopes"></a>

以下应用程序范围是必需的。有关作用域的更多信息，请参阅 *Box 文档网站*上的[作用域](https://developer.box.com/guides/api-calls/permissions-and-errors/scopes/)。
+ 管理企业财产 (`manage_enterprise_properties`)
+ 管理用户 (`manage_managed_users`)

### 应用程序授权
<a name="box-app-authorizations"></a>

#### 租户编号
<a name="box-tenant-id"></a>

AppFabric 将请求租户 ID。中的租户 ID AppFabric 是Box企业 ID。Box企业 ID 可在管理员控制台的 “**账户和账单” > “账户****信息**” > “**企业 ID**” 下找到。有关更多信息，请参阅 *Box 文档网站*上的[企业 ID](https://developer.box.com/platform/appendix/locating-values/#as-an-admin)。

#### 租户名称
<a name="box-tenant-name"></a>

输入标识此唯一Box组织的名称。 AppFabric 使用租户名称来标记应用程序授权以及通过应用程序授权创建的任何摄取。

#### 客户端 ID 和客户端密钥
<a name="box-client-id-client-secret"></a>

1. 登录Box并进入[开发者控制台](https://app.box.com/developers/console)。

1. 在导航菜单中选择 “**我的应用程序**”。

1. 选择用于连接的 OAuth 应用程序 AppFabric。

1. 选择**配置**选项卡。

1. 滚动至该页面的 **Oauth 2.0 凭据**部分。

1. 将您的客户 ID 中的客户 OAuth **端 ID** 输入到的 “**客户端 ID**” 字段中 AppFabric。

1. 选择 “**获取客户机密钥**”。

1. 在的 “客户密钥” 字段中输入来自您的 OAuth **客户密钥的客户密钥** AppFabric。

# 配置Cisco Duo为 AppFabric
<a name="cisco-duo"></a>

Cisco Duo使用领先的访问管理套件来防范漏洞，该套件提供强大的多层防御和创新功能，允许合法用户进入并将不良行为者拒之门外。对于任何担心被入侵并需要快速解决方案的组织，可以Cisco Duo快速实现强大的安全性，同时还可以提高用户的工作效率。

 AWS AppFabric 为了安全起见，您可以使用接收来自的审计日志和用户数据Cisco Duo，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Cisco Duo](#cisco-duo-appfabric-support)
+ [Connect AppFabric 到你的Cisco Duo账户](#cisco-duo-appfabric-connecting)

## AppFabric 支持 Cisco Duo
<a name="cisco-duo-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Cisco Duo。

### 先决条件
<a name="cisco-duo-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Cisco Duo到支持的目的地，您必须满足以下要求：
+ 要访问审核日志，你需要有效订阅 Duo Essentials、Duo Advantage 或 Duo Premier 版。或者，拥有 Advantage 或 Premier 试用版的新客户也可以访问。有关Cisco Duo版本的更多信息，请参阅[版本和定价](https://duo.com/editions-and-pricing)。
+ 您需要是具有所有者角色的管理员才能创建或修改管理员 API。
+ 您需要添加 “授予读取日志资源” 权限，才能在管理员 API 中访问审核日志。

### 速率限制注意事项
<a name="cisco-duo-rate-limit"></a>

Cisco Duo 对 Cisco Duo API 施加速率限制。有关 Cisco Duo API 速率限制的更多信息，请参阅[身份验证日志](https://duo.com/docs/adminapi#authentication-logs)下的速率限制。如果您的现有 API 应用程序 AppFabric 和您的现有 Cisco Duo API 应用程序Cisco Duo的组合超出限制，则显示在中的审核日志 AppFabric 可能会延迟。如果您需要提高速率限制，请联系 Cisco Duo。

### 数据延迟注意事项
<a name="cisco-duo-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## Connect AppFabric 到你的Cisco Duo账户
<a name="cisco-duo-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Cisco Duo。要查找授权所需的信息 Cisco Duo AppFabric，请按以下步骤操作。

### 创建Cisco Duo管理 API 应用程序
<a name="cisco-duo-create-application"></a>

AppFabric 与Cisco Duo使用 API 服务令牌集成。要在中创建应用程序Cisco Duo，请使用以下步骤。
+ 要创建Cisco Duo管理员 API 应用程序，请按照*Cisco Duo管理 API* 中的[第一步](https://duo.com/docs/adminapi#first-steps)中的说明进行操作。

### 所需的权限
<a name="cisco-duo-required-scopes"></a>

您必须将以下范围添加到您的Cisco Duo应用程序中：
+ 授予读取日志
+ 授予读取资源

### 应用程序授权
<a name="cisco-duo-app-authorizations"></a>

#### 租户编号
<a name="cisco-duo-tenant-id"></a>

AppFabric 将请求租户 ID。您可以在Cisco Duo主机名中找到租户 ID。要在中查找主机名Cisco Duo，请按照以下步骤操作。

1. 导航到 “[Cisco Duo管理员登录](https://admin.duosecurity.com/login?next=%2F)” 页面并登录。

1. 导航到 “**应用程序**”，然后选择 “**保护应用程序**”。

1. 在应用程序列表中找到 **Admin API** 的条目，然后选择最右边的 Prot **ec** t 来配置您的应用程序并获取 API 主机名。

1. API 主机名的格式为`api-<tenant-id>.duosecurity.com`，其中`<tenant-id>`是租户 ID。

#### 租户名称
<a name="cisco-duo-tenant-name"></a>

输入标识此唯一Cisco Duo组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 服务令牌
<a name="cisco-duo-service-token"></a>

AppFabric 将请求服务令牌。服务令牌是以冒号分隔的集成密钥和密钥，格式如下。

```
integrationkey:secretkey
```

要在中查找您的集成密钥和密钥Cisco Duo，请使用以下步骤。

1. 导航到 “[Cisco Duo管理员登录](https://admin.duosecurity.com/login?next=%2F)” 页面并登录。

1. 导航到 “**应用程序**”，然后选择 “**保护应用程序**”。

1. “单击 “**保护应用程序”，**然后在应用程序列表中找到 **Admin API** 的条目。单击最右侧的 “**保护**” 以配置应用程序。向下滚动到范围部分并添加**Grant read log**和**Grant read resource**。

# 配置Dropbox为 AppFabric
<a name="dropbox"></a>

Dropbox 通过将您的员工聚集在一起，帮助您的组织更快更好地完成工作，无论他们在做什么，在哪里工作，或者碰巧在使用什么样的工具。它通过提供一种简单、安全的内容共享方式，使用户能够加快创新和提高效率。Dropbox 是保持生活井然有序和保持工作顺利进行的地方。在 180 个国家/地区拥有超过 7 亿注册用户，Dropbox 的使命是设计一种更开明的工作方式。

 AWS AppFabric 出于安全考虑，您可以使用来审核来自的日志和用户数据Dropbox，将数据标准化为开放网络安全架构框架 (OCSF) 格式，并将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Dropbox](#dropbox-appfabric-support)
+ [正在 AppFabric 连接您的Dropbox账户](#dropbox-appfabric-connecting)

## AppFabric 支持 Dropbox
<a name="dropbox-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Dropbox。

### 先决条件
<a name="dropbox-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Dropbox到支持的目的地，您必须满足以下要求：
+ 您必须拥有 Dropbox 企业账户。如需详细了解如何创建或升级到 Dropbox 企业账户，请参阅 Dropbox 网站上的 [Dropbox Business](https://www.dropbox.com/business)。
+ 您的 Dropbox 账户中必须有具有团队管理员角色的用户。有关角色的更多信息，请参阅 *Dropbox 帮助中心*网站上的[如何更改 Dropbox 团队的管理员权限](https://help.dropbox.com/security/change-admin-rights)。

### 速率限制注意事项
<a name="dropbox-rate-limits"></a>

Dropbox 对 Dropbox API 施加速率限制。有关 Dropbox API 速率限制的更多信息，请参阅 *Dropbox 性能指南*网站上的[速率限制](https://developers.dropbox.com/dbx-performance-guide#api-rate-limits)。如果 AppFabric 和您的现有 Dropbox API 应用程序的组合超过限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="dropbox-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Dropbox账户
<a name="dropbox-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Dropbox。要查找授权所需的信息 Dropbox AppFabric，请使用以下步骤。

### 创建 OAuth 应用程序
<a name="dropbox-create-oauth-application"></a>

AppFabric 与Dropbox使用集成 OAuth。要在中创建 OAuth应用程序Dropbox，请按以下步骤操作：

1. 在**应用程序控制台的Dropbox应用程序中选择 “创建https://www.dropbox.com/developers/**[应用程序](https://www.dropbox.com/developers/apps)”。

1. 在新的应用程序配置页面上，选择 API 的**作用域访问权限**。

1. 接下来，为访问类型选择**完整 Dropbox**。

1. 为您的 OAuth 应用程序命名，然后选择**创建应用程序**以完成 OAuth 应用程序的初始设置。

1. 在应用程序信息页面上，在重定向 URIs 字段中添加采用以下格式的 OAuth2 重定向 URL。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL 中`<region>`是您在其中配置 AppFabric 应用程序包的代码。 AWS 区域 例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

1. 选择**添加**。

1. 复制并保存您的应用程序密钥和应用程序密钥，以便在 AppFabric 应用程序授权中使用。

1. 您可以将**设置**选项卡上的所有其他字段保留为默认值。

### 所需范围
<a name="dropbox-required-scopes"></a>

您必须使用应用程序信息屏幕上的**权限**选项卡向 Dropbox 应用程序添加以下范围：
+ `account_info.read`
+ `team_data.member`
+ `events.read`
+ `members.read`
+ `team_info.read`

完成后选择**提交**。

### 应用程序授权
<a name="dropbox-app-authorizations"></a>

#### 租户编号
<a name="dropbox-tenant-id"></a>

AppFabric 将请求您的租户 ID。输入任意一个可以唯一地标识您 Dropbox 账户的值，例如团队名称。

#### 租户名称
<a name="dropbox-tenant-name"></a>

输入标识此唯一Dropbox帐户的名称。 AppFabric使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="dropbox-client-id"></a>

AppFabric 将请求客户端 ID。中的客户端 ID AppFabric 是您的Dropbox应用程序密钥。要查找您的 Dropbox 应用密钥，请按照以下步骤进行操作：

1. [在Dropbox应用程序中导航到应用程序控制台。https://www.dropbox.com/developers/](https://www.dropbox.com/developers/apps)

1. 找到你用来连接的应用程序 AppFabric。

1. 在应用程序信息页面的**状态**部分中找到应用程序密钥。

1. 在的 “**客户端 ID**” 字段中输入Dropbox应用程序的应用程序密钥 AppFabric。

#### 客户端密钥
<a name="dropbox-client-secret"></a>

AppFabric 将请求客户机密钥。中的客户端密钥 AppFabric 是您的Dropbox应用程序密钥。要查找您的 Dropbox 应用程序私匙，请按照以下步骤进行操作：

1. [在Dropbox应用程序中导航到应用程序控制台。https://www.dropbox.com/developers/](https://www.dropbox.com/developers/apps)

1. 找到你用来连接的应用程序 AppFabric。

1. 在应用程序信息页面的**状态**部分中找到应用程序私匙。

1. 在的 “**客户端密钥” 字段中输入Dropbox应用程序的应用程序密钥** AppFabric。

#### 批准授权
<a name="dropbox-approve-authorization"></a>

在中创建应用程序授权后 AppFabric，您将收到一个Dropbox用于批准授权的弹出窗口。要批准 AppFabric 授权，请选择**允许**。

# 配置Genesys Cloud为 AppFabric
<a name="genesys"></a>

Genesys Cloud通过简单的 all-in-one界面在数字和语音渠道上创建流畅的对话。这使公司能够为员工和客户提供卓越的体验，并从快速部署、降低复杂性和简单管理中获益。

 AWS AppFabric 为了安全起见，您可以使用接收来自的审计日志和用户数据Genesys Cloud，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Genesys Cloud](#genesys-appfabric-support)
+ [正在 AppFabric 连接您的Genesys Cloud账户](#genesys-appfabric-connecting)

## AppFabric 支持 Genesys Cloud
<a name="genesys-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Genesys Cloud。

### 先决条件
<a name="genesys-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Genesys Cloud到支持的目的地，您必须满足以下要求：
+ 您必须具有 Genesys Cloud 账户。
+ 您的 Genesys Cloud 账户中必须有具有管理员角色的用户。

### 速率限制注意事项
<a name="genesys-rate-limit"></a>

Genesys Cloud 对 Genesys Cloud API 施加速率限制。有关 Genesys Cloud API 速率限制的更多信息，请参阅 Genesys Cloud Developer 网站上的[速率限制](https://developer.genesys.cloud/platform/api/rate-limits)。

### 数据延迟注意事项
<a name="genesys-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Genesys Cloud账户
<a name="genesys-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Genesys Cloud。要查找授权所需的信息 Genesys Cloud AppFabric，请使用以下步骤。

### 创建 OAuth 应用程序
<a name="genesys-create-oauth-application"></a>

AppFabric 与Genesys Cloud使用集成 OAuth。要在中创建 OAuth应用程序Genesys Cloud，请按以下步骤操作：

1. 按照*Genesys Cloud资源中心*网站的 “[创建 OAuth 客户端](https://help.mypurecloud.com/articles/create-an-oauth-client/)” 中的说明进行操作。

   对于**授权类型**，选择**代码授权**。

1. 使用以下格式的重定向 URL 作为**授权重定向 URIs**。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL AWS 区域 中*<region>*是您在其中配置 AppFabric 应用程序包的代码。例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

1. 选择**范围**框以显示您的应用程序可用的范围列表。选择范围`audits:readonly`然后`users:readonly`。有关范围的信息，请参阅Genesys Cloud开发人员中心中的[OAuth 作用域](https://developer.genesys.cloud/api/rest/authorization/scopes.html)。

1. 选择**保存**。Genesys Cloud 会创建客户端 ID 和客户端密钥（令牌）。

### 所需范围
<a name="genesys-required-scopes"></a>

您必须在Genesys Cloud OAuth应用程序中添加以下范围：
+ `audits:readonly`
+ `users:readonly`

### 应用程序授权
<a name="genesys-app-authorizations"></a>

#### 租户编号
<a name="genesys-tenant-id"></a>

AppFabric 将请求您的租户 ID。中的租户 ID AppFabric 是您的Genesys Cloud实例名称。您可以在浏览器的地址栏中找到租户 ID。例如，`usw2.pure.cloud` 是以下 URL `https://login.usw2.pure.cloud` 中的租户 ID。

#### 租户名称
<a name="genesys-tenant-name"></a>

输入标识此唯一Genesys Cloud组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="genesys-client-id"></a>

AppFabric 将请求客户端 ID。要在 Genesys Cloud 中查找您的客户端 ID，请按以下步骤操作：

1. 选择**管理员**。

1. 在 “**集成**” 下，选择**OAuth**。

1. 选择要获取 OAuth 客户端 ID 的客户端。

#### 客户端密钥
<a name="genesys-client-secret"></a>

AppFabric 将请求客户机密钥。要在 Genesys Cloud 中查找您的客户端密钥，请执行以下步骤：

1. 选择**管理员**。

1. 在 “**集成**” 下，选择**OAuth**。

1. 选择要获取 OAuth 客户端密钥的客户端。

# 配置GitHub为 AppFabric
<a name="github"></a>

GitHub 是使用 Git 进行软件开发和版本控制的平台和云服务，允许开发人员存储和管理他们的代码。它为每个项目提供 Git 的分布式版本控制以及访问控制、错误跟踪、软件功能请求、任务管理、持续集成和 Wiki。

 AWS AppFabric 为了安全起见，您可以使用接收来自的审计日志和用户数据GitHub，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 GitHub](#github-appfabric-support)
+ [正在 AppFabric 连接您的GitHub账户](#github-appfabric-connecting)

## AppFabric 支持 GitHub
<a name="github-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志GitHub。

### 先决条件
<a name="github-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输GitHub到支持的目的地，您必须满足以下要求：
+ 要访问审核日志，您需要拥有一个企业账户。
+ 要访问企业审核日志，您需要拥有企业账户的管理员角色。
+ 要从组织获取审核日志，您需要成为组织所有者。

### 速率限制注意事项
<a name="github-rate-limits"></a>

GitHub 对 GitHub API 施加速率限制。有关 GitHub API 速率限制的更多信息，请参阅 *GitHub 网站*上的 [API 请求限制和分配](https://docs.github.com/en/apps/creating-github-apps/registering-a-github-app/rate-limits-for-github-apps)。如果您的现有 API 应用程序 AppFabric 和您的现有 GitHub API 应用程序的组合超过GitHub’s限制，则中显示的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="github-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的GitHub账户
<a name="github-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权GitHub。要查找授权所需的信息 GitHub AppFabric，请使用以下步骤。

### 创建 OAuth 应用程序
<a name="github-create-oauth"></a>

AppFabric 与GitHub使用集成 OAuth。使用以下步骤在中创建 OAuth 应用程序GitHub。有关更多信息，请参阅*GitHub网站*上的[创建 GitHubs 应用程序](https://docs.github.com/en/apps/creating-github-apps)。

1. 选择页面右上角的个人头像，然后选择**设置**。

1. 在左侧导航窗格中，选择**开发人员设置**。

1. 在左侧导航窗格中选择**OAuth 应用程序**。

1. 选择 “**新建 OAuth 应用程序**”。
**注意**  
如果您之前没有创建过**应用程序，则此按钮将被标记为 “注册新** OAuth应用程序”。

1. 在**应用程序名称**文本框中输入您的应用程序的名称。

1. 在**主页 URL** 文本框中输入完整的应用程序实例 URL。

1. （可选）在**应用程序描述**文本框中输入应用程序描述。用户将看到此描述。

1. 在**授权回调 URL** 文本框中输入以下格式的 URL。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL 中*<region>*是您在其中配置 AppFabric 应用程序包的代码。 AWS 区域 例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

1. 如果您的 OAuth 应用程序将使用**设备流来识别和授权用户，请选择启用**设备流。有关设备流程的更多信息，请参阅在*GitHub网站上*[对 OAuth 应用程序进行授权](https://docs.github.com/en/enterprise-cloud@latest/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps#device-flow)。

1. 选择**注册应用程序**。

### 应用程序授权
<a name="github-app-authorizations"></a>

#### 租户编号
<a name="github-tenant-id"></a>

AppFabric 将请求您的租户 ID。应使用以下任一格式提供租户 ID：

**企业审核日志：**

如果您想了解企业账户拥有的所有组织的汇总操作，请使用企业的审核日志。

使用企业审核日志时，租户 ID 就是您账户的企业 ID。您可以在浏览器的地址栏中找到企业 ID。例如，`exampleenterprise` 是以下 URL `https://github.com/settings/enterprises/examplenterprise` 中的企业 ID。

为企业审核日志指定租户 ID 时，前缀必须为 `enterprise:`。因此，将前面的示例指定为 `enterprise:examplenterprise`。

**组织审核日志：**

如果您想了解组织成员执行的操作，请以组织管理员的身份使用组织审核日志。它包括谁执行了操作、操作是什么以及何时执行等详细信息。

使用组织审核日志时，租户 ID 就是您的组织 ID。您可以在浏览器的地址栏中找到组织 ID。例如，`exampleorganization` 是以下 URL `https://github.com/settings/organizations/exampleorganization` 中的组织 ID。

在为组织审核日志指定租户 ID 时，前缀必须为 `organization:`。因此，将前面的示例指定为 `organization:exampleorganization`。

#### 租户名称
<a name="github-tenant-name"></a>

输入标识此唯一GitHub企业或组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="github-client-id"></a>

AppFabric 将请求客户端 ID。使用以下步骤在 GitHub 中查找您的客户端 ID，

1. 选择页面右上角的个人头像，然后选择**设置**。

1. 在左侧导航窗格中，选择**开发人员设置**。

1. 在左侧导航窗格中选择**OAuth 应用程序**。

1. 选择特定的 OAuth 应用程序，然后查找**客户端 ID** 值。

#### 客户端密钥
<a name="github-client-secret"></a>

AppFabric 将请求客户机密钥。使用以下步骤在 GitHub 中查找您的客户端密钥。

1. 选择页面右上角的个人头像，然后选择**设置**。

1. 在左侧导航窗格中，选择**开发人员设置**。

1. 在左侧导航窗格中选择**OAuth 应用程序**。

1. 选择特定的 OAuth 应用程序，然后查找 “**客户端密钥**” 值。如果您找不到现有的客户端密钥，则可能需要生成一个新的客户端密钥。

#### 批准授权
<a name="github-approve-authorization"></a>

在中创建应用程序授权后 AppFabric，您将收到一个GitHub用于批准授权的弹出窗口。要批准 AppFabric 授权，请选择**允许**。

如果启用了 OAuth 应用程序[访问限制，请确保您的组织已授予](https://docs.github.com/en/organizations/managing-oauth-access-to-your-organizations-data/approving-oauth-apps-for-your-organization)[对OAuth 应用程序的访问权限](https://docs.github.com/en/organizations/managing-oauth-access-to-your-organizations-data/about-oauth-app-access-restrictions)。

# 配置Google Analytics为 AppFabric
<a name="google-analytics"></a>

Google Analytics是一项网络分析服务，为搜索引擎优化 (SEO) 和营销目的提供统计数据和基本分析工具。 Google Analytics用于跟踪网站性能和收集访客见解。它可以帮助组织确定用户流量的主要来源，衡量其营销活动和活动的成功，跟踪目标完成情况（例如购买、将产品添加到购物车），发现用户参与的模式和趋势，并获取其他访客信息，例如人口统计信息。中小型零售网站通常用于Google Analytics获取和分析各种客户行为分析，这些分析可用于改善营销活动、增加网站流量和更好地留住访客。

 AWS AppFabric 出于安全考虑，您可以使用来审核来自的日志和用户数据Azure Monitor，将数据标准化为开放网络安全架构框架 (OCSF) 格式，并将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Google Analytics](#google-analytics-appfabric-support)
+ [正在 AppFabric 连接您的Google Analytics账户](#google-analytics-appfabric-connecting)

## AppFabric 支持 Google Analytics
<a name="google-analytics-appfabric-support"></a>

AppFabric 支持从接收审核日志Google Analytics。

### 先决条件
<a name="google-analytics-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Google Analytics到支持的目的地，您必须满足以下要求：
+ 您必须是该Google Analytics账户的管理员。
+  AppFabric 要传送日志，您需要在Google Cloud项目上启用[Google Analytics管理员 API](https://console.cloud.google.com/flows/enableapi?apiid=analyticsadmin.googleapis.com)。设置Google Analytics OAuth 应用程序时，请务必使用新项目。

### 速率限制注意事项
<a name="google-analytics-rate-limits"></a>

Google Analytics 对 Google Analytics API 施加速率限制。有关 Google Analytics API 速率限制的更多信息，请参阅 *Google Analytics（分析）网站*上的[限制和配额](https://developers.google.com/analytics/devguides/config/admin/v1/quotas)。如果 AppFabric 与您现有的 *Google Analytics* API 应用程序组合超过限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="google-analytics-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Google Analytics账户
<a name="google-analytics-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Google Analytics。使用以下步骤查找授权Google Analytics所需的信息 AppFabric。

### 创建 OAuth 应用程序
<a name="google-analytics-create-oauth-application"></a>

AppFabric 与Google Analytics使用集成 OAuth。要在中创建 OAuth 应用程序，请完成以下步骤Google Analytics：

1. 要配置您的 OAuth 同意屏幕，请按照 Google 网站上《Google 开发者指南》中配置 OAuth 同意屏幕中的说明进行操作。

1. 选择 “外部” 作为 “用户” 类型

1. 要为配置 OAuth 凭据 AppFabric，请按照《Google 开发者指南》中 “创建访问凭据” 页面的 “ OAuth 客户端 ID 凭据” 部分中的说明进行操作。

1. 使用以下格式的重定向 URL。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   该地址中`<region>`是您在其中配置 AppFabric 应用程序包的代码。 AWS 区域 例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

### 所需范围
<a name="google-analytics-required-scopes"></a>

您必须在Google Analytics OAuth应用程序中添加以下作用域：

```
https://www.googleapis.com/auth/analytics.edit
```

### 应用程序授权
<a name="google-analytics-app-authorizations"></a>

#### 租户编号
<a name="google-analytics-tenant-id"></a>

AppFabric 将请求租户 ID。中的租户 ID AppFabric 是您的Google Analytics账户 ID。

1. 转到[Google Analytics主页](https://analytics.google.com/analytics/web/)。

1. 在导航窗格中选择 “**管理员**”。

1. 您可以在 “账户” > “账户**设置” > “**账户**详情” > “****账户** ID” 下找到您的**账户 ID**。

#### 租户名称
<a name="google-analytics-tenant-name"></a>

输入标识此唯一Google Analytics组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="google-analytics-client-id"></a>

AppFabric 将请求客户端 ID。使用以下步骤在中查找您的客户端 IDGoogle Analytics：

1. 转到 “[凭证” 页面](https://console.developers.google.com/apis/credentials)。

1. 在 “**OAuth 2.0 客户端 IDs**” 部分，选择您创建的客户端 ID。

1. 客户端 ID 列在页面的 “**其他信息**” 部分。

#### 客户端密钥
<a name="google-analytics-client-secret"></a>

AppFabric 将请求客户机密钥。使用以下步骤在中查找您的客户端密钥Google Analytics：

1. 转到 “[凭证” 页面](https://console.developers.google.com/apis/credentials)。

1. 在 “**OAuth 2.0 客户端 IDs**” 部分中，选择客户机名称。

1. 该页面的 “客户机密钥” 部分列出了**客户机密钥**。

#### App 授权
<a name="google-analytics-app-authorizing"></a>

在中创建应用程序授权后， AppFabric 您将收到一个Google Analytics用于批准授权的弹出窗口。通过选择 “**允许**” 来批准 AppFabric 授权。

# 配置Google Workspace为 AppFabric
<a name="google-workspace"></a>

Google Workspace 是 Google 开发和销售的云计算、生产力和协作工具、软件和产品的集合。

 AWS AppFabric 出于安全考虑，您可以使用来审核来自的日志和用户数据Google Workspace，将数据标准化为开放网络安全架构框架 (OCSF) 格式，并将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Google Workspace](#google-workspace-appfabric-support)
+ [正在 AppFabric 连接您的Google Workspace账户](#google-workspace-appfabric-connecting)

## AppFabric 支持 Google Workspace
<a name="google-workspace-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Google Workspace。

### 先决条件
<a name="google-workspace-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Google Workspace到支持的目的地，您必须满足以下要求：
+ 您必须订阅 Google Workspace Enterprise Standard 计划。如需了解如何创建或升级到 Google Workspace Enterprise Standard 计划，请访问 [Google Workspace 计划](https://workspace.google.com/pricing.html)网站。
+ 您 Google Workspace 中的用户中必须有具有**管理员**角色的用户。
+  AppFabric 要交付日志，你需要在谷歌云项目上启用 [Google Admin SDK API](https://console.cloud.google.com/flows/enableapi?apiid=admin.googleapis.com)。如需了解详情，请参阅*Google Workspace开发者指南 APIs*中的[启用 Google 工作空间](https://developers.google.com/workspace/guides/enable-apis)。

### 速率限制注意事项
<a name="google-workspace-rate-limits"></a>

Google Workspace 对 Google Workspace API 施加速率限制。有关 Google Workspace API 速率限制的更多信息，请参阅 Google Workspace 网站 *Google Workspace 管理员指南*中的[限制和配额](https://developers.google.com/admin-sdk/reports/v1/limits)。如果 AppFabric 和您的现有 Google Workspace API 应用程序的组合超过限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="google-workspace-data-delay"></a>

大多数审计事件可能会延迟 30 分钟，某些审计事件可能延迟最多 4 小时才能送达目的地。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。有关更多信息，请参阅 *Google WorkSpace 管理员帮助网站*中的[数据保留和延迟时间](https://support.google.com/a/answer/7061566?hl=en)。不过，这可以在账户级别进行自定义。如需帮助，请联系[支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Google Workspace账户
<a name="google-workspace-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Google Workspace。要查找授权所需的信息 Google Workspace AppFabric，请使用以下步骤。

### 创建 OAuth 应用程序
<a name="google-workspace-create-oauth-application"></a>

AppFabric 与Google Workspace使用集成 OAuth。要在中创建 OAuth 应用程序Google Workspace，请按以下步骤操作：

1. 要配置您的 OAuth 同意屏幕，请按照Google Workspace网站[《*Google Workspace开发者指南*》中配置 OAuth 同意屏幕](https://developers.google.com/workspace/guides/configure-oauth-consent)中的说明进行操作。

   为**用户类型**选择**内部**。

1. 要为配置 OAuth 证书 AppFabric，请按照《*Google Workspace 开发人员指南*》中 “*创建访问[凭证” 页面的 “OAuth 客户端 ID](https://developers.google.com/workspace/guides/create-credentials#oauth-client-id) 凭证*” 部分中的说明进行操作。

1. 使用以下格式的重定向 URL。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL AWS 区域 中`<region>`是您在其中配置 AppFabric 应用程序包的代码。例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

### 所需范围
<a name="google-workspace-required-scopes"></a>

您必须在Google Workspace OAuth应用程序中添加以下范围：
+ `https://www.googleapis.com/auth/admin.reports.audit.readonly`
+ `https://www.googleapis.com/auth/admin.directory.user`

如果您没有看到这些范围，请将**管理软件开发工具包 API** 添加到您的 Google Cloud API 库中。

### 应用程序授权
<a name="google-workspace-app-authorizations"></a>

#### 租户编号
<a name="google-workspace-tenant-id"></a>

AppFabric 将请求您的租户 ID。中的租户 ID AppFabric 是您的Google Workspace项目 ID。要查找您的项目 ID，请参阅在 Google API 控制台帮助网站上[找到项目 ID](https://support.google.com/googleapi/answer/7014113?hl=en)。

#### 租户名称
<a name="google-workspace-tenant-name"></a>

输入标识此唯一值的名称Google Workspace。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="google-workspace-client-id"></a>

AppFabric 将要求您提供客户端 ID。要查找您的 客户端 ID，请按以下步骤操作：

1. 使用 *Google Workspace 开发人员指南*中*管理凭证*页面的[查看凭证](https://developers.google.com/workspace/guides/manage-credentials#view_credentials)部分中的信息查找您的客户端 ID。

1. 在的 “客户端 ID” 字段中输入**客户的客户端 ID** AppFabric。 OAuth 

#### 客户端密钥
<a name="google-workspace-client-secret"></a>

AppFabric 将请求您的客户机密钥。要查找 客户端密钥，请按以下步骤操作：

1. 使用* Google Workspace开发人员指南* 中*管理凭证*页面的[查看凭证](https://developers.google.com/workspace/guides/manage-credentials#view_credentials)部分中的信息查找您的客户端密钥。

1. 如果您需要重置您的客户端密钥，请按照 *Google Workspace开发人员指南*中*管理凭证*页面的[重置客户端密钥](https://developers.google.com/workspace/guides/manage-credentials#reset_client_secret)部分中的说明进行操作。

1. 在的客户密钥字段中输入您的**客户密钥** AppFabric。

#### 批准授权
<a name="google-workspace-approve-authorization"></a>

在中创建应用程序授权后， AppFabric 您将收到一个Google Workspace用于批准授权的弹出窗口。要批准 AppFabric 授权，请选择**允许**。

# 配置HubSpot为 AppFabric
<a name="hubspot"></a>

HubSpot 是一个客户平台，包含连接营销、销售、内容管理和客户服务所需的所有软件、集成和资源。HubSpot 的互联平台使您能够专注于最重要的事情：您的客户，从而更快地发展业务。

 AWS AppFabric 为了安全起见，您可以使用接收来自的审计日志和用户数据HubSpot，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 HubSpot](#hubspot-appfabric-support)
+ [正在 AppFabric 连接您的HubSpot账户](#hubspot-appfabric-connecting)

## AppFabric 支持 HubSpot
<a name="hubspot-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志HubSpot。

### 先决条件
<a name="hubspot-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输HubSpot到支持的目的地，您必须满足以下要求：
+ 您必须在 HubSpot 中拥有具有企业订阅的帐户，才能访问访问审计日志。有关 HubSpot 订阅的更多信息，请参阅 HubSpot 知识库上的[管理您的 HubSpot 订阅](https://knowledge.hubspot.com/account/manage-your-hubspot-subscription)。
+ 您必须拥有开发人员账户以及与该账户关联的应用程序。
+ 您应该是**超级管理员**才能在自己的 HubSpot 账户中安装应用程序，或者拥有 App Marketplace 访问权限以及接受应用程序请求的范围的用户权限。

### 速率限制注意事项
<a name="hubspot-rate-limit"></a>

HubSpot 对 HubSpot API 施加速率限制。有关 HubSpot API 速率限制的更多信息，包括应用程序的使用限制 OAuth，请参阅HubSpot网站上的[速率限制](https://developers.hubspot.com/docs/api/usage-details#rate-limits)。如果您的现有 API 应用程序 AppFabric 和您的现有 HubSpot API 应用程序HubSpot的组合超出限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="hubspot-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的HubSpot账户
<a name="hubspot-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权HubSpot。要查找授权所需的信息 HubSpot AppFabric，请按以下步骤操作。

### 创建 OAuth 应用程序
<a name="hubspot-create-oauth-application"></a>

AppFabric 与HubSpot使用集成 OAuth。要在中创建 OAuth应用程序HubSpot，请按以下步骤操作：

1. 按照 HubSpot 网站上的 HubSpot 指南中的[创建公共应用程序](https://developers.hubspot.com/docs/api/creating-an-app)部分中的说明进行操作。

1. 从**身份验证**选项卡，添加 [所需范围](#hubspot-required-scopes) 中列出的三个范围。

1. 在**重定向 URL** 中使用以下格式的重定向 URL。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL AWS 区域 中*<region>*是您在其中配置 AppFabric 应用程序包的代码。例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

1. 选择**创建应用程序**。

### 所需范围
<a name="hubspot-required-scopes"></a>

您必须将以下范围添加到您的HubSpot OAuth应用程序中：
+ `settings.users.read`
+ `crm.objects.owners.read`
+ `account-info.security.read`

### 应用程序授权
<a name="hubspot-app-authorizations"></a>

#### 租户编号
<a name="hubspot-tenant-id"></a>

输入标识此唯一 HubSpot 组织的 ID。例如，输入您的 HubSpot 账户 ID。

#### 租户名称
<a name="hubspot-tenant-name"></a>

输入标识此唯一HubSpot组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="hubspot-client-id"></a>

AppFabric 将请求客户端 ID。要在 HubSpot 中查找您的客户端 ID，请按以下步骤操作：

1. 导航到 [HubSpot 登录页面](https://app.hubspot.com/login)，并使用您的开发人员账户凭证登录。

1. 从**应用程序**菜单，选择您的应用程序。

1. 从**身份验证**选项卡中,查找**客户端 ID** 值。

#### 客户端密钥
<a name="hubspot-client-secret"></a>

AppFabric 将请求客户机密钥。要在 HubSpot 中查找您的客户端密钥，请执行以下步骤：

1. 导航到 [HubSpot 登录页面](https://app.hubspot.com/login)，并使用您的开发人员账户凭证登录。

1. 从**应用程序**菜单，选择您的应用程序。

1. 从**身份验证**选项卡，查找**客户端密钥**值。

#### 批准授权
<a name="hubspot-approve-authorization"></a>

在中创建应用程序授权后 AppFabric，您将收到一个HubSpot用于批准授权的弹出窗口。使用您的企业账户凭证（不是您的开发者账户）登录您的账户以批准 AppFabric 授权。选择**允许**。

# 配置IBM Security® Verify为 AppFabric
<a name="ibm-security"></a>

该IBM Security® Verify系列提供自动化、基于云的本地功能，用于管理身份管理、管理员工和消费者的身份和访问权限以及控制特权账户。无论您需要部署云端还是本地解决方案，都可以IBM Security® Verify帮助您建立信任并防范[员工](https://www.ibm.com/products/verify-identity/workforce-iam)和[消费者](https://www.ibm.com/products/verify-identity/ciam)面临的内部威胁。

 AWS AppFabric 为了安全起见，您可以使用接收来自的审计日志和用户数据IBM Security® Verify，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 IBM Security® Verify](#ibm-security-appfabric-support)
+ [正在 AppFabric 连接您的IBM Security® Verify账户](#ibm-security-appfabric-connecting)

## AppFabric 支持 IBM Security® Verify
<a name="ibm-security-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志IBM Security® Verify。

### 先决条件
<a name="ibm-security-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输IBM Security® Verify到支持的目的地，您必须满足以下要求：
+ 要访问审核日志，您需要拥有 [IBM Security® VerifySaaS 帐户](https://www.ibm.com/products/verify-identity)。
+ 要访问审核日志，您需要在 IBM Security® Verify SaaS 账户中拥有管理员角色。

### 速率限制注意事项
<a name="ibm-security-rate-limits"></a>

IBM Security® Verify 对 IBM Security® Verify API 施加速率限制。有关 IBM Security® Verify API 速率限制的更多信息，请参阅 [IBM 条款](https://www.ibm.com/support/customer/csol/terms/?id=i126-7765&lc=en)。如果您的现有 API 应用程序 AppFabric 和您的现有 IBM Security® Verify API 应用程序的组合超过IBM Security® Verify限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="ibm-security-data-delay"></a>

在审核事件中，您可能会看到最长延迟 30 分钟才能送达目的地。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。但是，这可以在账户级别上进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的IBM Security® Verify账户
<a name="ibm-security-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权IBM Security® Verify。要查找授权所需的信息 IBM Security® Verify AppFabric，请按以下步骤操作。

### 创建 OAuth 应用程序
<a name="ibm-security-create-oauth-application"></a>

AppFabric 与IBM Security® Verify使用集成 OAuth。要在中创建 OAuth 应用程序IBM Security® Verify，请参阅 [I *BM 文档网站*上的创建 API 客户端](https://docs.verify.ibm.com/verify/docs/support-developers-create-api-client)。

1. 首次登录时，请使用发送到您注册的电子邮件地址的登录 URL 和凭据。

1. 访问管理控制台，网址为`https://<hostname>.verify.ibm.com/ui/admin/`。有关更多信息，请参阅[访问 IBM Security® Verify](https://www.ibm.com/docs/en/security-verify?topic=overview-accessing-security-verify#taskt_login_admin_ui__steps__1)。

1. 在管理控制台中，在**安全** < **API 访问权限** < **API 客户端**下，选择**添加**。

1. 选择以下选项。这些是读取审核日志和用户详细信息所必需的。
   + 阅读报告
   + 读取用户和组

1. 保留 “**客户机身份验证” 方法**中的 “**默认**” 选项。

   请勿编辑 “**自定义范围**” 字段。

1. 选择**下一步**。

1. 不要编辑 **IP 筛选器**字段。

1. 选择**下一步**。

1. 不要编辑 “**其他属性**” 字段。

1. 选择**下一步**。

1. 指定**名称**和**描述**。描述是可选的。

1. 选择**创建 API 客户端**。

### 应用程序授权
<a name="ibm-security-app-authorizations"></a>

#### 租户编号
<a name="ibm-security-tenant-id"></a>

AppFabric 将请求您的租户 ID。您可以在IBM Security® Verify标准 URL 中找到租户 ID。例如，在 `https://hostname.verify.ibm.com/` URL 中，租户 ID 是在之前可以找到的`.verify.ibm.com`（`ice.ibmcloud.com`如果您使用*hostname*的是以前的主机名，则在之前找到）。如果您使用的是虚名 URL，请联系您的IBM Security® Verify支持团队以获取标准网址。

#### 租户名称
<a name="ibm-security-tenant-name"></a>

输入标识此唯一IBM Security® Verify租户的名称。 AppFabric 使用租户名称来标记应用程序授权以及通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="ibm-security-client-id"></a>

AppFabric 将请求客户端 ID。要在 IBM Security® Verify 中查找您的客户端 ID，请按以下步骤操作：

1. 首次登录时，请使用发送到您注册的电子邮件地址的登录 URL 和凭据。

1. 访问管理控制台，网址为`https://<hostname>.verify.ibm.com/ui/admin/`。有关更多信息，请参阅[访问 IBM Security® Verify](https://www.ibm.com/docs/en/security-verify?topic=overview-accessing-security-verify#taskt_login_admin_ui__steps__1)。

1. 在管理控制台中，在 “**安全** < **API Acces** s < **API 客户端**” 下，选择特定 OAuth 应用程序旁边的省略号 (‹)。

1. 选择 “**连接详细信息**”。

1. 在 **API 凭****证下找到客户端 ID**。

#### 客户端密钥
<a name="ibm-security-client-secret"></a>

AppFabric 将请求客户机密钥。要在 IBM Security® Verify 中查找您的客户端密钥，请执行以下步骤：

1. 首次登录时，请使用发送到您注册的电子邮件地址的登录 URL 和凭据。

1. 访问管理控制台，网址为`https://<hostname>.verify.ibm.com/ui/admin/`。有关更多信息，请参阅[访问 IBM Security® Verify](https://www.ibm.com/docs/en/security-verify?topic=overview-accessing-security-verify#taskt_login_admin_ui__steps__1)。

1. 在管理控制台中，在 “**安全** < **API Acces** s < **API 客户端**” 下，选择特定 OAuth 应用程序旁边的省略号 (‹)。

1. 选择 “**连接详细信息**”。

1. 在 **API 凭据**下找到**客户端密钥**。

# 配置JumpCloud为 AppFabric
<a name="jumpcloud"></a>

JumpCloud Inc. 是一家美国企业软件公司，为身份管理提供基于云的目录平台。它集中并简化了身份管理，允许用户使用一组凭据安全地访问其系统、应用程序、网络和文件服务器，无论平台、协议、提供商或位置如何。

您可以使用 AWS AppFabric 接收来自的审计日志和用户数据 JumpCloud，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 JumpCloud](#jumpcloud-appfabric-support)
+ [正在 AppFabric 连接您的JumpCloud账户](#jumpcloud-appfabric-connecting)

## AppFabric 支持 JumpCloud
<a name="jumpcloud-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志JumpCloud。

### 先决条件
<a name="jumpcloud-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输JumpCloud到支持的目的地，您必须满足以下要求：
+ 您必须拥有有效的付费JumpCloud订阅计划。有关更多信息，请参见[https://jumpcloud.com/pricing](https://jumpcloud.com/pricing)JumpCloud网站。
+ 您必须具有 “账单管理员” 角色。

### 速率限制注意事项
<a name="jumpcloud-rate-limits"></a>

JumpCloud 不发布速率限制。您必须创建支持案例或联系您的JumpCloud客户团队。如果您的现有 API 应用程序 AppFabric 和您的现有 JumpCloud API 应用程序的组合超过JumpCloud's限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="jumpcloud-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是由于应用程序提供的审计事件出现延迟，以及为减少数据丢失而采取的预防措施。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的JumpCloud账户
<a name="jumpcloud-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric 使用进行授权JumpCloud。要查找授权JumpCloud所需的信息 AppFabric，请按照下一节中的步骤操作。

### 使用该JumpCloud账户创建组织令牌
<a name="jumpcloud-appfabric-access-token"></a>

AppFabric 使用 API 密钥与JumpCloud集成要在中创建 API 密钥 JumpCloud，请按照以下步骤操作：。

1. [以管理员身份登录您的JumpCloud](https://console.jumpcloud.com/login/admin)帐户。

1. 在管理门户中，选择右上角的账户首字母缩写，然后从菜单中选择 “**我的 API 密钥**”。

1. 选择 “**生成新 API 密钥**”，或选择现有密钥。

**注意**  
JumpCloud只允许使用一个有效的 API 密钥。生成新的 API 密钥将撤消对当前 API 密钥的访问权限。这将导致所有使用之前的 API 密钥的调用都无法访问。您必须使用新的密钥值更新使用先前 API 密钥的所有现有集成。

### 应用程序授权
<a name="jumpcloud-app-authorizations"></a>

#### 租户编号
<a name="jumpcloud-tenant-id"></a>

AppFabric 将请求您的租户 ID。这里的 “组织 ID” 将是租户 ID。要查找 “组织 ID”，请按照以下步骤操作。

1. 登录您的 JumpCloud 账户。

1. 在导航窗格中，依次选择**设置**、**组织配置文件**和**常规**。

1. 选择 “眼睛” 图标以删除模糊的视图。

1. 选择 “双页” 图标以复制身份证。

#### 租户名称
<a name="jumpcloud-tenant-name"></a>

输入标识此唯一JumpCloud组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 服务账户令牌
<a name="jumpcloud-service-account-token"></a>

AppFabric 将请求您的服务帐号令牌。在中 AppFabric，这是您在本主题前面部分中创建的[使用该JumpCloud账户创建组织令牌](#jumpcloud-appfabric-access-token)组织 API 令牌。

# 将 Microsoft 365 配置为 AppFabric
<a name="microsoft-365"></a>

Microsoft 365 是一个由生产力软件、协作工具和基于云的服务组成的产品系列，由 Microsoft 拥有。

 AWS AppFabric 为了安全起见，您可以使用来审计来自 Microsoft 365 的日志和用户数据，将数据标准化为开放网络安全架构框架 (OCSF) 格式，并将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Microsoft 365](#microsoft-365-appfabric-support)
+ [正在连接 AppFabric 您的 Microsoft 365 账户](#microsoft-365-appfabric-connecting)

## AppFabric 支持 Microsoft 365
<a name="microsoft-365-appfabric-support"></a>

AppFabric 支持从 Microsoft 365 接收用户信息和审核日志。

### 先决条件
<a name="microsoft-365-prerequisites"></a>

 AppFabric 要使用将审核日志从 Microsoft 365 传输到支持的目的地，您必须满足以下要求：
+ 您必须订阅 Microsoft 365 企业版计划。有关创建或升级到 Microsoft 365 企业版计划的更多信息，请参阅 Microsoft 网站上的 [Microsoft 365 企业版计划](https://www.microsoft.com/en-us/microsoft-365/compare-microsoft-365-enterprise-plans)。
+ 您的 Microsoft 365 账户中必须有具有**管理员**权限的用户。
+ 您必须为组织开启审核日志。有关更多信息，请参阅[在 Microsoft 网站上开启或关闭审计](https://learn.microsoft.com/en-us/microsoft-365/compliance/audit-log-enable-disable?view=o365-worldwide)。

### 速率限制注意事项
<a name="microsoft-365-rate-limits"></a>

Microsoft 365 对 Microsoft 365 API 施加了速率限制。有关 Microsoft 365 API 速率限制的更多信息，请参阅 Microsoft 网站上 Microsoft Graph 文档中特定于 [Microsoft Graph 服务的节流限制](https://learn.microsoft.com/en-us/graph/throttling-limits)。如果 AppFabric 和您现有的 Microsoft 365 API 应用程序的组合超过限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="microsoft-365-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在连接 AppFabric 您的 Microsoft 365 账户
<a name="microsoft-365-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用 Microsoft 365 进行授权。要查找授权 Microsoft 365 所需的信息 AppFabric，请使用以下步骤。

### 创建 OAuth 应用程序
<a name="microsoft-365-create-oauth-application"></a>

AppFabric 使用与 Microsoft 365 集成 OAuth。要在 Microsoft 365 中创建 OAuth应用程序，请使用以下步骤：

1. 按照 Microsoft 网站 *Azure Active Directory 开发人员指南*中[注册应用程序](https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app#register-an-application)部分中的说明进行操作。

   在**支持的账户类型**配置中仅选择**此组织目录中的账户**。

1. 按照 *Azure Active Directory 开发人员指南*中的[添加重定向 URI](https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app#add-a-redirect-uri)部分中的说明进行操作。

   选择 **Web 平台**。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL AWS 区域 中`<region>`是您在其中配置 AppFabric 应用程序包的代码。例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

   您可以跳过 Web 平台的其他输入字段。

1. 按照 *Azure Active Directory 开发人员指南*的[添加客户端密钥](https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app#add-a-client-secret)部分中的说明进行操作。

### 所需的权限
<a name="microsoft-365-required-permissions"></a>

您必须向 OAuth 应用程序添加以下权限。要添加权限，请按照 *Azure Active Directory 开发人员指南*的[添加用于访问您的 Web API 的权限](https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-configure-app-access-web-apis#add-permissions-to-access-your-web-api)部分中的说明进行操作。
+ `Microsoft Graph API` > `User.Read`（自动添加）
+ `Office 365 Management APIs` > `ActivityFeed.Read`（选择委托类型）
+ `Office 365 Management APIs` > `ActivityFeed.ReadDlp`（选择委托类型）
+ `Office 365 Management APIs` > `ServiceHealth.Read`（选择委托类型）

添加权限后，要授予管理员对这些权限的同意，请按照 *Azure Active Directory 开发人员指南*的[管理员同意按钮](https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-configure-app-access-web-apis#admin-consent-button)部分中的说明进行操作。

### 应用程序授权
<a name="microsoft-365-app-authorizations"></a>

AppFabric 支持从您的 Microsoft 365 账户接收用户信息和审核日志。要同时接收来自 Microsoft 365 的审核日志和用户数据，您必须创建两个应用程序授权，一个在应用程序授权下拉列表中名为 **Microsoft 365**，另一个在应用程序授权下拉列表中名为 **Microsoft 365 Audit Log**。您可以为两个应用程序授权使用相同的租户 ID、客户端 ID 和客户端密钥。要接收来自 Microsoft 365 的审核日志，您需要同时获得 **Microsoft 365** 和 **Microsoft 365 审核日志**应用程序的授权。要单独使用用户访问工具，只需要 **Microsoft 365** 应用程序授权。

#### 租户编号
<a name="microsoft-365-tenant-id"></a>

AppFabric 将要求您提供租户 ID。中的租户 ID AppFabric 是你的 Azure 活动目录租户 ID。要查找您的 Azure Active Directory 租户 ID，请参阅 Microsoft 网站 *Azure 产品文档*中的[如何查找 Azure Active Directory 租户 ID](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/how-to-find-tenant)。

#### 租户名称
<a name="microsoft-365-tenant-name"></a>

输入标识此唯一 Microsoft 365 账户的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="microsoft-365-client-id"></a>

AppFabric 将要求您提供客户端 ID。中的客户端 ID AppFabric 是 Microsoft 365 应用程序（客户端）ID。要查找您的 Microsoft 365 应用程序（客户端）ID，请使用以下步骤：

1. 打开与您一起使用的 OAuth 应用程序的概述页面 AppFabric。

1. 应用程序（客户端）ID 显示在**基本信息**下。

1. 在的 “客户端 ID” 字段中输入您的 OAuth 客户的应用程序（**客户端）ID** AppFabric。

#### 客户端密钥
<a name="microsoft-365-client-secret"></a>

AppFabric 将请求您的客户机密钥。 Microsoft只有在您最初为 OAuth应用程序创建客户端密钥时，365 才会提供此值。要生成新的客户端密钥（如果没有），请按以下步骤操作：

1. 要创建客户端密钥，请按照 *Azure Active Directory 开发人员指南*的[添加客户端密钥](https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app#add-a-client-secret)部分中的说明进行操作。

1. 在的 “**客户机密**” 字段中输入 “**值**” 字段的内容 AppFabric。

#### 批准授权
<a name="microsoft-365-approve-authorization"></a>

在中创建应用程序授权后 AppFabric，您将收到来自 Microsoft 365 的弹出窗口，用于批准授权。要批准 AppFabric 授权，请选择**允许**。

# 配置Miro为 AppFabric
<a name="miro"></a>

Miro 是一个用于创新的在线工作空间，能让任何规模的分布式团队共同打造下一件大事。通过该平台的无限画布，团队能够进行引人入胜的研讨会和会议、产品设计、头脑风暴等活动。Miro 公司总部位于旧金山和阿姆斯特丹，全球范围内拥有超过 5000 万用户，其中包括 99% 的财富 100 强公司。Miro 成立于 2011 年，目前在全球 12 个中心拥有超过 1500 名员工。要了解更多信息，请访问 [https://miro.com](https://miro.com)。

Miro 包括一整套专为创新而设计的协作功能，包括绘制图表、线框图、实时数据可视化、研讨会推进以及对敏捷实践、研讨会和交互式演示的内置支持。Miro 近期发布的 Miro AI 扩展了 Miro 的功能，包括 AI 驱动的映射和图表、聚类和摘要以及内容生成。Miro 帮助组织减少独立工具的数量，从而避免信息碎片化和降低成本。

 AWS AppFabric 出于安全考虑，您可以使用来审核来自的日志和用户数据Miro，将数据标准化为开放网络安全架构框架 (OCSF) 格式，并将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Miro](#miro-appfabric-support)
+ [正在 AppFabric 连接您的Miro账户](#miro-appfabric-connecting)

## AppFabric 支持 Miro
<a name="miro-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Miro。

### 先决条件
<a name="miro-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Miro到支持的目的地，您必须满足以下要求：
+ 您必须拥有 Miro 企业套餐。有关 Miro 套餐类型的更多信息，请参阅 Miro 网站上的 [Miro定价](https://miro.com/pricing/) 页面。
+ 您的 Miro 账户中必须有具有公司管理员角色的用户。有关角色的更多信息，请参阅 Miro 帮助中心网站上 [Miro 中的角色](https://help.miro.com/hc/en-us/articles/360017571194-Roles-in-Miro#Company_level)的*公司层面*部分。
+ 您的 Miro 账户中必须有企业开发人员团队。有关创建开发人员团队的信息，请参阅 Miro 帮助中心网站上的[企业开发人员团队](https://help.miro.com/hc/en-us/articles/4766759572114)。

### 速率限制注意事项
<a name="miro-rate-limit"></a>

Miro 对 Miro API 施加速率限制。有关 Miro API 速率限制的更多信息，请参阅 Miro 网站上 *Miro 开发人员指南*中的[速率限制](https://developers.miro.com/docs/rate-limiting)。如果 AppFabric 和您的现有 Miro API 应用程序的组合超过限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="miro-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Miro账户
<a name="miro-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Miro。要查找授权所需的信息 Miro AppFabric，请使用以下步骤。

### 创建 OAuth 应用程序
<a name="miro-create-oauth-application"></a>

AppFabric 与Miro使用集成 OAuth。要在中创建 OAuth应用程序Miro，请按以下步骤操作：

1. 要创建 OAuth 应用程序，请按照 Miro 帮助中心网站上*企业开发者团队*文章的 “[创建和安装应用程序](https://help.miro.com/hc/en-us/articles/4766759572114#Creating_and_installing_apps)” 部分中的说明进行操作。

1. 在应用程序创建对话框中，在企业组织中选择开发团队后，选中**用户授权令牌过期**复选框。
**注意**  
由于在创建应用程序后无法更改此选项，您必须在创建应用程序*之前*执行此操作。

1. 在应用程序页面的 “** OAuth 2.0 的重定向 URI” 部分，输入采用以下格式的 UR** L。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL AWS 区域 中*<region>*是您在其中配置 AppFabric 应用程序包的代码。例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

1. 复制并保存您的客户端 ID 和客户端密钥，以便在 AppFabric 应用程序授权中使用。

### 所需范围
<a name="miro-required-scopes"></a>

您必须在Miro OAuth 应用程序页面的`Permissions`部分添加以下范围：
+ `auditlogs:read`
+ `organizations:read`

### 应用程序授权
<a name="miro-app-authorizations"></a>

#### 租户编号
<a name="miro-tenant-id"></a>

AppFabric 将请求您的租户 ID。中的租户 ID AppFabric 是您的Miro团队 ID。有关如何找到您的 Miro 团队 ID 的信息，请参阅[我是新 Miro 管理员的*常见问题*部分。*Miro 帮助中心*网站上的从哪里开始？](https://help.miro.com/hc/en-us/articles/360021841280-I-am-a-new-Miro-Admin-Where-to-start-)

#### 租户名称
<a name="miro-tenant-name"></a>

输入标识此唯一Miro组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="miro-client-id"></a>

AppFabric 将要求您提供客户端 ID。要查找您的客户端 ID，请按以下步骤操作：

1. 导航到您的 Miro 个人资料设置。

1. 选择**您的应用程序**选项卡。

1. 选择您用来连接的应用程序 AppFabric。

1. 在的 “客户端 ID” 字段中输入 “**应用程序凭证**” 部分中的**客户端 ID** AppFabric。

#### 客户端密钥
<a name="miro-client-secret"></a>

AppFabric 将请求您的客户机密钥。要查找客户端密钥，请按以下步骤操作：

1. 导航到您的 Miro 个人资料设置。

1. 选择**您的应用程序**选项卡。

1. 选择您用来连接的应用程序 AppFabric。

1. 将**应用程序凭证**部分中的客户端密钥输入到的**客户端密钥**字段中 AppFabric。

#### 批准授权
<a name="miro-approve-authorization"></a>

在中创建应用程序授权后 AppFabric，您将收到一个Miro用于批准授权的弹出窗口。要批准 AppFabric 授权，请选择**允许**。

# 配置Okta为 AppFabric
<a name="okta"></a>

Okta 是举世闻名的公司。作为领先的独立身份合作伙伴，Okta 让每个人都可以随时随地在任何设备或应用程序上安全地使用任何技术。最值得信赖的品牌信赖 Okta 能够实现安全访问、身份验证和自动化。灵活性和中立性是 Okta 劳动力身份和客户身份云的核心，借助可定制的解决方案和 7,000 多个预先构建的集成，企业领导者和开发人员可以专注于创新并加快数字化转型。Okta 正在建设一个身份属于您的世界。在 okta .com 上了解更多信息。

 AWS AppFabric 出于安全考虑，您可以使用来审核来自的日志和用户数据Okta，将数据标准化为开放网络安全架构框架 (OCSF) 格式，并将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Okta](#okta-appfabric-support)
+ [正在 AppFabric 连接您的Okta账户](#okta-appfabric-connecting)

## AppFabric 支持 Okta
<a name="okta-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Okta。

### 先决条件
<a name="okta-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Okta到支持的目的地，您必须满足以下要求：
+ 您可以 AppFabric 与任何Okta计划类型一起使用。
+ 您的 Okta 账户中必须有具有**超级管理员**角色的用户。
+ 在中批准应用程序授权的用户还 AppFabric 必须在您的Okta账户中拥有**超级管理员**角色。

### 速率限制注意事项
<a name="okta-rate-limit"></a>

Okta 对 Okta API 施加速率限制。如需详细了解 Okta API 速率限制，请参阅 Okta 网站上 *Okta 开发人员指南*中的[速率限制](https://developer.okta.com/docs/reference/rate-limits/)。如果您的现有 API 应用程序 AppFabric 和您的现有 Okta API 应用程序Okta的组合超出限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="okta-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Okta账户
<a name="okta-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Okta。要查找授权所需的信息 Okta AppFabric，请使用以下步骤。

### 创建 OAuth 应用程序
<a name="okta-create-oauth-application"></a>

AppFabric 与Okta使用集成 OAuth。要创建要连接的 OAuth应用程序 AppFabric，请按照*Okta帮助*中心网站[创建 OIDC 应用程序集成](https://help.okta.com/en-us/Content/Topics/Apps/Apps_App_Integration_Wizard_OIDC.htm)中的说明进行操作。以下是以下配置注意事项 AppFabric：

1. 对于**应用程序类型**，选择 **Web 应用程序**。

1. 对于**授予类型**，请选择**授权码**和**刷新令牌**。

1. 使用以下格式的重定向 URL 作为**登录重定向 URI** 和**注销重定向 URI**。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL AWS 区域 中*<region>*是您在其中配置 AppFabric 应用程序包的代码。例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

1. 您可以跳过**可信来源**配置。

1. 在**受控访问**配置中向 Okta 组织中的每个人授予访问权限。
**注意**  
如果您在初始创建 OAuth 应用程序时跳过此步骤，则可以使用应用程序配置页面上的 “**任务” 选项卡将组织中的所有人分配**为一个小组。

1. 您可以将所有其他选项保留为默认值。

### 所需范围
<a name="okta-required-scopes"></a>

您必须将以下范围添加到您的Okta OAuth应用程序中：
+ `okta.logs.read`
+ `okta.users.read`

### 应用程序授权
<a name="okta-app-authorizations"></a>

#### 租户编号
<a name="okta-tenant-id"></a>

AppFabric 将请求租户 ID。中的租户 ID AppFabric 是您的Okta域名。有关查找 Okta 域名的更多信息，请参阅 Okta 网站上 *Okta 开发人员指南*中的[查找您的 Okta 域名](https://developer.okta.com/docs/guides/find-your-domain/main/)。

#### 租户名称
<a name="okta-tenant-name"></a>

输入标识此唯一Okta组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="okta-client-id"></a>

AppFabric 将请求客户端 ID。要在 Okta 中查找您的客户端 ID，请按以下步骤操作：

1. 导航到 Okta 开发人员控制台。

1. 选择**应用程序**选项卡。

1. 选择您的应用程序，然后选择**常规**选项卡。

1. 滚动至**客户端凭证**部分。

1. 在的 “客户端 ID” 字段中输入 OAuth 来自**客户的客户端 ID** AppFabric。

#### 客户端密钥
<a name="okta-client-secret"></a>

AppFabric 将请求客户机密钥。要在 Okta 中查找您的客户端密钥，请执行以下步骤：

1. 导航到 Okta 开发人员控制台。

1. 选择**应用程序**选项卡。

1. 选择您的应用程序，然后选择**常规**选项卡。

1. 滚动至**客户端凭证**部分。

1. 在的 “客户机密钥” 字段中输入 OAuth 应用程序中的**客户机密钥** AppFabric。

#### 批准授权
<a name="okta-approve-authorization"></a>

在中创建应用程序授权后 AppFabric，您将收到一个Okta用于批准授权的弹出窗口。要批准 AppFabric 授权，请选择**允许**。批准 Okta 授权的用户必须在 Okta 中拥有**超级管理员**权限。

# 配置OneLogin by One Identity为 AppFabric
<a name="onelogin"></a>

OneLogin by One Identity 是一款基于云的现代访问管理解决方案，可为您的员工、客户和合作伙伴无缝管理所有数字身份。OneLogin 提供安全的单点登录 (SSO)、多重身份验证 (MFA)、自适应身份验证、桌面级 MFA、与 AD、LDAP、G Suite 和其他外部目录的目录集成、身份生命周期管理等。借OneLogin助，您可以保护您的组织免受最常见的攻击，从而提高安全性、顺畅的用户体验并遵守监管要求。

 AWS AppFabric 为了安全起见，您可以使用接收来自的审计日志和用户数据OneLogin，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 OneLogin by One Identity](#onelogin-appfabric-support)
+ [正在 AppFabric 连接您的OneLogin by One Identity账户](#onelogin-appfabric-connecting)

## AppFabric 支持 OneLogin by One Identity
<a name="onelogin-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志OneLogin by One Identity。

### 先决条件
<a name="onelogin-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输OneLogin by One Identity到支持的目的地，您必须满足以下要求：
+ 您必须拥有 OneLogin 高级或专业账户。
+ 您必须拥有具有 Admin/Delegated 管理员权限的用户。

### 速率限制注意事项
<a name="onelogin-rate-limit"></a>

OneLogin by One Identity 对 OneLogin API 施加速率限制。有关 OneLogin API 速率限制的更多信息，请参阅《*OneLogin 参考*》中的[获取速率限制](https://developers.onelogin.com/api-docs/1/oauth20-tokens/get-rate-limit)。如果您的现有 API 应用程序 AppFabric 和您的现有 OneLogin API 应用程序OneLogin的组合超出限制，则显示在中的审核日志 AppFabric 可能会延迟。但是，OneLogin 速率限制可以增加。如需帮助，请联系您的 OneLogin by One Identity 客户经理或者联系 [https://partners.amazonaws.com/contactpartner?partnerId=001E000000UfZycIAF&partnerName=One%20Identity](https://partners.amazonaws.com/contactpartner?partnerId=001E000000UfZycIAF&partnerName=One%20Identity)。

### 数据延迟注意事项
<a name="onelogin-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的OneLogin by One Identity账户
<a name="onelogin-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权OneLogin by One Identity。要查找授权所需的信息 OneLogin AppFabric，请使用以下步骤。

### 创建 OAuth 应用程序
<a name="onelogin-create-oauth-application"></a>

AppFabric 与OneLogin by One Identity使用集成 OAuth。要在中创建 OAuth 应用程序OneLogin，请按以下步骤操作：

1. 导航到 [OneLogin 登录页面](https://app.onelogin.com/login)并登录。

1. 从**开发人员**菜单中选择 **API 凭证**。

1. 选择**新凭证**，输入新凭证的名称，然后选择**全部读取**。

1. 选择**保存**。OneLogin 会创建客户端 ID 和客户端密钥。

### 所需范围
<a name="onelogin-required-scopes"></a>

您必须在OneLogin by One Identity OAuth 应用程序中添加以下范围：
+ 全部读取。有关范围和客户端凭证的更多信息，请参阅《*OneLogin API 参考*》中的[使用 API 凭证](https://developers.onelogin.com/api-docs/1/getting-started/working-with-api-credentials)。

### 应用程序授权
<a name="onelogin-app-authorizations"></a>

#### 租户编号
<a name="onelogin-tenant-id"></a>

AppFabric 将请求租户 ID。中的租户 ID AppFabric 是您的实例子域。您可以在浏览器的地址栏中找到租户 ID。例如，`subdomain` 是以下 URL `https://subdomain.onelogin.com` 中的租户 ID。

#### 租户名称
<a name="onelogin-tenant-name"></a>

输入标识此唯一OneLogin by One Identity组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="onelogin-client-id"></a>

AppFabric 将请求客户端 ID。要在 OneLogin by One Identity 中查找您的客户端 ID，请按以下步骤操作：

1. 导航到 [OneLogin 登录页面](https://app.onelogin.com/login)并登录。

1. 从**开发人员**菜单中选择 **API 凭证**。

1. 选择 API 凭证以获取客户端 ID。

#### 客户端密钥
<a name="onelogin-client-secret"></a>

AppFabric 将请求客户机密钥。要在 OneLogin by One Identity 中查找您的客户端密钥，请执行以下步骤：

1. 导航到 [OneLogin 登录页面](https://app.onelogin.com/login)并登录。

1. 从**开发人员**菜单中选择 **API 凭证**。

1. 选择 API 凭证以获取客户端密钥。

#### 客户端应用程序授权
<a name="onelogin-approve-authorization"></a>

在中 AppFabric，使用您的租户 ID 和姓名以及您的客户端 ID 和名称创建应用程序授权。选择“连接”以激活授权。

# 配置PagerDuty为 AppFabric
<a name="pagerduty"></a>

PagerDuty 是一个数字运营管理平台，可通过将任何信号转化为行动来帮助团队缓解影响客户的问题，从而更快地解决问题并提高运营效率。与 CloudWatch、GuardDuty、CloudTrail 和 Personal Health Dashboard 集成。

 AWS AppFabric 为了安全起见，您可以使用接收来自的审计日志和用户数据PagerDuty，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 PagerDuty](#pagerduty-appfabric-support)
+ [正在 AppFabric 连接您的PagerDuty账户](#pagerduty-appfabric-connecting)

## AppFabric 支持 PagerDuty
<a name="pagerduty-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志PagerDuty。

### 先决条件
<a name="pagerduty-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输PagerDuty到支持的目的地，您必须满足以下要求：
+ 要访问审计日志，您必须制定 PagerDuty** 商业**或**数字运营**计划。
+ 您应该是 PagerDuty 账户的全球管理员或账户所有者。

### 速率限制注意事项
<a name="pagerduty-rate-limit"></a>

PagerDuty 对 PagerDuty API 施加速率限制。有关 PagerDuty API 速率限制的更多信息，请参阅 PagerDuty 开发人员平台上的 [REST API 速率限制](https://developer.pagerduty.com/docs/72d3b724589e3-rest-api-rate-limits)。如果您的现有 API 应用程序 AppFabric 和您的现有 PagerDuty API 应用程序PagerDuty的组合超出限制，则显示在中的审核日志 AppFabric可能会延迟。

### 数据延迟注意事项
<a name="pagerduty-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的PagerDuty账户
<a name="pagerduty-appfabric-connecting"></a>

PagerDuty 平台支持 API 访问密钥。要生成 API 访问密钥，请使用以下步骤。

### 创建 API 访问密钥
<a name="pagerduty-create-api-key"></a>

AppFabric 与PagerDuty使用公共客户端的 API 访问密钥集成。要在 PagerDuty 中创建 API 访问密钥，请使用以下步骤：

1. 导航到 [PagerDuty 登录页面](https://identity.pagerduty.com/global/authn/authentication/PagerDutyGlobalLogin/enter_email)并登录。

1. 选择**集成**、**API 访问密钥**。

1. 选择**新建 API 密钥**。

1. 输入描述，然后选择**只读 API 密钥**。

1. 选择**创建密钥**。

1. 复制并保存 API 密钥。稍后你会需要这个 AppFabric。如果您在保存 API 密钥之前关闭页面，则必须生成新的 API 密钥并将其保存下来。此密钥应专用于 AppFabric 避免与其他集成共享 PagerDuty API 速率限制。

### 应用程序授权
<a name="pagerduty-app-authorizations"></a>

#### 租户编号
<a name="pagerduty-tenant-id"></a>

AppFabric 将请求您的租户 ID。您的 PagerDuty 账户的租户 ID 是您账户的基本 URL。要找到它，请登录到 PagerDuty 并从 Web 浏览器的地址栏中进行复制。租户 ID 应采用下列格式之一：
+ 对于美国账户为 `subdomain.pagerduty.com`
+ 对于欧盟账户为 `subdomain.eu.pagerduty.com`

#### 租户名称
<a name="pagerduty-tenant-name"></a>

输入标识此唯一PagerDuty组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 服务账户令牌
<a name="pagerduty-service-token"></a>

AppFabric 将请求您的服务帐号令牌。中的服务帐号令牌 AppFabric 是您在中创建的 API 访问密钥[创建 API 访问密钥](#pagerduty-create-api-key)。

# 配置Ping Identity为 AppFabric
<a name="pingidentity"></a>

在 Ping Identity，我们坚信不妥协地为所有用户提供安全且无缝的数字体验。这就是超过一半的财富 100 强企业选择 Ping Identity 来保护用户的数字互动，同时让体验顺畅无阻的原因。2023 年 8 月 23 日，Ping Identity 和 ForgeRock 携手为客户和合作伙伴提供更多选择、更深入的专业知识和更完整的身份解决方案。

 AWS AppFabric 为了安全起见，您可以使用接收来自的审计日志和用户数据Ping Identity，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Ping Identity](#pingidentity-appfabric-support)
+ [正在 AppFabric 连接您的Ping Identity账户](#pingidentity-appfabric-connecting)

## AppFabric 支持 Ping Identity
<a name="pingidentity-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Ping Identity。

### 先决条件
<a name="pingidentity-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Ping Identity到支持的目的地，您必须满足以下要求：
+ 您必须拥有 Essential、Plus 或 Premium Ping Identity 帐户。如需详细了解如何创建或升级到适用 Ping Identity 计划类型，请参阅 Ping Identity 网站上[Ping Identity所有功能的定价](https://www.pingidentity.com/en/platform/pricing.html)。
+ 您的 Ping Identity 账户中必须具有**身份数据只读**角色。您可以通过为您的应用程序授予角色来向您的账户添加角色。有关角色的更多信息，请参阅 Ping Identity 支持网站上的[角色](https://docs.pingidentity.com/r/en-us/pingone/p1_c_roles)。

### 速率限制注意事项
<a name="pingidentity-rate-limit"></a>

Ping Identity 不发布速率限制。您必须创建支持案例或者联系您的 Ping Identity 客户成功团队。如果您的现有 API 应用程序 AppFabric 和您的现有 Ping Identity API 应用程序Ping Identity的组合超出限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="pingidentity-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Ping Identity账户
<a name="pingidentity-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Ping Identity。要查找授权所需的信息 Ping Identity AppFabric，请按以下步骤操作。

### 创建 OAuth 应用程序
<a name="pingidentity-create-oauth-application"></a>

AppFabric 与Ping Identity使用集成 OAuth。要在中创建 OAuth应用程序Ping Identity，请按以下步骤操作：

1. 按照 Ping Identity 网站上的《*面向开发人员的 PingOne*》指南中的[创建应用程序连接](https://apidocs.pingidentity.com/pingone/main/v1/api/#create-an-application-connection)部分中的说明进行操作。

1. 在创建应用程序后，自定义授权类型。

   1. 登录应用程序后，选择**配置**选项卡，然后单击铅笔图标以更改现有配置。

   1. 在**授权类型**下，选择**授权码**。将 **PKCE 强制执行**保留为**可选**。

   1. 选择**刷新令牌**并选择刷新持续时间。

1. 在重定向 URL 中使用以下格式的**重定向 URL/callback URL**。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL AWS 区域 中*<region>*是您在其中配置 AppFabric 应用程序包的代码。例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

### 应用程序授权
<a name="pingidentity-app-authorizations"></a>

#### 租户编号
<a name="pingidentity-tenant-id"></a>

AppFabric 将请求您的租户 ID。中的租户 ID AppFabric 是您的Ping Identity实例名称。您可以在浏览器的地址栏中找到租户 ID。例如 `API_PATH/v1/environments/environmentID`。其中，`API_PATH` 表示 PingOne 服务器的区域域（例如 `api.pingone.com`），`environmentID` 代表您的应用程序环境属性中指明的环境 ID。有关环境属性的更多信息，请参阅 Ping Identity 网站上的[环境属性](https://docs.pingidentity.com/r/en-us/pingone/p1_c_environments)。

#### 租户名称
<a name="pingidentity-tenant-name"></a>

输入标识此唯一Ping Identity组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="pingidentity-client-id"></a>

AppFabric 将请求客户端 ID。要在 Ping Identity 中查找您的客户端 ID，请按以下步骤操作：

1. 登录 PingOne 管理员控制台并选择**应用程序**。

1. 从列表中选择应用程序。

1. 选择**概述**选项卡，然后查找**客户端 ID** 值。

#### 客户端密钥
<a name="pingidentity-client-secret"></a>

AppFabric 将请求客户机密钥。要在 Ping Identity 中查找您的客户端密钥，请执行以下步骤：

1. 登录 PingOne 管理员控制台并选择**应用程序**。

1. 从列表中选择应用程序。

1. 选择**概述**选项卡，然后查找**客户端密钥**值。

#### 批准授权
<a name="pingidentity-approve-authorization"></a>

在中创建应用程序授权后 AppFabric，您将收到一个Ping Identity用于批准授权的弹出窗口。要批准 AppFabric 授权，请选择**允许**。

# 配置Salesforce为 AppFabric
<a name="salesforce"></a>

Salesforce提供基于云的软件，旨在帮助企业找到更多潜在客户，完成更多交易，并以出色的服务让客户赞叹不已。 Salesforce’sCustomer 360 提供一整套产品，将销售、服务、营销、商务和 IT 团队与客户信息的单一共享视图结合在一起，帮助组织发展与客户和员工的关系。

您可以使用 AWS AppFabric 接收来自的审计日志和用户数据Salesforce，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Salesforce](#salesforce-appfabric-support)
+ [正在 AppFabric 连接您的Salesforce账户](#salesforce-appfabric-connecting)

## AppFabric 支持 Salesforce
<a name="salesforce-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Salesforce。

### 先决条件
<a name="salesforce-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Salesforce到支持的目的地，您必须满足以下要求：
+ 您必须拥有[性能版、企业版或无限版](https://help.salesforce.com/s/articleView?id=sf.overview_edition.htm&type=5)的Salesforce。请联系Salesforce以升级到其中一个版本。
+ 如果您想按小时 AppFabric 传输事件日志文件以及来自[的全套日志事件](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile_supportedeventtypes.htm)Salesforce，则必须订阅 “事件监控”，这是 [Shield 功能](https://www.salesforce.com/editions-pricing/platform/shield/)的一部分Salesforce。否则， AppFabric将从Salesforce’s标准每日日志文件中传输有限的事件（即登录 InsecureExternalAssets、注销、API 总使用量、CORS 违规和 HostnameRedirects ELF 事件）。你可以前往 “**设置**” > “**活动管理器**”，查看你的Salesforce账户是否已经订阅了 Shield Features。如果您看到列出了 19 个或更多事件，则您的账户已订阅事件监控。如果您没有事件监控，则可以通过联系购买此插件的订阅Salesforce。
+ 你需要在Salesforce设置中[选择启用生成事件日志文件](https://help.salesforce.com/s/articleView?id=release-notes.rn_security_em_generate_event_log_files.htm&release=244&type=5)。
+ 您应使用系统管理员配置文件创建 OAuth应用程序，并使用相同的凭据登录 AppFabric。

**注意**  
在支持的版本中，可以免费获得 API 总使用量、CORS 违规记录、主机名重定向、不安全的外部资产、登录和注销事件。Salesforce联系购买Salesforce其余活动类型。有关Salesforce事件类型的更多信息，请参阅Salesforce网站上的[EventLogFile 支持的事件类型](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile_supportedeventtypes.htm)。  
AppFabric 每个日志文件实例每种事件类型最多可支持 100,000 个事件（每天或每小时，具体取决于事件监控附加订阅）。超过阈值的日志文件可能会导致整个日志文件被排除在摄取范围之外。

### 速率限制注意事项
<a name="salesforce-rate-limits"></a>

Salesforce 对 Salesforce API 施加速率限制。有关 Salesforce API 速率限制的更多信息，请参阅Salesforce网站上[的 API 请求限制和分配](https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm)。如果 AppFabric 和您的现有 Salesforce API 应用程序的组合超过Salesforce’s限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="salesforce-data-delay"></a>

对于将审核事件传送到目的地，您可能会看到每日日志文件最多延迟 6 小时，或者每小时日志文件最多延迟 29 小时。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Salesforce账户
<a name="salesforce-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Salesforce。要查找授权所需的信息 Salesforce AppFabric，请按以下步骤操作。

### 创建 OAuth 应用程序
<a name="salesforce-create-oauth"></a>

AppFabric 与Salesforce使用集成 OAuth。要在中创建 OAuth 应用程序Salesforce，请按以下步骤操作：

1. [登录您的Salesforce账户。](https://login.salesforce.com)

1. 按照[Salesforce文档](https://help.salesforce.com/s/articleView?id=sf.basics_nav_setup.htm&type=5)中的说明转到 **“设置” 页面**。

1. 在快速查找中搜索**应用程序管理器**。

1. 选择 “**新建连接的应用程序**”。

1. 在表单字段中输入所需信息。

1. 选择 “**启用 OAuth 设置”**。

1. 请务必**关闭**以下选项：
   + 对于支持的授权流程，需要验证密钥才能使用代码交换 (PKCE) 扩展
   + Web 服务器流程需要密钥
   + 刷新令牌流程需要密钥
   + 启用刷新令牌轮换

1. 在**回调 URL 文本框中输入以下格式的 URL**，然后选择**保存**更改。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL 中*<region>*是您在其中配置 AppFabric 应用程序包的代码。 AWS 区域 例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

1. 根据需要填写范围（将在下一[所需范围](#salesforce-required-scopes)节中介绍）。所有其他字段均可保留其默认值。

1. 选择**保存**。

1. 完成以下步骤以验证新 OAuth 应用程序的刷新令牌策略：

   1. 在 “**设置” 页面**上，在 “快速查找” 文本框中输入 “**关联的应用程序**”，然后选择 “**管理已连接的应用程序**”。

   1. 选择新创建的应用程序旁边的**编辑**。

   1. 确保 “**刷新” 令牌在选中 “撤销” 选项之前一直有效**。

   1. 保存更改。

1. 完成以下步骤以验证是否正在生成审核日志：

   1. 在**设置页面**上，在快速查找文本框中输入**事件日志文件**，然后选择**事件日志文件浏览器**。

   1. 确认事件日志已在**事件日志文件浏览器**中列出。

1. 导航到已创建的应用程序，然后从下拉列表中选择 “**查看**”。

1. 选择**管理使用者详细信息**。

   您将被重定向到一个新选项卡，您需要在其中验证您的身份。在该选项卡上，记下**消费者密钥**和**消费者密**钥值。稍后您将需要这些文件才能登录。

### 所需范围
<a name="salesforce-required-scopes"></a>

您必须将以下范围添加到您的Salesforce OAuth应用程序中：
+ 通过 APIs (`API`) 管理用户数据。
+ 随时执行请求（`refresh_token`和`offline_access`）。

### 应用程序授权
<a name="salesforce-app-authorizations"></a>

#### 租户编号
<a name="salesforce-tenant-id"></a>

AppFabric 将请求您的租户 ID。中的租户 ID AppFabric 是您的 “Salesforce**我的域” 的子域**。你可以在浏览器的地址栏中找到 “**我的域**名” 子域名，介于`https://`和之间。`.my.salesforce.com`

要查找您的Salesforce**我的域名**，请在Salesforce主屏幕上按照以下说明进行操作。

1. 按照[Salesforce文档](https://help.salesforce.com/s/articleView?id=sf.basics_nav_setup.htm&type=5)中的说明转到 **“设置” 页面**。

1. 在快速查找中搜索 **“公司设置”**，然后在结果中选择 “**我的域名**”。

#### 租户名称
<a name="salesforce-tenant-name"></a>

输入标识此唯一Salesforce组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="salesforce-client-id"></a>

AppFabric 将请求客户端 ID。要在 Salesforce 中查找您的客户端 ID，请按以下步骤操作：

1. 导航到 “**设置**” 页面。

1. 选择 “**设置**”，然后选择 “**应用程序管理器**”。

1. 选择已创建的应用程序，然后从下拉菜单中选择 “**查看**”。

1. 选择**管理使用者详细信息**。您将被重定向到新选项卡。

1. 验证您的身份，然后查找**消费者密钥**值。

1. 在的 “客户端 ID” 字段中输入**消费者密钥** AppFabric。

#### 客户端密钥
<a name="salesforce-client-secret"></a>

AppFabric 将请求您的客户机密钥。中的**客户机密** AppFabric 是中的**消费者密钥**Salesforce。要在中找到你的 SecretSalesforce，请按以下步骤操作：

1. 导航到 “**设置**” 页面。

1. 选择 “**设置**”，然后选择 “**应用程序管理器**”。

1. 选择已创建的应用程序，然后从下拉菜单中选择 “**查看**”。

1. 选择**管理使用者详细信息**。您将被重定向到新选项卡。

1. 验证您的身份，然后查找 “**消费者机密**” 值。

1. 在的客户机**密字段中输入消费者**密钥 AppFabric。

#### 批准授权
<a name="salesforce-approve-authorization"></a>

 在中创建应用程序授权后 AppFabric，您将收到一个Salesforce用于批准授权的弹出窗口。在批准页面，确保在授权时使用Salesforce系统管理员角色或具Salesforce有 “查看事件日志文件” 和 “启用 API” 用户权限的用户。选择 “**允许**” 以批准 AppFabric 授权。

# 配置ServiceNow为 AppFabric
<a name="servicenow"></a>

ServiceNow是一家领先的基于云的服务提供商，这些服务可实现企业 IT 运营自动化。 ServiceNow的 ITOM 让企业能够全面了解和控制其整个 IT 环境，包括虚拟化和云基础架构。它简化了服务映射、交付和保障，将 IT 服务和基础设施数据整合到一个记录系统中。它还可以自动化和简化关键流程，包括事件、事故、问题、配置和变更管理。

 AWS AppFabric 为了安全起见，您可以使用接收来自的审计日志和用户数据ServiceNow，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 ServiceNow](#servicenow-appfabric-support)
+ [数据延迟注意事项](#servicenow-data-delay)
+ [正在 AppFabric 连接您的ServiceNow账户](#servicenow-appfabric-connecting)

## AppFabric 支持 ServiceNow
<a name="servicenow-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志ServiceNow。

### 先决条件
<a name="servicenow-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输ServiceNow到支持的目的地，您必须满足以下要求：
+ 您可以 AppFabric 与任何ServiceNow计划类型一起使用。
+ 您的 ServiceNow 账户中必须有具有管理员角色的用户。
+ 你必须有一个 ServiceNow 实例。

### 速率限制注意事项
<a name="servicenow-rate-limits"></a>

ServiceNow 对 ServiceNow API 施加速率限制。有关 ServiceNow API 速率限制的更多信息，请参阅 ServiceNow 网站上的[入站 REST API 速率限制](https://docs.servicenow.com/bundle/tokyo-api-reference/page/integrate/inbound-rest/concept/inbound-REST-API-rate-limiting.html)。如果您的现有 API 应用程序 AppFabric 和您的现有 ServiceNow API 应用程序的组合超过限制，则中显示的审核日志 AppFabric 可能会延迟。

## 数据延迟注意事项
<a name="servicenow-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的ServiceNow账户
<a name="servicenow-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权ServiceNow。使用以下步骤查找授权ServiceNow所需的信息 AppFabric。

### 创建 OAuth 应用程序
<a name="servicenow-create-oauth"></a>

Now Platform支持 OAuth 2.0-授权授予类型，供公共客户端生成访问令牌。

1. 注册您的 OAuth 应用程序。这需要执行以下三个步骤。有关完成这些步骤的更多信息，请参阅 *ServiceNow 网站上*的 [通过 ServiceNow 注册应用程序](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0725643)。

   1. 注册应用程序，并确保 **Auth 范围**可以访问**表 API**，**REST API 路径**为 **now/table**，**HTTP 方法**为 **GET**，如下例所示。  
![\[OAuth 中的应用程序配置ServiceNow。\]](http://docs.aws.amazon.com/zh_cn/appfabric/latest/adminguide/images/servicenow-oauth-config.png)

   1. 生成授权代码。

   1. 使用授权代码生成不记名令牌。

1. 使用以下格式的重定向 URL。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL 中*<region>*是您在其中配置 AppFabric 应用程序包的代码。 AWS 区域 例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

### 应用程序授权
<a name="servicenow-app-authorizations"></a>

#### 租户编号
<a name="servicenow-tenant-id"></a>

AppFabric 将请求租户 ID。中的租户 ID AppFabric 是您的实例名称。您可以在浏览器的地址栏中找到租户 ID。例如，`example` 是以下 URL `https://example.service-now.com` 中的租户 ID。

#### 租户名称
<a name="servicenow-tenant-name"></a>

输入标识此唯一ServiceNow组织的名称。 AppFabric 使用租户的名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="servicenow-client-id"></a>

AppFabric 将请求客户端 ID。请按照以下步骤在 ServiceNow 中查找您的客户端 ID。

1. 导航到 ServiceNow 控制台。

1. 选择 “**系统**” OAuth，然后选择 “**应用程序注册表**” 选项卡。

1. 选择您的应用程序。

1. 在的 “客户端 ID” 字段中输入 OAuth 来自**客户的客户端 ID** AppFabric。

#### 客户端密钥
<a name="servicenow-client-secret"></a>

AppFabric 将请求客户机密钥。使用以下步骤在 ServiceNow 中查找您的客户端密钥。

1. 导航到 ServiceNow 控制台。

1. 选择 “**系统**” OAuth，然后选择 “**应用程序注册表**” 选项卡。

1. 选择您的应用程序。

1. 在的 “客户机密钥” 字段中输入 OAuth 应用程序中的**客户机密钥** AppFabric。

#### 批准授权
<a name="servicenow-approve-authorization"></a>

在中创建应用程序授权后 AppFabric，您将收到一个ServiceNow用于批准授权的弹出窗口。选择 “**允许**” 以批准 AppFabric 授权。

# 配置Singularity Cloud为 AppFabric
<a name="singularity-cloud"></a>

该Singularity Cloud平台可保护您的企业在各个阶段免受所有类别的威胁。其获得专利的人工智能将安全性从已知的签名和模式扩展到最复杂的攻击，例如未修补的漏洞和勒索软件。

您可以使用 AWS AppFabric 接收来自的审计日志和用户数据Singularity Cloud，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**注意**  
Singularity Cloud只有在您登录Singularity Cloud账户后才能访问文档。因此，我们无法直接链接到本Singularity Cloud文档中的文档。

**Topics**
+ [AppFabric 支持 Singularity Cloud](#singularity-cloud-appfabric-support)
+ [正在 AppFabric 连接您的Singularity Cloud账户](#singularity-cloud-appfabric-connecting)

## AppFabric 支持 Singularity Cloud
<a name="singularity-cloud-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Singularity Cloud。

### 先决条件
<a name="singularity-cloud-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Singularity Cloud到支持的目的地，您的Singularity Cloud账户中必须具有管理员角色。**有关 Singularity Cloud API 速率限制的更多信息，请登录您的 Singularity Cloud 账户，浏览文档部分并搜索角色。**

### 速率限制注意事项
<a name="singularity-cloud-rate-limits"></a>

Singularity Cloud 对 Singularity Cloud API 施加速率限制。有关 Singularity Cloud API 速率限制的更多信息，请登录您的 Singularity Cloud 账户，浏览文档部分，然后搜索 **API 速率**限制。

### 数据延迟注意事项
<a name="singularity-cloud-data-delay"></a>

您可能会看到审核事件延迟最多 30 分钟才能送达目的地。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Singularity Cloud账户
<a name="singularity-cloud-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Singularity Cloud。要查找授权所需的信息 Singularity Cloud AppFabric，请按以下步骤操作。

### 为创建 API 令牌 Singularity Cloud
<a name="singularity-cloud-api-token"></a>

完成以下步骤以创建与服务用户关联的 API 令牌。API 令牌不会关联到特定的控制台用户或电子邮件地址。

**注意**  
在服务用户 API 令牌到期之前或之后，创建新用户或复制服务用户以获取新的 API 令牌。

1. 登录您的 Singularity Cloud 账户。

1. 在 **“设置”** 工具栏中，选择 “**用户**”，然后选择 “**服务用户**”。

1. 选择 “**操作**”，然后选择 “**创建新服务用户**”。

1. 在 “**创建新服务用户**” 页中，输入服务用户的姓名、描述和到期日期。

1. 选择**下一步**。

1. 在 **“选择访问范围”** 部分中，选择范围。
   + 选择**账户**作为访问级别。
   + 选择要获取其审核日志的账户。

1. 选择 **Create User**。

   API 令牌已生成。将打开一个窗口，显示令牌字符串，并显示一条消息，指示这是您最后一次可以查看令牌。

1. （可选）选择**复制 API 令牌**并将其存储在安全的位置。

1. 选择**关闭**。

### 应用程序授权
<a name="singularity-cloud-app-authorizations"></a>

#### 租户编号
<a name="singularity-cloud-tenant-id"></a>

AppFabric 将请求您的租户 ID。中的租户 ID AppFabric 将是您登录服务的Sentinel One网站地址的子域。例如，如果您使用该`example-company-1.sentinelone.net`地址登录Singularity Cloud账户，则您的租户 ID 为`example-company-1`。

#### 租户名称
<a name="singularity-cloud-tenant-name"></a>

输入标识此唯一Singularity Cloud组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 服务账户令牌
<a name="singularity-cloud-service-account-token"></a>

使用您按照本指南[为创建 API 令牌 Singularity Cloud](#singularity-cloud-api-token)部分中的步骤生成的令牌。如果您放错了令牌或无法找到令牌，则可以通过再次执行相同的步骤来生成一个新的令牌。

**注意**  
如果在采集审核日志时在 **Singularity Cloud** 控制台中生成了新 AppFabric 的 API 令牌，则提取将停止。如果发生这种情况，您需要使用新的 API 令牌更新应用程序授权，以恢复审核日志提取。

# 配置Slack为 AppFabric
<a name="slack"></a>

Slack 的使命是让人们的工作生活更简单、更愉快、更富有成效。它是客户公司的生产力平台，通过无代码自动化提高每个人的能力，实现无缝搜索和知识共享，使团队在共同推进工作时保持联系和参与，从而提高绩效。作为 Salesforce 的一部分，Slack 被深度集成到 Salesforce Customer 360 中，从而提高销售、服务和营销团队的工作效率。要了解更多信息并开始免费使用 Slack，请访问 [slack .com](https://www.slack.com)。

 AWS AppFabric 出于安全考虑，您可以使用来审核来自的日志和用户数据Slack，将数据标准化为开放网络安全架构框架 (OCSF) 格式，并将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Slack](#slack-appfabric-support)
+ [正在 AppFabric 连接您的Slack账户](#slack-appfabric-connecting)

## AppFabric 支持 Slack
<a name="slack-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Slack。

### 先决条件
<a name="slack-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Slack到支持的目的地，您必须满足以下要求：
+ 您必须拥有 Slack 的 Enterprise Grid 计划。有关更多信息，请参阅[简介 Slack Enterprise Grid](https://slack.com/resources/why-use-slack/slack-enterprise-grid)（位于 Slack 网站上）。
+ 您必须有一个具有**组织拥有者**角色的用户在您的 Slack 账户中。有关角色的更多信息，请在 Slack 网站上参阅 *Slack 帮助中心*的[Slack 中的角色类型](https://slack.com/help/articles/360018112273-Types-of-roles-in-Slack)。

### 速率限制注意事项
<a name="slack-rate-limits"></a>

Slack 对 Slack API 施加速率限制。有关 Slack API 速率限制的更多信息，请在 Slack 网站上参阅*《Slack API 使用指南》*中的[速率限制](https://api.slack.com/docs/rate-limits)。如果 AppFabric 和您的现有 Slack API 应用程序的组合超过限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="slack-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Slack账户
<a name="slack-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Slack。要查找授权所需的信息 Slack AppFabric，请使用以下步骤。

### 创建 OAuth 应用程序
<a name="slack-create-oauth-application"></a>

AppFabric 与Slack使用集成 OAuth。有两种方法可以创建 OAuth 应用程序：**使用应用程序清单**或**从头开始**。要在中创建 OAuth 应用程序Slack，请使用以下步骤。

------
#### [ Using an app manifest ]

1. 在您的浏览器中导航到 [Slack 应用程序管理界面](https://api.slack.com/apps)。

1. 选择**创建新的应用程序**。

1. 选择**来自应用程序清单**。

1. 选择要为其授权的工作空间 AppFabric。

1. 于**在下方输入应用程序清单**框中，选择 **JSON**，然后将现有 JSON 替换为以下内容。*<region>*替换为相应的 AWS 区域 （例如，*`us-east-1`*）。

   ```
   {
       "display_information": {
           "name": "AppFabric"
       },
       "oauth_config": {
           "redirect_urls": [
               "https://<region>.console.aws.amazon.com/appfabric/oauth2"
           ],
           "scopes": {
               "user": [
                   "auditlogs:read",
                   "users:read.email",
                   "users:read"
               ]
           }
       },
       "settings": {
           "org_deploy_enabled": false,
           "socket_mode_enabled": false,
           "token_rotation_enabled": true
       }
   }
   ```

1. 从**基本信息**页面复制并保存客户端 ID 和客户端密钥。

1. 对于 `auditLogs:read` 范围，您必须启用应用程序的公开分发。有关更多信息，请参阅 Slack 网站上的[启用公开分发](https://api.slack.com/start/distributing/public#enabling)。

------
#### [ From scratch ]

1. 在**创建应用程序**屏幕中选择**从头开始创建**。

1. 为您的应用程序命名并选择工作区。

1. 从**基本信息**页面复制并保存客户端 ID 和客户端密钥。

1. 在 “**OAuth 和权限**” 页面上，选择 “**通过令牌轮换实现高级令牌安全**” 选项。

1. 在 “**OAuth 和权限**” 页面的 “**重定向 URLs**” 部分添加以下格式的 URL。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL AWS 区域 中`<region>`是您在其中配置 AppFabric 应用程序包的代码。例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

1. 对于 `auditLogs:read` 范围，您必须启用应用程序的公开分发。有关更多信息，请参阅 Slack 网站上的[启用公开分发](https://api.slack.com/start/distributing/public#enabling)。

------

### 所需范围
<a name="slack-required-scopes"></a>

**注意**  
仅当您选择从头开始创建 OAuth 应用程序时，此部分才适用。如果您选择使用“应用程序清单”来创建应用程序授权，请跳过此部分。

您必须在应用程序的 “**OAuth 和权限**” 页面上添加以下用户令牌Slack OAuth范围：
+ `auditlogs:read`
+ `users:read.email`
+ `users:read`

### 应用程序授权
<a name="slack-app-authorizations"></a>

#### 租户编号
<a name="slack-tenant-id"></a>

AppFabric 将请求您的租户 ID。中的租户 ID AppFabric 是您的Slack工作空间 ID。要获取您的租户 ID，请按照 Slack 网站上的 *Slack 帮助中心的*[找到您的 Slack URL](https://slack.com/help/articles/221769328-Locate-your-Slack-URL) 中的说明进行操作。您的 Slack 工作区 URL 的格式与 `examplecorp.slack.com` 或 `examplecorp.enterprise.slack.com` 类似。您需要的租户 ID 是 `examplecorp`（不带 `.slack.com` 或 `.enterprise.slack.com`）。

#### 租户名称
<a name="slack-tenant-name"></a>

输入标识您的Slack工作空间 ID 的名称。 AppFabric使用租户名称来标记应用程序授权以及通过应用程序授权创建的任何摄取

#### 客户端 ID
<a name="slack-client-id"></a>

AppFabric 将从您的Slack OAuth应用程序中请求客户端 ID。要查找客户端 ID，请按以下步骤操作：

1. 在您的浏览器中导航到 [Slack 应用程序管理界面](https://api.slack.com/apps)。

1. 选择与您一起使用的 OAuth 应用程序 AppFabric。

1. 在 “**基本信息**” 页面的 “客户端 ID” 字段中输入**客户端 ID** AppFabric。

#### 客户端密钥
<a name="slack-client-secret"></a>

AppFabric 将从您的Slack OAuth应用程序中请求客户端密钥。要查找客户端密钥，请按以下步骤操作：

1. 在您的浏览器中导航到 [Slack 应用程序管理界面](https://api.slack.com/apps)。

1. 选择与之配合使用的 OAuth 应用程序 AppFabric。

1. 在 “**基本信息**” 页面的 “客户机密钥” 字段中输入**客户机密钥** AppFabric。

#### 批准授权
<a name="slack-approve-authorization"></a>

在中创建应用程序授权后 AppFabric，您将收到一个Slack用于批准授权的弹出窗口。要批准 AppFabric 授权，请选择**允许**。

# 配置Smartsheet为 AppFabric
<a name="smartsheet"></a>

Smartsheet 是一个工作管理平台，可帮助您在整个企业中协调工作、人员和技术。Smartsheet 提供了一组强大的企业级功能，使每个人都能管理项目、自动化工作流程并大规模快速构建解决方案，从而在保持安全性和合规性的同时为创新创造环境。

 AWS AppFabric 出于安全考虑，您可以使用来审核来自的日志和用户数据Smartsheet，将数据标准化为开放网络安全架构框架 (OCSF) 格式，并将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Smartsheet](#smartsheet-appfabric-support)
+ [正在 AppFabric 连接您的Smartsheet账户](#smartsheet-appfabric-connecting)

## AppFabric 支持 Smartsheet
<a name="smartsheet-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Smartsheet。

### 先决条件
<a name="smartsheet-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Smartsheet到支持的目的地，您必须满足以下要求：
+ 您必须拥有 Smartsheet 商业、企业或高级账户。如需详细了解如何创建或升级 Smartsheet 账户，请参阅 Smartsheet 网站上的[Smartsheet定价](https://www.smartsheet.com/pricing)或[Smartsheet预付款](https://www.smartsheet.com/pricing/smartsheet-advance)。
+ 您必须完成 [Smartsheet 开发人员注册](https://developers.smartsheet.com/register/)流程。

### 速率限制注意事项
<a name="smartsheet-rate-limits"></a>

Smartsheet 对 Smartsheet API 施加速率限制。如需详细了解 Smartsheet API 速率限制，请参阅 *Smartsheet 网站上《Smartsheet API 参考》*中的[速率限制](https://smartsheet.redoc.ly/#section/Work-at-Scale/Rate-Limiting)。

### 数据延迟注意事项
<a name="smartsheet-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Smartsheet账户
<a name="smartsheet-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Smartsheet。要查找授权所需的信息 Smartsheet AppFabric，请按以下步骤操作。

### 创建 OAuth 应用程序
<a name="smartsheet-create-oauth-application"></a>

AppFabric 与Smartsheet使用集成 OAuth。要在中创建 OAuth应用程序Smartsheet，请按以下步骤操作：

1. 导航到您 Smartsheet 账户中的开发人员工具。

1. 从开发人员工具屏幕中选择**创建新应用程序**。

1. 在**创建新应用程序**屏幕上填写所有输入字段。

1. 为**应用程序 URL** 和**应用程序联系人/支持人员**使用任意唯一值。

1. 使用以下格式的重定向 URL 作为应用程序重定向 URL。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL AWS 区域 中`<region>`是您在其中配置 AppFabric 应用程序包的代码。例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

1. 选择**保存**。

1. 复制并保存应用程序客户端 ID 和应用程序私匙。

### 所需范围
<a name="smartsheet-required-scopes"></a>

Smartsheet不要求您在 OAuth 配置中明确添加作用域。 AppFabric 将在对您的Smartsheet账户的授权请求中请求以下范围：
+ `READ_EVENTS`
+ `READ_USERS`

### 应用程序授权
<a name="smartsheet-app-authorizations"></a>

#### 租户编号
<a name="smartsheet-tenant-id"></a>

AppFabric 将请求您的租户 ID。中的租户 ID AppFabric 是您的Smartsheet账户 ID。

#### 租户名称
<a name="smartsheet-tenant-name"></a>

AppFabric 将请求您的租户 ID。输入任何可以唯一地标识您 Smartsheet 账户的值。

#### 客户端 ID
<a name="smartsheet-client-id"></a>

AppFabric 将要求您提供客户端 ID。中的客户端 ID AppFabric 是您的Smartsheet应用程序客户端 ID。要在 Smartsheet 中查找您的应用程序客户端 ID，请按以下步骤操作：

1. 导航到您 Smartsheet 账户中的开发人员工具。

1. 选择您用来连接的 OAuth 应用程序 AppFabric。

1. 在 “**应用程序配置文件**” 屏幕的 “客户端 ID” 字段中输入应用程序**客户端 ID** AppFabric。

#### 客户端密钥
<a name="smartsheet-client-secret"></a>

AppFabric 将请求您的客户机密钥。中的客户端密钥 AppFabric 是您的Smartsheet应用程序密钥。要在 Smartsheet 中查找应用程序私匙，请使用以下步骤：

1. 导航到您 Smartsheet 账户中的开发人员工具。

1. 选择您用来连接的 OAuth 应用程序 AppFabric。

1. 在 “**应用程序配置文件**” 屏幕的 “**客户密钥” 字段中输入应用程序密钥** AppFabric。

#### 批准授权
<a name="smartsheet-approve-authorization"></a>

在中创建应用程序授权后 AppFabric，您将收到一个Smartsheet用于批准授权的弹出窗口。要批准 AppFabric 授权，请选择**允许**。

# 配置Terraform Cloud为 AppFabric
<a name="terraform"></a>

HashiCorp Terraform Cloud是世界上使用最广泛的多云配置产品。该Terraform生态系统拥有 3,000 多个提供商、14,000 个模块和 2.5 亿次下载量。 Terraform Cloud是最快的采用方式Terraform，它为从业人员、团队和全球企业提供了在基础设施上创建和协作以及管理安全、合规和运营限制风险所需的一切。

 AWS AppFabric 为了安全起见，您可以使用接收来自的审计日志和用户数据Terraform Cloud，将数据标准化为开放网络安全架构框架 (OCSF) 格式，然后将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Terraform Cloud](#terraform-appfabric-support)
+ [正在 AppFabric 连接您的Terraform Cloud账户](#terraform-appfabric-connecting)

## AppFabric 支持 Terraform Cloud
<a name="terraform-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Terraform Cloud。

### 先决条件
<a name="terraform-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Terraform Cloud到支持的目的地，您必须满足以下要求：
+ 要访问审核日志，您必须拥有Terraform Cloud增强版套餐并且是组织的所有者。有关Terraform Cloud套餐的更多信息，请参阅HashiCorp Terraform网站上的[Terraform定价](https://www.hashicorp.com/products/terraform/pricing?ajs_aid=33c212cb-664b-45d6-aee8-d3791e90a893&product_intent=terraform)。
+  TBD 审核日志可供通过该Terraform Cloud账户创建的组织使用。

### 速率限制注意事项
<a name="terraform-rate-limit"></a>

Terraform Cloud 对 Terraform Cloud API 施加速率限制。有关 Terraform Cloud API 速[率限制的更多信息，请参阅Terraform Cloud网站Terraform Cloud开发者管理常规设置中的 API 速率](https://developer.hashicorp.com/terraform/enterprise/application-administration/general#api-rate-limiting)限制。如果您的现有 API 应用程序 AppFabric 和您的现有 Terraform Cloud API 应用程序Terraform Cloud的组合超出限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="terraform-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Terraform Cloud账户
<a name="terraform-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Terraform Cloud。要查找授权所需的信息 Terraform Cloud AppFabric，请按以下步骤操作。

### 创建组织 API 令牌
<a name="terraform-create-org-token"></a>

AppFabric 与Terraform Cloud使用组织 API 令牌集成。有关Terraform Cloud组织 API 令牌的更多信息，请参阅[组织 API 令牌](https://developer.hashicorp.com/terraform/cloud-docs/users-teams-organizations/api-tokens)。要创建组织，请按照[创建组织](https://developer.hashicorp.com/terraform/cloud-docs/users-teams-organizations/organizations#creating-organizations)中的说明进行操作。要在中创建组织 API 令牌Terraform Cloud，请使用以下步骤。

1. 导航到[Terraform Cloud登录](https://app.terraform.io/session)页面并登录。

1. 在左侧面板上选择**组织**、**设置**，然后选择 **API 令牌**。

1. 在 “**组织令牌**” 下，选择 “**创建组织令牌**”，然后选择 “**生成令牌**”。

1. （可选）输入令牌的到期日期或时间，或创建永不过期的令牌。

1. 复制并保存令牌。稍后你会需要这个 AppFabric。如果您在保存令牌之前关闭页面，则必须撤消旧令牌并创建一个新令牌。

### 应用程序授权
<a name="terraform-app-authorizations"></a>

#### 租户编号
<a name="terraform-tenant-id"></a>

AppFabric 将请求租户 ID。您账户的租户 ID 是您Terraform Cloud账户的当前组织 URL。您可以通过登录您的Terraform Cloud组织并复制当前的组织 URL 来找到此信息。租户 ID 应采用下列格式之一：

```
https://app.terraform.io/app/organization_URL
```

#### 租户名称
<a name="terraform-tenant-name"></a>

输入标识此唯一Terraform Cloud组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 服务账户令牌
<a name="terraform-service-token"></a>

AppFabric 将请求您的服务帐号令牌。中的服务帐号令牌 AppFabric 是您在中创建的组织 API 令牌[创建组织 API 令牌](#terraform-create-org-token)。

# 配置Webex by Cisco为 AppFabric
<a name="webex"></a>

Cisco 是为互联网提供动力的技术领域的全球领导者。Cisco 通过重塑您的应用程序、保护您的数据、改造您的基础架构以及为您的团队赋能，实现全球化和包容性的未来，从而激发新的可能性。

**关于 Webex by Cisco **

Webex 是基于云的协作解决方案的领先提供商，该解决方案包括视频会议、通话、消息、活动、客户体验解决方案（如联络中心）和专用协作设备。Webex 专注于提供包容性协作体验，这推动了创新，利用人工智能和机器学习来消除地理、语言、个性和对技术熟悉程度等障碍。其解决方案依托于通过设计确保安全性和隐私。Webex 可与世界领先的商业和生产力应用程序配合使用——通过单一应用程序和界面交付。有关更多信息，请参阅 [https://webex.com](https://webex.com)。

 AWS AppFabric 出于安全考虑，您可以使用来审核来自的日志和用户数据Webex，将数据标准化为开放网络安全架构框架 (OCSF) 格式，并将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Webex](#webex-appfabric-support)
+ [正在 AppFabric 连接您的Webex账户](#webex-appfabric-connecting)

## AppFabric 支持 Webex
<a name="webex-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Webex。

### 先决条件
<a name="webex-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Webex到支持的目的地，您必须满足以下要求：
+ 您必须有灵活协作计划、会议计划、调用计划或更高级的计划。如需详细了解如何创建或升级到适用 Webex 计划类型，请参阅 Webex 网站上[Webex所有功能的定价](https://pricing.webex.com/us/en/hybrid-work/meetings/all-features/)。
+ 您的账户必须拥有 [Pro Pack](https://help.webex.com/en-us/article/np3c1rm/Pro-Pack-For-Control-Hub) 许可证才能访问思科公司提供的安全审计事件 AuditLog APIs。
+ 您必须有具有**组织管理员** > **完全管理员**角色的用户。
+ 您的**完全管理员**的**管理员角色**配置必须已启用**合规官**选项。

### 速率限制注意事项
<a name="webex-rate-limits"></a>

Webex 对 Webex API 施加速率限制。如需详细了解 Webex API 速率限制，请参阅 Webex 网站上 *Webex 开发人员指南*中的[速率限制](https://developer.webex.com/docs/basics#upper-limits-for-api-requests)。如果您的现有 API 应用程序 AppFabric 和您的现有 Webex API 应用程序的组合超过限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="webex-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Webex账户
<a name="webex-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Webex。要查找授权所需的信息 Webex AppFabric，请按以下步骤操作。

### 创建 OAuth 应用程序
<a name="webex-create-oauth-application"></a>

AppFabric 与Webex使用集成 OAuth。要在中创建 OAuth应用程序Webex，请按以下步骤操作：

1. 按照《*Webex开发者指南*》的 “[集成和授权” 页面的 “注册您的](https://developer.webex.com/docs/integrations#registering-your-integration)**集成” 部分中的说明进行**操作。

1. 使用以下格式的重定向 URL。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL AWS 区域 中`<region>`是您在其中配置 AppFabric 应用程序包的代码。例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

### 所需范围
<a name="webex-required-scopes"></a>

您必须将以下范围添加到您的Webex OAuth应用程序中：
+ `spark-compliance:events_read`
+ `audit:events_read`
+ `spark-admin:people_read`

### 应用程序授权
<a name="webex-app-authorizations"></a>

#### 租户编号
<a name="webex-tenant-id"></a>

AppFabric 将请求您的租户 ID。中的租户 ID AppFabric 是您的Webex组织 ID。如需了解如何查找您的 Webex 组织 ID，请参阅 Webex 帮助中心网站的[在 CiscoWebex Control Hub 中查找您的组织 ID](https://help.webex.com/en-us/article/k5pal8/Look-Up-Your-Organization-ID-in-Cisco-Webex-Control-Hub)。

#### 租户名称
<a name="webex-temant-names"></a>

输入标识此唯一Webex实例的名称。 AppFabric使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="webex-client-id"></a>

AppFabric 将要求您提供Webex客户端 ID。要查找您的 Webex 客户端 ID，请按以下步骤操作：

1. 登录您的Webex帐户，网址为[https://developer.webex.com](https://developer.webex.com)。

1. 在右上角选择你的头像。

1. 选择**我的 Webex 应用程序**。

1. 选择您使用的 OAuth2 应用程序 AppFabric。

1. 将此页面上的客户端 ID 输入到中的 “**客户端 ID**” 字段 AppFabric。

#### 客户端密钥
<a name="webex-client-secret"></a>

AppFabric 将请求您的Webex客户机密钥。 Webex在您最初创建 OAuth 应用程序时，只会显示一次您的客户机密钥。要在未保存初始客户端密钥的情况下生成新的客户端密钥，请按照以下步骤进行操作：

1. 登录您的Webex帐户，网址为[https://developer.webex.com](https://developer.webex.com)。

1. 在右上角选择你的头像。

1. 选择**我的 Webex 应用程序**。

1. 选择您使用的 OAuth2 应用程序 AppFabric。

1. 在此页面上，生成新的客户端密钥。

1. 在的 “客户机密钥” 字段中输入新的**客户机密钥** AppFabric。

#### 批准授权
<a name="webex-approve-authorization"></a>

在中创建应用程序授权后， AppFabric 您将收到一个Webex用于批准授权的弹出窗口。要批准 AppFabric授权，请选择**接受**。

# 配置Zendesk为 AppFabric
<a name="zendesk"></a>

Zendesk 于 2007 年开启了客户体验革命，它使世界各地的任何企业都能在线提供客户服务。如今，Zendesk 是为所有人提供优质服务的倡导者，支持数十亿次对话，通过电话、聊天、电子邮件、消息、社交渠道、社区、点评网站和帮助中心，将超过 100,000 个品牌与数亿客户联系起来。Zendesk 产品经过精心打造，深受人们喜爱。该公司在丹麦哥本哈根设想，在加利福尼亚成立和发展，如今在全球拥有 6,000 多名员工。

 AWS AppFabric 出于安全考虑，您可以使用来审核来自的日志和用户数据Zendesk，将数据标准化为开放网络安全架构框架 (OCSF) 格式，并将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Zendesk](#zendesk-appfabric-support)
+ [正在 AppFabric 连接您的Zendesk账户](#zendesk-appfabric-connecting)

## AppFabric 支持 Zendesk
<a name="zendesk-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Zendesk。

### 先决条件
<a name="zendesk-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Zendesk到支持的目的地，您必须满足以下要求：
+ 你必须拥有 Zendesk Suite Enterprise 或 Enterprise Plus 账户或 Zendesk Support Enterprise 账户。如需详细了解如何创建或升级到 Zendesk  Enterprise 账户，请参阅 Zendesk 网站上[检查您的计划类型 Zendesk](https://support.zendesk.com/hc/en-us/articles/5411234991258-plan)。
+ 您的 Zendesk 账户中必须有具有**管理员**角色的用户。有关角色的详细信息，请参阅 Zendesk 网站上的[了解 Zendesk 支持用户角色](https://support.zendesk.com/hc/en-us/articles/4408883763866-Understanding-Zendesk-Support-user-roles)。

### 速率限制注意事项
<a name="zendesk-rate-limits"></a>

Zendesk 对 Zendesk API 施加速率限制。如需详细了解 Zendesk API 速率限制，请参阅 Zendesk 网站上 *Zendesk 开发人员指南*中的[速率限制](https://developer.zendesk.com/api-reference/introduction/rate-limits/)。如果 AppFabric 和您的现有 Zendesk API 应用程序的组合超过限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="zendesk-data-delay"></a>

审计事件发送到目标位置的时间可能会延迟多达 30 分钟。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。不过，这可以在账户级别进行自定义。如需帮助，请联系 [支持](https://aws.amazon.com/contact-us/)。

## 正在 AppFabric 连接您的Zendesk账户
<a name="zendesk-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric使用进行授权Zendesk。要查找授权所需的信息 Zendesk AppFabric，请使用以下步骤。

### 创建 OAuth 应用程序
<a name="zendesk-create-oauth-application"></a>

AppFabric 与Zendesk使用集成 OAuth。在中Zendesk，必须使用以下设置创建 OAuth 应用程序：

1. 按照 Su Zendesk pport 网站上的 “对[应用程序使用 OAuth 身份验证” 一文的 “向 Zendesk 注册](https://support.zendesk.com/hc/en-us/articles/4408845965210#topic_s21_lfs_qk)*应用程序*” 部分中的说明进行操作。

1. 使用以下格式的重定向 URL。

   ```
   https://<region>.console.aws.amazon.com/appfabric/oauth2
   ```

   此 URL AWS 区域 中`<region>`是您在其中配置 AppFabric 应用程序包的代码。例如，美国东部（弗吉尼亚州北部）区域的代码为 `us-east-1`。对于该区域，重定向 URL 为 `https://us-east-1.console.aws.amazon.com/appfabric/oauth2`。

### 应用程序授权
<a name="zendesk-app-authorizations"></a>

#### 租户编号
<a name="zendesk-tenant-id"></a>

AppFabric 将要求您提供租户 ID。中的租户 ID AppFabric 是您的Zendesk子域。如需详细了解如何查找 Zendesk 子域名，请参阅 Zendesk 支持网站上[在哪里可以找到我的 Zendesk 子域名](https://support.zendesk.com/hc/en-us/articles/4409381383578-Where-can-I-find-my-Zendesk-subdomain-)。

#### 租户名称
<a name="zendesk-tenant-name"></a>

输入标识此唯一Zendesk组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="zendesk-client-id"></a>

AppFabric 将请求客户端 ID。中的客户端 ID AppFabric 是您的 Zendesk API 唯一标识符。要查找您的 Zendesk 唯一标识符，请按照以下步骤进行操作：

1. 在您的 Zendesk 账户中导航到[管理中心](https://support.zendesk.com/hc/en-us/articles/4408838272410)。

1. 选择**应用程序和集成**。

1. 选择 **APIs**，**Zendesk APIs**。

1. 选择 “**OAuth 客户端**” 选项卡。

1. 选择您为其创建的 OAuth 应用程序 AppFabric。

1. 在的 “ OAuth 客户 **ID” 字段中输入客户的**唯一标识符 AppFabric。

#### 客户端密钥
<a name="zendesk-client-secret"></a>

AppFabric 将请求客户机密钥。中的客户端密钥 AppFabric 是您的Zendesk秘密令牌。 Zendesk首次创建Zendesk OAuth应用程序时，仅显示一次您的密钥令牌。要在未保存初始密钥的情况下生成新的密钥令牌，请按照以下步骤进行操作：

1. 在您的 Zendesk 账户中导航到[管理中心](https://support.zendesk.com/hc/en-us/articles/4408838272410)。

1. 选择**应用程序和集成**。

1. 选择 **APIs**，**Zendesk APIs**。

1. 选择 “**OAuth 客户端**” 选项卡。

1. 选择您为其创建的 OAuth 应用程序 AppFabric。

1. 选择**密钥令牌**字段旁边的**重新生成**按钮。

1. 在的 “**客户机密” 字段中输入新的密钥**令牌 AppFabric。

#### 批准授权
<a name="zendesk-approve-authorization"></a>

在中创建应用程序授权后 AppFabric，您将收到一个Zendesk用于批准授权的弹出窗口。要批准 AppFabric 授权，请选择**允许**。

# 配置Zoom为 AppFabric
<a name="zoom"></a>

Zoom是一个 all-in-one智能协作平台，可让企业和个人更轻松、更身临其境和更具动态性的连接。 Zoom技术以人为本，通过团队聊天、电话、会议、全渠道云联络中心、智能录音、白板等解决方案集于一体，实现有意义的联系，促进现代协作，推动人类创新。

 AWS AppFabric 出于安全考虑，您可以使用来审核来自的日志和用户数据Zoom，将数据标准化为开放网络安全架构框架 (OCSF) 格式，并将数据输出到亚马逊简单存储服务 (Amazon S3) 存储桶或亚马逊数据 Firehose 流。

**Topics**
+ [AppFabric 支持 Zoom](#zoom-appfabric-support)
+ [正在 AppFabric 连接您的Zoom账户](#zoom-appfabric-connecting)

## AppFabric 支持 Zoom
<a name="zoom-appfabric-support"></a>

AppFabric 支持接收来自的用户信息和审核日志Zoom。

### 先决条件
<a name="zoom-prerequisites"></a>

 AppFabric 要使用将审核日志从支持的目标传输Zoom到支持的目的地，您必须满足以下要求：
+ 您必须拥有 Zoom 专业版、商务版、教育版或企业版套餐。
+ 您的Zoom**管理员**角色必须具有创建 server-to-server OAuth 应用程序的权限。有关启用 server-to-server OAuth 应用程序的信息，请参阅Zoom网站《*Zoom开发人员指南*》*Server-to-Server OAuth*页面的 “[启用权限](https://developers.zoom.us/docs/internal-apps/s2s-oauth/#enable-permissions)” 部分。
+ 您的Zoom**管理员**角色必须有权查看管理员活动日志和 in/sign 注销审核活动。有关启用查看审核活动的权限的更多信息，请参阅 Zoom 支持网站上的[使用角色管理](https://support.zoom.us/hc/en-us/articles/115001078646)和[使用管理员活动日志](https://support.zoom.us/hc/en-us/articles/360032748331-Using-Admin-Activity-Logs)。

### 速率限制注意事项
<a name="zoom-rate-limits"></a>

Zoom 对 Zoom API 施加速率限制。有关 Zoom API 速率限制的更多信息，请参阅 *Zoom 开发人员指南*中的[速率限制](https://developers.zoom.us/docs/api/rest/rate-limits/)。如果 AppFabric 和您的现有Zoom应用程序的组合超过限制，则显示在中的审核日志 AppFabric 可能会延迟。

### 数据延迟注意事项
<a name="zoom-data-delay"></a>

您可能会看到审核事件延迟大约 24 小时才能送达目标。这是应用程序提供的审核事件延迟或为减少数据丢失而采取的预防措施所致。

## 正在 AppFabric 连接您的Zoom账户
<a name="zoom-appfabric-connecting"></a>

在 AppFabric 服务中创建应用程序包后，必须 AppFabric 使用进行授权Zoom。要查找授权所需的信息 Zoom AppFabric，请按以下步骤操作。

### 创建 server-to-server OAuth 应用程序
<a name="zoom-create-oauth-application"></a>

AppFabric 使用应用程序 server-to-server OAuth 凭据进行集成Zoom。要在中创建 server-to-server OAuth 应用程序Zoom，请按照《*Zoom开发者指南》*中[创建 Server-to-Server OAuth 应用程序](https://developers.zoom.us/docs/internal-apps/create/)中的说明进行操作。 AppFabric 不支持 Zoom webhook，你可以跳过添加 webhook 订阅的部分。

### 所需范围
<a name="zoom-required-scopes"></a>

 Zoom提供两种类型的作用域：粒度作用域（适用于新创建的应用程序）和经典作用域（适用于先前创建的应用程序）。

您必须将以下精细范围添加到您的Zoom server-to-server OAuth 应用程序中：
+ `report:read:user_activities:admin`
+ `report:read:operation_logs:admin`
+ `user:read:email:admin`
+ `user:read:user:admin`

如果您使用的是先前创建的应用程序，则需要添加以下经典范围：
+ `report:read:admin`
+ `user:read:admin`

### 应用程序授权
<a name="zoom-app-authorizations"></a>

#### 租户编号
<a name="zoom-tenant-id"></a>

AppFabric 将要求您提供租户 ID。中的租户 ID AppFabric 是Zoom账户 ID。使用以下步骤查找您的 Zoom 账户 ID：

1. 导航到 Zoom Marketplace。

1. 选择**管理**。

1. 选择您使用的 server-to-server OAuth 应用程序 AppFabric。

1. 在 “**应用程序凭**证” 页面的 “**租户 ID” 字段中输入账户 ID** AppFabric。

#### 租户名称
<a name="zoom-tenant-name"></a>

输入标识此唯一Zoom组织的名称。 AppFabric 使用租户名称来标记应用程序授权和通过应用程序授权创建的任何摄取。

#### 客户端 ID
<a name="zoom-client-id"></a>

AppFabric 将要求您提供客户端 ID。要查找您的 Zoom 客户端 ID，请按以下步骤操作：

1. 导航到 Zoom Marketplace。

1. 选择**管理**。

1. 选择您使用的 server-to-server OAuth 应用程序 AppFabric。

1. 在 “**应用程序凭**证” 页面的 “客户端 ID” 字段中输入**客户端 ID** AppFabric。

#### 客户端密钥
<a name="zoom-client-secret"></a>

AppFabric 将请求您的客户机密钥。要查找 Zoom 客户端密钥，请按以下步骤操作：

1. 导航到 Zoom Marketplace。

1. 选择**管理**。

1. 选择您使用的 server-to-server OAuth 应用程序 AppFabric。

1. 在 “**应用程序凭证**” 页面的 “客户端密钥” 字段中输入**客户端密钥** AppFabric。

#### 审核日志传输
<a name="zoom-audit-log-delivery"></a>

Zoom 每隔 24 小时访问 API 以提供审核日志。使用 AppFabric查看审核日志时，您看到的数据Zoom是前一天活动的数据。

# 兼容的安全工具和服务 AppFabric 可确保安全
<a name="security-tools"></a>

AWS AppFabric 为了安全起见，支持与以下安全工具和服务集成。选择服务的名称，了解有关如何设置安全性 AppFabric 以连接到该服务的更多信息。

**Topics**
+ [Barracuda XDR](barracuda.md)
+ [Dynatrace](dynatrace.md)
+ [Logz.io](logz-io.md)
+ [Netskope](netskope.md)
+ [NetWitness](netwitness.md)
+ [Amazon 快速](quicksight.md)
+ [Rapid7](rapid7.md)
+ [Amazon Security Lake](security-lake.md)
+ [Singularity Cloud](singularity-cloud-security.md)
+ [Splunk](splunk.md)

# Barracuda XDR
<a name="barracuda"></a>

Barracuda Networks 是值得信赖的合作伙伴和云优先安全解决方案的领先提供商，通过创新的解决方案保护电子邮件、网络、数据和应用程序，这些解决方案可以随着企业的发展而增长和调整。Barracuda XDR 是一种开放的扩展检测和响应解决方案，它将复杂的技术与安全运营中心 (SOC) 中的安全分析师团队相结合。Barracuda XDR 平台每天分析来自 40 多个集成数据来源的数十亿个原始事件，再加上映射到 MITRE ATT&CK® 框架的广泛威胁检测规则，它可以更快地检测威胁并缩短响应时间。

## AWS AppFabric 审核日志摄取注意事项
<a name="barracuda-ingestion-considerations"></a>

以下各节描述了要与一起使用的 AppFabric 输出架构、输出格式和输出目的地Barracuda XDR。

### 架构和格式
<a name="barracuda-schema-format"></a>

Barracuda XDR支持以下 AppFabric 输出架构和格式：
+ OCSF-JSON：使用开放网络安全架构框架 (OCSF) 对数据进行 AppFabric 标准化并以 JSON 格式输出数据。

### 输出位置
<a name="barracuda-output-locations"></a>

Barracuda XDR 支持从 Amazon Security Lake 接收审计日志。要将数据从发送 AppFabric 到Barracuda XDR，请按照以下说明进行操作：

1. 将数据发送到亚马逊安全湖：配置 AppFabric 为通过亚马逊数据 Firehose 将数据发送到亚马逊安全湖。有关更多信息，请参阅 [Amazon Security Lake](security-lake.md)。

1. 将数据发送至 Barracuda XDR：配置 Barracuda XDR 以接收来自 Amazon Security Lake 的审计日志。有关更多信息，请参阅[设置和使用 Amazon Security Lake](https://campus.barracuda.com/product/xdr/doc/104366130/setting-up-and-using-amazon-web-services-security-lake/)。

# Dynatrace
<a name="dynatrace"></a>

Dynatrace® Platform它结合了广泛而深入的可观察性以及持续的运行时应用程序安全性，并提供了 AIOps 基于数据的答案和智能自动化的高级功能。这使创新者能够实现云运营的现代化和自动化，更快、更安全地交付软件，并确保完美的数字体验。

## AWS AppFabric 审计日志提取注意事项
<a name="dynatrace-ingestion-considerations"></a>

以下各节描述了用于的 AppFabric 输出架构、输出格式和输出目的地Dynatrace Platform。

### 架构和格式
<a name="dynatrace-schema-format"></a>

Dynatrace Platform支持以下 AppFabric 输出架构和格式：
+ OCSF-JSON：使用开放网络安全架构框架 (OCSF) 对数据进行 AppFabric 标准化并以 JSON 格式输出数据。

### 输出位置
<a name="dynatrace-output-locations"></a>

Dynatrace Platform支持从以下 AppFabric 输出位置接收审核日志。
+ Amazon Simple Storage Service（Amazon S3）
  + 要将配置Dynatrace Platform为从包含您的审核日志的 Amazon S3 存储桶接收数据，请按照 [Dynatrace 的 S3 日志转发器](https://github.com/dynatrace-oss/dynatrace-aws-s3-log-forwarder)项目中的说明进行操作。GitHub

# Logz.io
<a name="logz-io"></a>

Logz.io 通过 [http://logz.io/](http://logz.io/) Open 360 Platform 帮助云原生企业监控和保护其环境——将可观测性和安全性从高成本、低价值的负担转变为高价值、高成本效益的促进因素，从而实现更好的业务成果。

Logz.io Cloud SIEM 通过快速查询、多维检测和深度可自定义的安全内容，直接解决了当今最主要的安全挑战——从数据过载到无处不在的网络技能差距，以帮助监控和调查整个云环境——无论数据量有多大，都不会降低性能。

该 Logz.io 解决方案旨在以更低的复杂性和成本实现高级威胁分析和调查。专门的安全分析师、威胁内容即服务和人工智能支持的功能为客户提供支持，这些功能旨在帮助减少噪声数据并专注于信息，使您的团队能够快速优先处理现实世界中的威胁。

## AWS AppFabric 审计日志提取注意事项
<a name="logz-io-ingestion-considerations"></a>

以下各节描述了要与一起使用的 AppFabric 输出架构、输出格式和输出目的地Logz.io。

### 架构和格式
<a name="logz-io-schema-format"></a>

Logz.io支持以下 AppFabric 输出架构和格式：
+ Raw - JSON
  + AppFabric 以 JSON 格式输出源应用程序使用的原始架构中的数据。
+ OCSF - JSON
  + AppFabric 使用开放网络安全架构框架 (OCSF) 对数据进行标准化并以 JSON 格式输出数据。

### 输出位置
<a name="logz-io-output-locations"></a>

Logz.io支持以下 AppFabric 输出位置：
+ Amazon Data Firehose
  + 要配置您的 Firehose 传输流以使其向其发送数据Logz.io，请按照《*亚马逊数据 Firehos* e 开发[Logz.io者指南》中的 “选择您的目的地](https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html#create-destination-logz)” 中的说明进行操作。
+ Amazon Simple Storage Service（Amazon S3）
  + 要配置 Logz.io 以从包含审核日志的 Amazon S3 存储桶接收数据，请按照 Logz.io 网站上的[配置 Amazon S3 存储桶](https://docs.logz.io/shipping/log-sources/s3-bucket.html)中的说明进行操作。

# Netskope
<a name="netskope"></a>

Netskope，全球网络安全领导者，正在重新定义云、数据和网络安全，帮助组织应用零信任原则来保护数据。该 Netskope 平台快速且易于使用，无论人员、设备和数据身在何处，均可为他们提供经优化的访问和零信任安全。Netskope 帮助客户降低风险、提高性能，并获得对任何云、Web 和私有应用程序活动的无与伦比的可见性。成千上万的客户，包括财富100强中的25家以上的客户，信任Netskope其强大的 NewEdge 网络来应对不断变化的威胁、新的风险、技术转变、组织和网络变革以及新的监管要求。要了解 Netskope 如何帮助客户在其 SASE 旅程中做好一切准备，请访问 [netskope .com](https://www.netskope.com/)。

## AWS AppFabric 审核日志摄取注意事项
<a name="netskope-ingestion-considerations"></a>

以下各节描述了要与一起使用的 AppFabric 输出架构、输出格式和输出目的地Netskope。

### 架构和格式
<a name="netskope-schema-format"></a>

Netskope支持以下 AppFabric 输出架构和格式：
+ Raw - JSON
  + AppFabric 以 JSON 格式输出源应用程序使用的原始架构中的数据。
+ OCSF - JSON
  + AppFabric 使用开放网络安全架构框架 (OCSF) 对数据进行标准化并以 JSON 格式输出数据。

### 输出位置
<a name="netskope-output-locations"></a>

Netskope支持以下 AppFabric 输出位置：
+ Amazon Simple Storage Service（Amazon S3）
  + 要配置 Netskope 以从包含您的审核日志的 Amazon S3 存储桶接收数据，请按照 Netskope 网站上 [Amazon Web Services S3 数据保护](https://docs.netskope.com/en/data-protection-for-amazon-web-services-s3.html)中的说明进行操作。

# NetWitness
<a name="netwitness"></a>

NetWitness 是扩展检测与响应 (XDR) 软件的领先开发商。他们的全球客户群具有高度的安全意识，依靠 NetWitness XDR 来对抗精明强悍的对手。凭借行业中最完整、集成和成熟的平台来检测、调查和应对数字攻击，NetWitness XDR是现代高效 SOC 的统一基础。

由于架构高度模块化，NetWitness XDR 可以在云端、本地环境、移动和远程工作者及其两者之间检测所发生的威胁。NetWitness XDR 平台提供全面的可见性，结合应用的威胁情报和用户行为分析，以检测威胁、确定活动优先级、调查和自动响应。所有这些都使安全分析人员更好、更快地提高效率，使安全操作远远领先于影响业务的威胁。

## AWS AppFabric 审计日志提取注意事项
<a name="netwitness-ingestion-considerations"></a>

以下各节描述了要与一起使用的 AppFabric 输出架构、输出格式和输出目的地NetWitness。

### 架构和格式
<a name="netwitness-schema-format"></a>

NetWitness 支持以下 AppFabric 输出架构和格式：
+ Raw - JSON
  + AppFabric 以 JSON 格式输出源应用程序使用的原始架构中的数据。
+ OCSF - JSON
  + AppFabric 使用开放网络安全架构框架 (OCSF) 对数据进行标准化并以 JSON 格式输出数据。

### 输出位置
<a name="netwitness-output-locations"></a>

NetWitness支持以下 AppFabric 输出位置：
+ Amazon Simple Storage Service（Amazon S3）
  + 要配置 NetWitness 从包含审核日志的 Amazon S3 存储桶接收数据，请按照 NetWitness 网站 *NetWitness 平台集成页面*上的 [S3 通用连接器事件源日志配置指南](https://community.netwitness.com/t5/netwitness-platform-integrations/s3-universal-connector-event-source-log-configuration-guide/ta-p/595235)中的说明进行操作。

# Amazon 快速
<a name="quicksight"></a>

Amazon Quick 为数据驱动型组织提供超大规模的统一商业智能 (BI)。借助 Quick，所有用户都可以通过现代交互式仪表板、分页报告、嵌入式分析和自然语言查询，从同一个真实来源满足不同的分析需求。您可以在 Quick 中分析 AWS AppFabric 审核日志数据，方法是选择存储安全日志的亚马逊简单存储服务 (Amazon S3) 存储 AppFabric 桶作为来源。

## AppFabric 审核日志摄取注意事项
<a name="quicksight-audit-log-ingestion"></a>

以下各节描述了与 Quick 配合使用的 AppFabric 输出架构、输出格式和输出目的地。

### 架构和格式
<a name="quicksight-schema-format"></a>

Quick 支持以下 AppFabric 输出架构和格式：
+ Raw - JSON
  + AppFabric 以 JSON 格式输出源应用程序使用的原始架构中的数据。
+ OCSF - JSON
  + AppFabric 使用开放网络安全架构框架 (OCSF) 对数据进行标准化并以 JSON 格式输出数据。

### 输出位置
<a name="quicksight-output-locations"></a>

Quick 支持以下 AppFabric 输出位置：
+ Amazon S3
  + 您可以[使用 Amazon S3 文件创建数据集，直接将数据从 Amazon S](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-s3.html) 3 提取到 Quick 中。要验证您的目标文件集是否未超过快速数据源配额，请参阅*快速用户指南*中的[数据源配额](https://docs.aws.amazon.com/quicksight/latest/user/data-source-limits.html)。
  + 如果您的文件集超出了 Amazon S3 数据源的快速配额，则可以使用 Amazon Athena 和表在 AWS Glue Amazon S3 中提取数据。在您的快速数据集中使用 Athena 会产生额外费用。有关 Athena 定价的更多信息，请参阅 [Athena 定价页面](https://aws.amazon.com/athena/pricing/)。

    要使用 Athena，请执行以下操作：

    1. 按照 *Athena 用户指南*中[使用 AWS Glue 连接到 Amazon S3 中的数据来源](https://docs.aws.amazon.com/athena/latest/ug/data-sources-glue.html)中的说明进行操作。

    1. 按照快速用户指南中的[使用 Athena 数据创建数据集](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-athena.html)*中的*说明进行操作。

# Rapid7
<a name="rapid7"></a>

Rapid7，Inc. 的使命是通过让网络安全变得更简单、更容易获得，从而创造一个更安全的数字世界。 Rapid7通过 best-in-class技术、前沿研究和广泛的战略专业知识，使安全专业人员能够管理现代攻击面。 Rapid7的全面安全解决方案可帮助全球 10,000 多家客户将云风险管理和威胁检测结合起来，以减少攻击面并快速精确地消除威胁。

## AWS AppFabric 审核日志摄取注意事项
<a name="rapid7-ingestion-considerations"></a>

以下各节描述了要与一起使用的 AppFabric 输出架构、输出格式和输出目的地Rapid7。

### 架构和格式
<a name="rapid7-schema-and-format"></a>

Rapid7支持以下 AppFabric 输出架构和格式：
+ Raw - JSON
  + AppFabric 以 JSON 格式输出源应用程序使用的原始架构中的数据。
+ OCSF - JSON
  + AppFabric 使用开放网络安全架构框架 (OCSF) 对数据进行标准化并以 JSON 格式输出数据。

### 输出位置
<a name="rapid7-output-locations"></a>

Rapid7支持以下 AppFabric 输出位置：
+ Amazon Simple Storage Service（Amazon S3）
  + 要配置 Rapid7 以从包含审核日志的 Amazon S3 存储桶接收数据，请按照 Rapid7 博客网站上的 [How to Monitor Your Amazon S3 Activity with InsightIDR](https://www.rapid7.com/blog/post/2019/08/07/how-to-monitor-your-aws-s3-activity-with-insightidr/) 博文中的说明进行操作。

# Amazon Security Lake
<a name="security-lake"></a>

Amazon Security Lake 会自动将来自 AWS 环境、软件即服务 (SaaS) 提供商、本地和云源的安全数据集中到存储在您的专用的数据湖中。 AWS 账户借助 Security Lake，您可以更全面地了解整个组织的安全数据。Security Lake 采用了开放网络安全架构框架（OCSF），这是一种开源安全事件架构。借助 OCSF 的支持，该服务可以标准化 AWS 并合并来自各种企业安全数据源的安全数据。

## AppFabric 审核日志摄取注意事项
<a name="security-lake-audit-log-ingestion"></a>

通过向安全湖添加自定义来源，您可以将 SaaS 审核日志存入您 AWS 账户 的 Amazon 安全湖。以下各节描述了与 Security Lake 配合使用的 AppFabric输出架构、输出格式和输出目的地。

### 架构和格式
<a name="security-lake-schema-format"></a>

Security Lake 支持以下 AppFabric 输出架构和格式：
+ OCSF - JSON
  + AppFabric 使用开放网络安全架构框架 (OCSF) 对数据进行标准化并以 JSON 格式输出数据。

### 输出位置
<a name="security-lake-output-locations"></a>

Security Lake 支持 AppFabric 将使用 Amazon Data Firehose 传输流作为 AppFabric 提取输出位置作为自定义来源。要配置 AWS Glue 表和 Firehose 交付流，以及在 Security Lake 中设置自定义来源，请使用以下步骤。

### 创建 AWS Glue 表格
<a name="security-lake-create-glue-table"></a>

1. 导航到 Amazon Simple Storage Service（Amazon S3），用您选择的名称创建存储桶。

1. 导航到 AWS Glue 控制台。

1. 对于**数据目录**，转到**表**部分，然后选择**添加表**。

1. 为表输入您选择的名称。

1. 请选择您在第 1 步中创建的 Amazon S3 存储桶。

1. 对于数据格式，选择 **JSON**，然后选择**下一步**。

1. 在**选择或定义架构**页面上，选择**将架构编辑为 JSON**。

1. 输入以下架构，然后完成 AWS Glue 表创建过程。

   ```
   [
       {
           "Name": "message",
           "Type": "string"
       },
       {
           "Name": "process",
           "Type": "struct<name:string,pid:int,user:struct<name:string,type:string,domain:string,uid:string,type_id:int,full_name:string,risk_level:string,risk_score:int>,group:struct<name:string,uid:string>,tid:int,cmd_line:string,container:struct<name:string,size:int,tag:string,uid:string,image:struct<name:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>>,created_time:bigint,parent_process:struct<name:string,pid:int,file:struct<name:string,owner:struct<name:string,type:string,uid:string,type_id:int,email_addr:string,risk_level:string,risk_level_id:int,risk_score:int>,type:string,version:string,path:string,uid:string,type_id:int,mime_type:string,parent_folder:string,data_classification:struct<confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,is_system:boolean,modified_time:bigint,xattributes:string>,user:struct<name:string,type:string,uid:string,org:struct<uid:string,ou_name:string>,type_id:int,uid_alt:string>,group:struct<name:string,uid:string,privileges:array<string>>,tid:int,uid:string,cmd_line:string,container:struct<name:string,uid:string,image:struct<name:string,path:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,network_driver:string,pod_uuid:string>,created_time:bigint,namespace_pid:int,auid:int,euid:int,egid:int>>"
       },
       {
           "Name": "status",
           "Type": "string"
       },
       {
           "Name": "time",
           "Type": "bigint"
       },
       {
           "Name": "device",
           "Type": "struct<name:string,owner:struct<name:string,type:string,uid:string,type_id:int,risk_level:string,risk_level_id:int>,type:string,ip:string,hostname:string,mac:string,image:struct<name:string,tag:string,uid:string>,type_id:int,container:struct<name:string,runtime:string,size:bigint,tag:string,uid:string,image:struct<name:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>>,instance_uid:string,interface_name:string,interface_uid:string,namespace_pid:int,network_interfaces:array<struct<name:string,type:string,hostname:string,mac:string,type_id:int>>,region:string,risk_score:int,modified_time_dt:string>"
       },
       {
           "Name": "metadata",
           "Type": "struct<version:string,product:struct<name:string,version:string,uid:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,url_string:string,vendor_name:string>,data_classification:struct<confidentiality:string,confidentiality_id:int>,event_code:string,log_name:string,log_provider:string,original_time:string,tenant_uid:string,processed_time_dt:string>"
       },
       {
           "Name": "severity",
           "Type": "string"
       },
       {
           "Name": "duration",
           "Type": "int"
       },
       {
           "Name": "type_name",
           "Type": "string"
       },
       {
           "Name": "activity_id",
           "Type": "int"
       },
       {
           "Name": "type_uid",
           "Type": "int"
       },
       {
           "Name": "observables",
           "Type": "array<struct<name:string,type:string,type_id:int,value:string>>"
       },
       {
           "Name": "category_name",
           "Type": "string"
       },
       {
           "Name": "class_uid",
           "Type": "int"
       },
       {
           "Name": "category_uid",
           "Type": "int"
       },
       {
           "Name": "class_name",
           "Type": "string"
       },
       {
           "Name": "timezone_offset",
           "Type": "int"
       },
       {
           "Name": "end_time",
           "Type": "bigint"
       },
       {
           "Name": "activity_name",
           "Type": "string"
       },
       {
           "Name": "cloud",
           "Type": "struct<account:struct<name:string,type:string,uid:string,type_id:int>,project_uid:string,provider:string,region:string>"
       },
       {
           "Name": "query_info",
           "Type": "struct<name:string,uid:string,query_string:string>"
       },
       {
           "Name": "query_result",
           "Type": "string"
       },
       {
           "Name": "query_result_id",
           "Type": "int"
       },
       {
           "Name": "severity_id",
           "Type": "int"
       },
       {
           "Name": "status_code",
           "Type": "string"
       },
       {
           "Name": "status_detail",
           "Type": "string"
       },
       {
           "Name": "status_id",
           "Type": "int"
       },
       {
           "Name": "network_interfaces",
           "Type": "array<struct<name:string,type:string,hostname:string,mac:string,type_id:int,ip:string>>"
       },
       {
           "Name": "file",
           "Type": "struct<attributes:int,name:string,type:string,path:string,type_id:int,accessor:struct<name:string,type:string,uid:string,groups:array<struct<name:string,domain:string,uid:string>>,type_id:int,email_addr:string>,creator:struct<name:string,type:string,uid:string,type_id:int,risk_level:string,risk_level_id:int>,parent_folder:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,security_descriptor:string,accessed_time_dt:string,modified_time_dt:string>"
       },
       {
           "Name": "actor",
           "Type": "struct<process:struct<pid:int,file:struct<name:string,size:bigint,type:string,version:string,path:string,type_id:int,parent_folder:string,accessed_time:bigint,confidentiality:string,data_classification:struct<category:string,category_id:int>,is_system:boolean,xattributes:string,modified_time_dt:string>,user:struct<name:string,type:string,uid:string,type_id:int,risk_score:int>,group:struct<name:string>,loaded_modules:array<string>,cmd_line:string,container:struct<name:string,size:int,uid:string,image:struct<name:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,pod_uuid:string>,created_time:bigint,namespace_pid:int,parent_process:struct<name:string,pid:int,file:struct<name:string,type:string,version:string,path:string,type_id:int,parent_folder:string,confidentiality:string,confidentiality_id:int,created_time:bigint,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int,policy:struct<name:string,version:string,uid:string>>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>>,user:struct<name:string,type:string,uid:string,org:struct<name:string,uid:string,ou_name:string>,type_id:int,risk_level:string,uid_alt:string>,group:struct<name:string>,uid:string,cmd_line:string,container:struct<name:string,runtime:string,size:int,uid:string,image:struct<name:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,network_driver:string>,created_time:bigint,integrity:string,namespace_pid:int,parent_process:struct<name:string,file:struct<name:string,type:string,desc:string,modifier:struct<name:string,type:string,uid:string,type_id:int,email_addr:string>,type_id:int,created_time:bigint,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,xattributes:string,created_time_dt:string>,group:struct<name:string,uid:string>,uid:string,loaded_modules:array<string>,cmd_line:string,container:struct<name:string,size:bigint,uid:string,image:struct<name:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>>,sandbox:string,egid:int,created_time_dt:string>,created_time_dt:string>,terminated_time:bigint,auid:int>,user:struct<name:string,type:string,uid:string,type_id:int,credential_uid:string,risk_level:string>,app_name:string,idp:struct<name:string,uid:string>,invoked_by:string>"
       },
       {
           "Name": "dst_endpoint",
           "Type": "struct<owner:struct<name:string,type:string,uid:string,type_id:int,full_name:string,risk_level:string,risk_level_id:int,uid_alt:string>,port:int,type:string,ip:string,location:struct<desc:string,city:string,country:string,coordinates:array<double>,continent:string>,hostname:string,uid:string,type_id:int,autonomous_system:struct<name:string,number:int>,container:struct<name:string,size:int,uid:string,image:struct<name:string,tag:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,orchestrator:string>,hw_info:struct<bios_date:string>,instance_uid:string,interface_name:string,interface_uid:string,namespace_pid:int,svc_name:string>"
       },
       {
           "Name": "src_endpoint",
           "Type": "struct<name:string,owner:struct<name:string,type:string,domain:string,uid:string,org:struct<name:string,uid:string,ou_name:string>,groups:array<struct<uid:string>>,type_id:int,credential_uid:string,email_addr:string,ldap_person:struct<deleted_time:bigint,hire_time:bigint,surname:string,last_login_time_dt:string,hire_time_dt:string,leave_time_dt:string>>,port:int,type:string,ip:string,location:struct<desc:string,city:string,country:string,coordinates:array<double>,continent:string>,hostname:string,uid:string,type_id:int,container:struct<name:string,size:bigint,uid:string,image:struct<name:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,pod_uuid:string>,instance_uid:string,interface_name:string,interface_uid:string,intermediate_ips:array<string>,namespace_pid:int,svc_name:string,vpc_uid:string>"
       },
       {
           "Name": "user",
           "Type": "struct<name:string,type:string,groups:array<struct<name:string,uid:string>>,type_id:int>"
       },
       {
           "Name": "resource",
           "Type": "struct<version:string,uid:string,agent_list:array<struct<name:string,type:string,uid:string,type_id:int,policies:array<struct<name:string,version:string,uid:string>>>>,cloud_partition:string,data_classification:struct<category:string,category_id:int>>"
       },
       {
           "Name": "privileges",
           "Type": "array<string>"
       },
       {
           "Name": "action",
           "Type": "string"
       },
       {
           "Name": "action_id",
           "Type": "int"
       },
       {
           "Name": "protocol_ver",
           "Type": "string"
       },
       {
           "Name": "proxy",
           "Type": "struct<name:string,port:int,type:string,ip:string,hostname:string,uid:string,type_id:int,agent_list:array<struct<name:string,type:string,version:string,uid:string,type_id:int>>,autonomous_system:struct<name:string,number:int>,container:struct<name:string,runtime:string,size:int,uid:string,hash:struct<value:string,algorithm:string,algorithm_id:int>>,instance_uid:string,interface_name:string,interface_uid:string,intermediate_ips:array<string>,namespace_pid:int,proxy_endpoint:struct<name:string,port:int,type:string,ip:string,hostname:string,uid:string,type_id:int,container:struct<name:string,size:bigint,uid:string,image:struct<name:string,uid:string,labels:array<string>>,hash:struct<value:string,algorithm:string,algorithm_id:int>,network_driver:string,pod_uuid:string>,instance_uid:string,interface_name:string,interface_uid:string,namespace_pid:int,proxy_endpoint:struct<name:string,port:int,type:string,ip:string,hostname:string,uid:string,type_id:int,autonomous_system:struct<name:string,number:int>,container:struct<name:string,runtime:string,size:bigint,uid:string,image:struct<name:string,tag:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>>,intermediate_ips:array<string>,namespace_pid:int,svc_name:string>,subnet_uid:string,svc_name:string,zone:string>,svc_name:string>"
       },
       {
           "Name": "client_hassh",
           "Type": "struct<algorithm:string,fingerprint:struct<value:string,algorithm:string,algorithm_id:int>>"
       },
       {
           "Name": "authorizations",
           "Type": "array<string>"
       },
       {
           "Name": "proxy_tls",
           "Type": "struct<version:string,certificate:struct<version:string,uid:string,subject:string,issuer:string,fingerprints:array<struct<value:string,algorithm:string,algorithm_id:int>>,created_time:bigint,expiration_time:bigint,serial_number:string>,cipher:string,sni:string,certificate_chain:array<string>,client_ciphers:array<string>,ja3_hash:struct<value:string,algorithm:string,algorithm_id:int>,ja3s_hash:struct<value:string,algorithm:string,algorithm_id:int>>"
       },
       {
           "Name": "load_balancer",
           "Type": "struct<name:string,classification:string,dst_endpoint:struct<owner:struct<type:string,domain:string,uid:string,type_id:int,account:struct<name:string,type:string,uid:string,type_id:int>,credential_uid:string,ldap_person:struct<manager:struct<name:string,type:string,domain:string,uid:string,org:struct<name:string,uid:string,ou_uid:string>,type_id:int>,given_name:string,ldap_dn:string,leave_time:bigint,modified_time:bigint,surname:string>>,port:int,type:string,os:struct<name:string,type:string,type_id:int,edition:string>,ip:string,hostname:string,uid:string,type_id:int,instance_uid:string,interface_name:string,interface_uid:string,namespace_pid:int,svc_name:string,vlan_uid:string>,endpoint_connections:array<struct<code:int,network_endpoint:struct<name:string,owner:struct<name:string,type:string,uid:string,type_id:int,ldap_person:struct<labels:array<string>,created_time:bigint,hire_time:bigint,ldap_dn:string,surname:string,modified_time_dt:string,deleted_time_dt:string>,groups:array<struct<name:string,desc:string,uid:string,type:string>>,full_name:string,email_addr:string,risk_level:string,risk_level_id:int>,port:int,type:string,ip:string,hostname:string,type_id:int,container:struct<name:string,size:int,tag:string,uid:string,image:struct<name:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,network_driver:string>,instance_uid:string,interface_name:string,namespace_pid:int,proxy_endpoint:struct<name:string,owner:struct<name:string,type:string,uid:string,groups:array<struct<name:string,uid:string>>,type_id:int,full_name:string,email_addr:string,risk_score:int,uid_alt:string>,port:int,type:string,hostname:string,uid:string,type_id:int,autonomous_system:struct<name:string,number:int>,container:struct<name:string,size:bigint,image:struct<name:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,orchestrator:string,pod_uuid:string>,hw_info:struct<cpu_count:int,cpu_speed:int,keyboard_info:struct<function_keys:int,keyboard_subtype:int>>,instance_uid:string,interface_name:string,interface_uid:string,namespace_pid:int,svc_name:string>,subnet_uid:string,svc_name:string,uid:string,interface_uid:string,intermediate_ips:array<string>>>>,metrics:array<struct<name:string,value:string>>>"
       },
       {
           "Name": "disposition_id",
           "Type": "int"
       },
       {
           "Name": "disposition",
           "Type": "string"
       },
       {
           "Name": "proxy_traffic",
           "Type": "struct<bytes:bigint,packets:int>"
       },
       {
           "Name": "auth_type_id",
           "Type": "int"
       },
       {
           "Name": "proxy_http_response",
           "Type": "struct<code:int,message:string,status:string,length:int>"
       },
       {
           "Name": "server_hassh",
           "Type": "struct<algorithm:string,fingerprint:struct<value:string,algorithm:string,algorithm_id:int>>"
       },
       {
           "Name": "auth_type",
           "Type": "string"
       },
       {
           "Name": "firewall_rule",
           "Type": "struct<version:string,uid:string>"
       },
       {
           "Name": "proxy_connection_info",
           "Type": "struct<direction:string,direction_id:int,protocol_num:int,protocol_ver:string>"
       },
       {
           "Name": "connection_info",
           "Type": "struct<direction:string,direction_id:int>"
       },
       {
           "Name": "api",
           "Type": "struct<request:struct<data:string,uid:string>,response:struct<error:string,code:int,message:string,error_message:string>,operation:string>"
       },
       {
           "Name": "attacks",
           "Type": "array<struct<version:string,tactics:array<struct<name:string,uid:string>>,technique:struct<name:string,uid:string>>>"
       },
       {
           "Name": "raw_data",
           "Type": "string"
       },
       {
           "Name": "email_uid",
           "Type": "string"
       },
       {
           "Name": "malware",
           "Type": "array<struct<name:string,path:string,uid:string,classification_ids:array<int>,cves:array<struct<title:string,uid:string,references:array<string>,created_time:bigint,cvss:array<struct<version:string,base_score:double,metrics:array<struct<name:string,value:string>>,overall_score:double,depth:string>>,modified_time_dt:string,created_time_dt:string,type:string>>,provider:string,classifications:array<string>>>"
       },
       {
           "Name": "start_time_dt",
           "Type": "string"
       },
       {
           "Name": "direction",
           "Type": "string"
       },
       {
           "Name": "smtp_hello",
           "Type": "string"
       },
       {
           "Name": "unmapped",
           "Type": "string"
       },
       {
           "Name": "direction_id",
           "Type": "int"
       },
       {
           "Name": "email_auth",
           "Type": "struct<spf:string,dkim:string,dkim_domain:string,dkim_signature:string,dmarc:string,dmarc_override:string,dmarc_policy:string>"
       },
       {
           "Name": "email",
           "Type": "struct<uid:string,from:string,to:array<string>,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,delivered_to:string,message_uid:string,reply_to:string,smtp_from:string>"
       },
       {
           "Name": "impact_id",
           "Type": "int"
       },
       {
           "Name": "resources",
           "Type": "array<struct<owner:struct<name:string,type:string,uid:string,type_id:int,full_name:string,ldap_person:struct<hire_time:bigint,ldap_cn:string,ldap_dn:string,surname:string,leave_time_dt:string>>,version:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,data:string,labels:array<string>,region:string>>"
       },
       {
           "Name": "finding_info",
           "Type": "struct<title:string,uid:string,attacks:array<struct<version:string,tactics:array<struct<name:string,uid:string>>,technique:struct<name:string,uid:string>>>,analytic:struct<name:string,type:string,version:string,desc:string,uid:string,type_id:int>,last_seen_time:bigint,first_seen_time_dt:string>"
       },
       {
           "Name": "evidences",
           "Type": "array<struct<process:struct<name:string,pid:int,file:struct<name:string,type:string,version:string,path:string,type_id:int,company_name:string,parent_folder:string,confidentiality:string,confidentiality_id:int,created_time:bigint,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,security_descriptor:string,owner:struct<name:string,type:string,uid:string,groups:array<struct<name:string,type:string,domain:string>>,type_id:int,account:struct<name:string,type:string,uid:string,type_id:int>,credential_uid:string,uid_alt:string>,desc:string,accessor:struct<name:string,type:string,uid:string,type_id:int,account:struct<name:string,type:string,uid:string,type_id:int>,email_addr:string>,creator:struct<name:string,type:string,domain:string,uid:string,org:struct<name:string,uid:string>,type_id:int,full_name:string>,modified_time:bigint,modified_time_dt:string>,user:struct<name:string,type:string,uid:string,type_id:int,risk_score:int,full_name:string>,group:struct<name:string,type:string,uid:string>,uid:string,loaded_modules:array<string>,cmd_line:string,container:struct<name:string,size:int,tag:string,uid:string,image:struct<name:string,path:string,uid:string,labels:array<string>>,hash:struct<value:string,algorithm:string,algorithm_id:int>>,created_time:bigint,namespace_pid:int,parent_process:struct<name:string,session:struct<uid:string,issuer:string,created_time:bigint,is_remote:boolean,is_vpn:boolean>,file:struct<attributes:int,name:string,size:int,type:string,path:string,modifier:struct<name:string,type:string,uid:string,type_id:int,full_name:string,credential_uid:string,org:struct<name:string,uid:string,ou_name:string>>,product:struct<name:string,version:string,uid:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,vendor_name:string>,type_id:int,company_name:string,mime_type:string,parent_folder:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,modified_time_dt:string,created_time_dt:string,owner:struct<type:string,domain:string,uid:string,org:struct<name:string,uid:string>,groups:array<struct<name:string,type:string,uid:string,desc:string>>,type_id:int,credential_uid:string,email_addr:string,risk_level:string,risk_level_id:int>,accessed_time:bigint,confidentiality:string,confidentiality_id:int,xattributes:string>,user:struct<name:string,type:string,domain:string,uid:string,type_id:int,account:struct<name:string,type:string,uid:string,type_id:int>,org:struct<name:string,uid:string,ou_name:string>,risk_score:int>,group:struct<uid:string,privileges:array<string>,name:string,type:string,desc:string>,uid:string,container:struct<name:string,size:bigint,uid:string,image:struct<name:string,tag:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,pod_uuid:string>,created_time:bigint,namespace_pid:int,parent_process:struct<name:string,user:struct<name:string,type:string,uid:string,type_id:int,account:struct<name:string,type:string,uid:string,type_id:int>,credential_uid:string,domain:string,risk_level:string>,group:struct<name:string,uid:string,type:string,desc:string>,uid:string,cmd_line:string,container:struct<name:string,size:bigint,uid:string,image:struct<name:string,uid:string,path:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,pod_uuid:string>,created_time:bigint,namespace_pid:int,parent_process:struct<name:string,pid:int,file:struct<name:string,size:bigint,type:string,version:string,modifier:struct<name:string,type:string,type_id:int,risk_score:int>,type_id:int,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,owner:struct<type:string,type_id:int,account:struct<name:string,type:string,uid:string,type_id:int>>,path:string,parent_folder:string,is_system:boolean,security_descriptor:string,accessed_time_dt:string>,user:struct<name:string,org:struct<name:string,uid:string,ou_name:string,ou_uid:string>,type:string,domain:string,uid:string,groups:array<struct<name:string,uid:string>>,type_id:int,account:struct<name:string,type:string,type_id:int>,credential_uid:string,risk_score:int>,uid:string,cmd_line:string,container:struct<name:string,runtime:string,size:bigint,uid:string,image:struct<name:string,tag:string,uid:string,path:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>>,created_time:bigint,integrity:string,lineage:array<string>,namespace_pid:int,parent_process:struct<name:string,pid:int,file:struct<name:string,type:string,path:string,uid:string,type_id:int,parent_folder:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,xattributes:string,created_time_dt:string,signature:struct<certificate:struct<version:string,subject:string,issuer:string,fingerprints:array<struct<value:string,algorithm:string,algorithm_id:int>>,created_time:bigint,serial_number:string,created_time_dt:string>,algorithm:string,algorithm_id:int>,accessor:struct<name:string,type:string,uid:string,type_id:int,risk_level:string,risk_level_id:int,uid_alt:string>,company_name:string,mime_type:string,accessed_time:bigint,modified_time_dt:string>,user:struct<type:string,uid:string,type_id:int,credential_uid:string,email_addr:string,ldap_person:struct<labels:array<string>,deleted_time:bigint>,groups:array<struct<name:string,uid:string,desc:string>>,account:struct<name:string,type:string,uid:string,type_id:int>,risk_level:string,risk_score:int,uid_alt:string>,group:struct<name:string,uid:string,privileges:array<string>>,uid:string,cmd_line:string,container:struct<name:string,size:int,uid:string,image:struct<name:string,uid:string,labels:array<string>>,hash:struct<value:string,algorithm:string,algorithm_id:int>,pod_uuid:string>,created_time:bigint,namespace_pid:int,parent_process:struct<name:string,pid:int,file:struct<name:string,type:string,path:string,uid:string,type_id:int,mime_type:string,parent_folder:string,confidentiality:string,confidentiality_id:int,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,security_descriptor:string,modified_time_dt:string>,user:struct<name:string,type:string,domain:string,uid:string,org:struct<uid:string,ou_name:string>,groups:array<struct<name:string,uid:string>>,type_id:int,email_addr:string,ldap_person:struct<labels:array<string>,manager:struct<name:string,type:string,uid:string,org:struct<name:string,uid:string,ou_name:string>,groups:array<struct<name:string,privileges:array<string>>>,type_id:int,full_name:string,risk_level:string,risk_level_id:int>,last_login_time_dt:string>,uid_alt:string>,group:struct<domain:string,uid:string,privileges:array<string>>,uid:string,loaded_modules:array<string>,cmd_line:string,container:struct<name:string,runtime:string,size:bigint,tag:string,uid:string,image:struct<uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,orchestrator:string>,created_time:bigint,integrity:string,namespace_pid:int,parent_process:struct<name:string,pid:int,session:struct<count:int,uid:string,uuid:string,issuer:string,created_time:bigint,is_remote:boolean,is_vpn:boolean,uid_alt:string>,file:struct<attributes:int,name:string,owner:struct<name:string,type:string,domain:string,uid:string,type_id:int,credential_uid:string,email_addr:string>,type:string,path:string,desc:string,uid:string,type_id:int,mime_type:string,parent_folder:string,confidentiality:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int,policy:struct<name:string,version:string,group:struct<name:string>,uid:string>>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,is_system:boolean>,user:struct<name:string,type:string,uid:string,type_id:int,credential_uid:string,risk_level:string>,group:struct<name:string,desc:string,uid:string,privileges:array<string>>,loaded_modules:array<string>,cmd_line:string,created_time:bigint,namespace_pid:int,parent_process:struct<name:string,session:struct<uid:string,issuer:string,created_time:bigint,is_mfa:boolean,is_remote:boolean,created_time_dt:string>,file:struct<name:string,size:bigint,type:string,version:string,path:string,signature:struct<certificate:struct<version:string,uid:string,subject:string,issuer:string,fingerprints:array<struct<value:string,algorithm:string,algorithm_id:int>>,created_time:bigint,expiration_time:bigint,serial_number:string,expiration_time_dt:string>,algorithm:string,algorithm_id:int>,type_id:int,parent_folder:string,created_time:bigint,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,created_time_dt:string>,user:struct<uid:string,risk_level:string>,group:struct<name:string,domain:string>,uid:string,created_time:bigint,namespace_pid:int,auid:int,euid:int,egid:int>,terminated_time:bigint,xattributes:string,euid:int>>,auid:int,terminated_time_dt:string,created_time_dt:string,lineage:array<string>>,egid:int,group:struct<name:string,uid:string>,tid:int,loaded_modules:array<string>,sandbox:string,terminated_time:bigint,xattributes:string,euid:int>,terminated_time:bigint,xattributes:string,terminated_time_dt:string,created_time_dt:string,pid:int,session:struct<issuer:string,created_time:bigint,expiration_reason:string,is_remote:boolean,expiration_time_dt:string>,file:struct<name:string,type:string,path:string,desc:string,modifier:struct<name:string,type:string,uid:string,type_id:int,email_addr:string>,product:struct<name:string,version:string,uid:string,data_classification:struct<confidentiality:string,confidentiality_id:int>,url_string:string,vendor_name:string>,type_id:int,mime_type:string,parent_folder:string,confidentiality:string,created_time:bigint,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int,policy:struct<name:string,version:string,group:struct<type:string,uid:string>,uid:string>>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,modified_time:bigint,accessed_time_dt:string,modified_time_dt:string>,loaded_modules:array<string>,integrity:string,integrity_id:int,lineage:array<string>,egid:int>,terminated_time:bigint,xattributes:string,pid:int,cmd_line:string,auid:int,created_time_dt:string>,xattributes:string,tid:int,integrity:string,euid:int>,file:struct<name:string,type:string,path:string,desc:string,product:struct<name:string,version:string,uid:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,url_string:string,vendor_name:string>,type_id:int,creator:struct<name:string,type:string,uid:string,type_id:int,account:struct<name:string,type:string,uid:string,type_id:int>,credential_uid:string,uid_alt:string>,parent_folder:string,confidentiality:string,confidentiality_id:int,created_time:bigint,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,security_descriptor:string,accessor:struct<name:string,type:string,uid:string,type_id:int,account:struct<name:string,type:string,uid:string,type_id:int>,risk_level:string,risk_level_id:int>,company_name:string,accessed_time_dt:string,created_time_dt:string>,query:struct<type:string,hostname:string,class:string,opcode_id:int,packet_uid:int>,connection_info:struct<direction:string,direction_id:int,protocol_num:int,boundary:string,boundary_id:int,protocol_ver:string,protocol_ver_id:int,tcp_flags:int>,api:struct<request:struct<flags:array<string>,uid:string>,response:struct<error:string,code:int,flags:array<string>,message:string,error_message:string>,operation:string,version:string>,actor:struct<process:struct<name:string,pid:int,file:struct<name:string,type:string,path:string,type_id:int,creator:struct<name:string,type:string,uid:string,type_id:int,email_addr:string>,parent_folder:string,confidentiality:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,modified_time:bigint,xattributes:string,modified_time_dt:string,created_time_dt:string,version:string,desc:string,security_descriptor:string>,uid:string,cmd_line:string,container:struct<name:string,size:bigint,uid:string,image:struct<name:string,uid:string,tag:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,pod_uuid:string,runtime:string,network_driver:string>,created_time:bigint,namespace_pid:int,parent_process:struct<name:string,pid:int,file:struct<name:string,owner:struct<name:string,type:string,uid:string,type_id:int,full_name:string,risk_level:string>,type:string,path:string,desc:string,modifier:struct<name:string,type:string,uid:string,type_id:int>,uid:string,type_id:int,parent_folder:string,confidentiality:string,confidentiality_id:int,data_classification:struct<confidentiality:string,confidentiality_id:int,policy:struct<name:string,version:string,desc:string,uid:string>>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,created_time_dt:string,signature:struct<certificate:struct<version:string,subject:string,issuer:string,fingerprints:array<struct<value:string,algorithm:string,algorithm_id:int>>,created_time:bigint,expiration_time:bigint,serial_number:string>,algorithm:string,algorithm_id:int,created_time:bigint>,product:struct<name:string,uid:string,feature:struct<name:string,version:string,uid:string>,cpe_name:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,vendor_name:string>,accessed_time_dt:string>,user:struct<name:string,type:string,domain:string,uid:string,org:struct<name:string,uid:string,ou_name:string>,type_id:int,account:struct<name:string,uid:string>,ldap_person:struct<labels:array<string>,job_title:string,office_location:string,hire_time_dt:string>,risk_score:int>,group:struct<domain:string,desc:string,uid:string,name:string,type:string>,cmd_line:string,container:struct<name:string,size:int,uid:string,hash:struct<value:string,algorithm:string,algorithm_id:int>,image:struct<tag:string,uid:string>,network_driver:string>,created_time:bigint,integrity:string,integrity_id:int,namespace_pid:int,parent_process:struct<name:string,pid:int,file:struct<attributes:int,name:string,type:string,path:string,signature:struct<digest:struct<value:string,algorithm:string,algorithm_id:int>,algorithm:string,algorithm_id:int>,product:struct<name:string,version:string,uid:string,data_classification:struct<category:string,category_id:int>,vendor_name:string>,uid:string,type_id:int,accessor:struct<name:string,type:string,uid:string,type_id:int>,parent_folder:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,is_system:boolean,xattributes:string,accessed_time_dt:string,modified_time_dt:string>,user:struct<name:string,type:string,uid:string,type_id:int,uid_alt:string,credential_uid:string>,group:struct<name:string,uid:string,domain:string,desc:string>,uid:string,cmd_line:string,container:struct<name:string,size:int,tag:string,uid:string,hash:struct<value:string,algorithm:string,algorithm_id:int>,image:struct<name:string,path:string,uid:string>,orchestrator:string>,created_time:bigint,namespace_pid:int,auid:int,terminated_time_dt:string,integrity:string,integrity_id:int,parent_process:struct<name:string,pid:int,file:struct<attributes:int,name:string,owner:struct<type:string,uid:string,type_id:int,ldap_person:struct<labels:array<string>,cost_center:string,deleted_time:bigint,email_addrs:array<string>,ldap_dn:string,leave_time_dt:string>,risk_level:string,risk_score:int>,type:string,path:string,type_id:int,accessor:struct<name:string,type:string,uid:string>,mime_type:string,parent_folder:string,confidentiality:string,confidentiality_id:int,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,security_descriptor:string,modified_time_dt:string,created_time_dt:string>,user:struct<name:string,type:string,domain:string,uid:string,type_id:int,full_name:string>,loaded_modules:array<string>,cmd_line:string,container:struct<name:string,size:int,uid:string,image:struct<name:string,tag:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,network_driver:string>,created_time:bigint,namespace_pid:int,parent_process:struct<name:string,pid:int,user:struct<name:string,type:string,domain:string,uid:string,type_id:int,account:struct<name:string,type:string,uid:string,labels:array<string>,type_id:int>,risk_level:string,risk_level_id:int>,uid:string,loaded_modules:array<string>,cmd_line:string,container:struct<name:string,runtime:string,size:int,uid:string,image:struct<name:string,uid:string>>,created_time:bigint,namespace_pid:int,parent_process:struct<name:string,pid:int,session:struct<count:int,uid:string,issuer:string,created_time:bigint,is_remote:boolean>,file:struct<name:string,type:string,path:string,desc:string,modifier:struct<name:string,type:string,uid:string,type_id:int,email_addr:string>,type_id:int,creator:struct<name:string,type:string,uid:string,type_id:int,email_addr:string,risk_level:string,risk_level_id:int>,mime_type:string,parent_folder:string,accessed_time:bigint,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,accessed_time_dt:string>,group:struct<name:string,type:string,uid:string>,tid:int,uid:string,cmd_line:string,created_time:bigint,namespace_pid:int,parent_process:struct<name:string,pid:int,file:struct<name:string,size:bigint,type:string,path:string,signature:struct<algorithm:string,algorithm_id:int>,modifier:struct<name:string,type:string,uid:string,type_id:int,account:struct<name:string,uid:string>,uid_alt:string>,type_id:int,mime_type:string,parent_folder:string,accessed_time:bigint,confidentiality:string,confidentiality_id:int,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,is_system:boolean,accessed_time_dt:string>,user:struct<name:string,type:string,domain:string,uid:string,type_id:int>,group:struct<name:string,uid:string,privileges:array<string>>,uid:string,container:struct<name:string,size:bigint,uid:string,image:struct<name:string,tag:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,network_driver:string,orchestrator:string>,created_time:bigint,namespace_pid:int,parent_process:struct<name:string,pid:int,file:struct<name:string,size:bigint,type:string,path:string,signature:struct<certificate:struct<version:string,subject:string,issuer:string,fingerprints:array<struct<value:string,algorithm:string,algorithm_id:int>>,expiration_time:bigint,serial_number:string,created_time_dt:string>,algorithm:string,algorithm_id:int>,uid:string,type_id:int,parent_folder:string,accessed_time:bigint,confidentiality:string,confidentiality_id:int,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,accessed_time_dt:string,modified_time_dt:string,created_time_dt:string>,user:struct<name:string,type:string,domain:string,uid:string,type_id:int,ldap_person:struct<created_time:bigint,deleted_time:bigint,given_name:string,last_login_time:bigint,ldap_cn:string,surname:string>>,group:struct<type:string,domain:string,uid:string>,cmd_line:string,container:struct<name:string,runtime:string,size:int,uid:string,image:struct<name:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>>,created_time:bigint,integrity:string,integrity_id:int,lineage:array<string>,namespace_pid:int,parent_process:struct<name:string,pid:int,session:struct<uid:string,issuer:string,created_time:bigint,is_remote:boolean>,file:struct<name:string,type:string,path:string,type_id:int,company_name:string,parent_folder:string,accessed_time:bigint,data_classification:struct<category:string,category_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,security_descriptor:string,xattributes:string>,user:struct<name:string,type:string,uid:string,type_id:int>,group:struct<name:string,uid:string>,uid:string,cmd_line:string,container:struct<name:string,size:bigint,uid:string,image:struct<name:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,network_driver:string>,created_time:bigint,lineage:array<string>,namespace_pid:int,parent_process:struct<name:string,pid:int,file:struct<name:string,type:string,path:string,type_id:int,accessor:struct<name:string,type:string,domain:string,uid:string,org:struct<name:string,uid:string>,type_id:int,risk_level:string>,creator:struct<name:string,type:string,domain:string,uid:string,type_id:int,full_name:string,risk_level:string,risk_level_id:int>,parent_folder:string,accessed_time:bigint,confidentiality:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,accessed_time_dt:string>,user:struct<name:string,type:string,uid:string,org:struct<name:string,uid:string,ou_name:string,ou_uid:string>,type_id:int,account:struct<name:string,type:string,uid:string,type_id:int>,credential_uid:string,risk_level:string>,group:struct<name:string,uid:string>,uid:string,cmd_line:string,container:struct<name:string,size:int,uid:string,image:struct<name:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>>,created_time:bigint,parent_process:struct<pid:int,file:struct<name:string,type:string,path:string,signature:struct<certificate:struct<version:string,uid:string,subject:string,issuer:string,fingerprints:array<struct<value:string,algorithm:string,algorithm_id:int>>,expiration_time:bigint,serial_number:string,expiration_time_dt:string>,algorithm:string,algorithm_id:int,created_time_dt:string>,uid:string,type_id:int,accessor:struct<name:string,type:string,uid:string,org:struct<name:string,uid:string,ou_name:string>,type_id:int,credential_uid:string,ldap_person:struct<location:struct<desc:string,city:string,country:string,coordinates:array<double>,continent:string>,deleted_time:bigint,job_title:string,modified_time:bigint,modified_time_dt:string,leave_time_dt:string>,risk_score:int>,parent_folder:string,accessed_time:bigint,data_classification:struct<category:string,confidentiality:string,confidentiality_id:int,policy:struct<name:string,version:string,uid:string>>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,is_system:boolean>,user:struct<name:string,type:string,uid:string,org:struct<name:string,uid:string,ou_name:string>,type_id:int,uid_alt:string>,group:struct<name:string,type:string,desc:string,uid:string,privileges:array<string>>,uid:string,cmd_line:string,container:struct<name:string,size:bigint,uid:string,image:struct<name:string,path:string,uid:string,labels:array<string>>,hash:struct<value:string,algorithm:string,algorithm_id:int>,orchestrator:string,pod_uuid:string>,created_time:bigint,integrity:string,namespace_pid:int,created_time_dt:string>,auid:int>,created_time_dt:string>,sandbox:string>>,terminated_time:bigint,euid:int>,terminated_time:bigint,xattributes:string>>,terminated_time:bigint,egid:int>,auid:int,egid:int,uid:string>,terminated_time_dt:string,user:struct<name:string,uid:string,groups:array<struct<name:string,domain:string,uid:string>>,account:struct<name:string,type:string,uid:string,type_id:int>,email_addr:string,risk_level:string>,group:struct<name:string,uid:string>,integrity:string,integrity_id:int,egid:int>,user:struct<name:string,type:string,uid:string,groups:array<struct<name:string,type:string,privileges:array<string>,desc:string,uid:string>>,type_id:int,risk_level:string,risk_level_id:int,uid_alt:string,full_name:string,credential_uid:string,email_addr:string,ldap_person:struct<last_login_time:bigint,deleted_time_dt:string>>,app_uid:string,authorizations:array<struct<policy:struct<name:string,version:string,uid:string,is_applied:boolean>>>>,container:struct<name:string,size:bigint,uid:string,image:struct<name:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,network_driver:string>,databucket:struct<name:string,type:string,uid:string,type_id:int,created_time:bigint,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,created_time_dt:string>,dst_endpoint:struct<name:string,owner:struct<type:string,uid:string,org:struct<name:string,uid:string,ou_name:string>,type_id:int,full_name:string,account:struct<name:string,type:string,uid:string,labels:array<string>,type_id:int>,credential_uid:string,name:string,groups:array<struct<name:string,type:string,desc:string,uid:string>>,risk_level:string,risk_level_id:int>,port:int,type:string,domain:string,ip:string,hostname:string,uid:string,type_id:int,agent_list:array<struct<name:string,type:string,uid:string,type_id:int,uid_alt:string,version:string,policies:array<struct<name:string,version:string>>>>,autonomous_system:struct<name:string,number:int>,container:struct<name:string,size:bigint,tag:string,uid:string,image:struct<name:string,uid:string,tag:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,network_driver:string,runtime:string,pod_uuid:string>,instance_uid:string,interface_name:string,interface_uid:string,namespace_pid:int,svc_name:string,vlan_uid:string,os:struct<name:string,type:string,type_id:int,lang:string,edition:string>,intermediate_ips:array<string>,proxy_endpoint:struct<name:string,owner:struct<name:string,domain:string,uid:string,groups:array<struct<name:string,uid:string,domain:string,privileges:array<string>>>>,port:int,type:string,ip:string,location:struct<desc:string,city:string,country:string,coordinates:array<double>,continent:string>,uid:string,mac:string,type_id:int,container:struct<name:string,uid:string,image:struct<name:string,path:string,uid:string,labels:array<string>>,hash:struct<value:string,algorithm:string,algorithm_id:int>>,instance_uid:string,interface_uid:string,intermediate_ips:array<string>,namespace_pid:int,svc_name:string,zone:string>>,src_endpoint:struct<name:string,owner:struct<type:string,groups:array<struct<name:string,domain:string,desc:string,uid:string,privileges:array<string>>>,type_id:int,full_name:string,email_addr:string,ldap_person:struct<deleted_time:bigint,ldap_dn:string,last_login_time_dt:string,created_time:bigint,modified_time:bigint,office_location:string>,name:string,uid:string,credential_uid:string>,port:int,type:string,os:struct<name:string,type:string,version:string,type_id:int,lang:string,cpu_bits:int>,domain:string,ip:string,hostname:string,type_id:int,agent_list:array<struct<name:string,type:string,version:string,uid:string,type_id:int>>,container:struct<name:string,size:int,uid:string,hash:struct<value:string,algorithm:string,algorithm_id:int>,network_driver:string>,instance_uid:string,interface_name:string,interface_uid:string,namespace_pid:int,svc_name:string,vlan_uid:string,uid:string,autonomous_system:struct<name:string,number:int>>,database:struct<name:string,type:string,uid:string,groups:array<struct<name:string,uid:string,domain:string,privileges:array<string>>>,type_id:int,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>>>>"
       },
       {
           "Name": "impact",
           "Type": "string"
       },
       {
           "Name": "count",
           "Type": "int"
       },
       {
           "Name": "confidence_id",
           "Type": "int"
       },
       {
           "Name": "enrichments",
           "Type": "array<struct<data:string,name:string,type:string,value:string,provider:string>>"
       },
       {
           "Name": "rcode",
           "Type": "string"
       },
       {
           "Name": "app_name",
           "Type": "string"
       },
       {
           "Name": "rcode_id",
           "Type": "int"
       },
       {
           "Name": "query",
           "Type": "struct<type:string,hostname:string,class:string,opcode_id:int,packet_uid:int>"
       },
       {
           "Name": "proxy_endpoint",
           "Type": "struct<name:string,owner:struct<name:string,type:string,domain:string,uid:string,groups:array<struct<name:string,desc:string,uid:string,privileges:array<string>>>,type_id:int,credential_uid:string,risk_score:int>,port:int,type:string,ip:string,hostname:string,uid:string,type_id:int,autonomous_system:struct<name:string,number:int>,container:struct<name:string,size:bigint,uid:string,image:struct<name:string,uid:string>,hash:struct<value:string,algorithm:string,algorithm_id:int>,pod_uuid:string>,instance_uid:string,interface_uid:string,namespace_pid:int,subnet_uid:string,svc_name:string>"
       },
       {
           "Name": "response_time",
           "Type": "bigint"
       },
       {
           "Name": "delay",
           "Type": "int"
       },
       {
           "Name": "start_time",
           "Type": "bigint"
       },
       {
           "Name": "proxy_http_request",
           "Type": "struct<version:string,url:struct<port:int,scheme:string,path:string,hostname:string,query_string:string,categories:array<string>,category_ids:array<int>,subdomain:string,url_string:string>,user_agent:string,http_headers:array<struct<name:string,value:string>>,referrer:string>"
       },
       {
           "Name": "version",
           "Type": "string"
       },
       {
           "Name": "stratum",
           "Type": "string"
       },
       {
           "Name": "stratum_id",
           "Type": "int"
       },
       {
           "Name": "dispersion",
           "Type": "int"
       },
       {
           "Name": "traffic",
           "Type": "struct<bytes_out:int,chunks:bigint,bytes:int,packets:int,packets_in:bigint>"
       },
       {
           "Name": "precision",
           "Type": "int"
       },
       {
           "Name": "size",
           "Type": "int"
       },
       {
           "Name": "actual_permissions",
           "Type": "int"
       },
       {
           "Name": "base_address",
           "Type": "string"
       },
       {
           "Name": "requested_permissions",
           "Type": "int"
       },
       {
           "Name": "end_time_dt",
           "Type": "string"
       },
       {
           "Name": "compliance",
           "Type": "struct<control:string,status:string,standards:array<string>,status_id:int>"
       },
       {
           "Name": "remediation",
           "Type": "struct<desc:string>"
       },
       {
           "Name": "kb_article_list",
           "Type": "array<struct<os:struct<name:string,type:string,type_id:int,cpe_name:string,edition:string>,title:string,uid:string,severity:string,classification:string,created_time:bigint,size:int,created_time_dt:string>>"
       },
       {
           "Name": "peripheral_device",
           "Type": "struct<name:string,class:string,uid:string,model:string,serial_number:string,vendor_name:string>"
       },
       {
           "Name": "time_dt",
           "Type": "string"
       },
       {
           "Name": "group",
           "Type": "struct<name:string,type:string,uid:string>"
       },
       {
           "Name": "users",
           "Type": "array<struct<name:string,type:string,uid:string,type_id:int,risk_level:string,risk_level_id:int,groups:array<struct<name:string,uid:string>>,uid_alt:string>>"
       },
       {
           "Name": "confidence_score",
           "Type": "int"
       },
       {
           "Name": "state",
           "Type": "string"
       },
       {
           "Name": "state_id",
           "Type": "int"
       },
       {
           "Name": "evidence",
           "Type": "string"
       },
       {
           "Name": "confidence",
           "Type": "string"
       },
       {
           "Name": "risk_level",
           "Type": "string"
       },
       {
           "Name": "risk_score",
           "Type": "int"
       },
       {
           "Name": "impact_score",
           "Type": "int"
       },
       {
           "Name": "risk_level_id",
           "Type": "int"
       },
       {
           "Name": "finding",
           "Type": "struct<title:string,uid:string,modified_time:bigint,modified_time_dt:string,first_seen_time_dt:string>"
       },
       {
           "Name": "user_result",
           "Type": "struct<name:string,type:string,uid:string,type_id:int,account:struct<name:string,uid:string,labels:array<string>>,risk_level:string>"
       },
       {
           "Name": "codes",
           "Type": "array<int>"
       },
       {
           "Name": "command",
           "Type": "string"
       },
       {
           "Name": "type",
           "Type": "string"
       },
       {
           "Name": "kernel",
           "Type": "struct<name:string,type:string,type_id:int>"
       },
       {
           "Name": "http_response",
           "Type": "struct<code:int,status:string,http_headers:array<struct<name:string,value:string>>>"
       },
       {
           "Name": "http_request",
           "Type": "struct<url:struct<scheme:string,path:string,hostname:string,query_string:string,category_ids:array<int>,resource_type:string,subdomain:string,url_string:string>,user_agent:string,http_headers:array<struct<name:string,value:string>>>"
       },
       {
           "Name": "tls",
           "Type": "struct<version:string,certificate:struct<subject:string,issuer:string,fingerprints:array<struct<value:string,algorithm:string,algorithm_id:int>>,created_time:bigint,expiration_time:bigint,serial_number:string>,cipher:string,sni:string,certificate_chain:array<string>,client_ciphers:array<string>,ja3s_hash:struct<value:string,algorithm:string,algorithm_id:int>>"
       },
       {
           "Name": "web_resources",
           "Type": "array<struct<name:string,type:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,url_string:string,data:string>>"
       },
       {
           "Name": "http_cookies",
           "Type": "array<struct<name:string,value:string,is_http_only:boolean,is_secure:boolean,samesite:string,expiration_time_dt:string,path:string>>"
       },
       {
           "Name": "type_id",
           "Type": "int"
       },
       {
           "Name": "databucket",
           "Type": "struct<name:string,type:string,file:struct<attributes:int,name:string,owner:struct<name:string,type:string,uid:string,type_id:int,account:struct<type:string,uid:string,type_id:int>,ldap_person:struct<email_addrs:array<string>,modified_time:bigint,modified_time_dt:string>,risk_score:int>,size:bigint,type:string,path:string,modifier:struct<name:string,type:string,uid:string,groups:array<struct<name:string,domain:string,desc:string,uid:string>>,type_id:int>,type_id:int,parent_folder:string,created_time:bigint,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,accessed_time_dt:string>,uid:string,groups:array<struct<name:string,type:string,uid:string>>,type_id:int,data_classification:struct<category:string,category_id:int,confidentiality:string,policy:struct<version:string,uid:string,is_applied:boolean>>,modified_time_dt:string,created_time_dt:string>"
       },
       {
           "Name": "table",
           "Type": "struct<uid:string,created_time_dt:string>"
       },
       {
           "Name": "session",
           "Type": "struct<count:int,uid:string,uuid:string,issuer:string,created_time:bigint,is_remote:boolean,is_vpn:boolean,uid_alt:string>"
       },
       {
           "Name": "certificate",
           "Type": "struct<version:string,uid:string,subject:string,issuer:string,fingerprints:array<struct<value:string,algorithm:string,algorithm_id:int>>,created_time:bigint,expiration_time:bigint,serial_number:string>"
       },
       {
           "Name": "is_mfa",
           "Type": "boolean"
       },
       {
           "Name": "logon_type_id",
           "Type": "int"
       },
       {
           "Name": "auth_protocol_id",
           "Type": "int"
       },
       {
           "Name": "logon_type",
           "Type": "string"
       },
       {
           "Name": "is_remote",
           "Type": "boolean"
       },
       {
           "Name": "is_cleartext",
           "Type": "boolean"
       },
       {
           "Name": "auth_protocol",
           "Type": "string"
       },
       {
           "Name": "is_renewal",
           "Type": "boolean"
       },
       {
           "Name": "lease_dur",
           "Type": "int"
       },
       {
           "Name": "relay",
           "Type": "struct<name:string,type:string,ip:string,mac:string,namespace:string,type_id:int>"
       },
       {
           "Name": "transaction_uid",
           "Type": "string"
       },
       {
           "Name": "file_result",
           "Type": "struct<name:string,size:int,type:string,path:string,desc:string,product:struct<name:string,version:string,uid:string,lang:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,vendor_name:string>,type_id:int,creator:struct<name:string,type:string,domain:string,uid:string,org:struct<name:string,uid:string,ou_name:string>,groups:array<struct<name:string,uid:string,desc:string>>,type_id:int,risk_level:string>,parent_folder:string,confidentiality:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,modified_time:bigint>"
       },
       {
           "Name": "file_diff",
           "Type": "string"
       },
       {
           "Name": "create_mask",
           "Type": "string"
       },
       {
           "Name": "web_resources_result",
           "Type": "array<struct<type:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,url_string:string>>"
       },
       {
           "Name": "app",
           "Type": "struct<name:string,version:string,uid:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,url_string:string,vendor_name:string>"
       },
       {
           "Name": "src_url",
           "Type": "string"
       },
       {
           "Name": "priority_id",
           "Type": "int"
       },
       {
           "Name": "verdict",
           "Type": "string"
       },
       {
           "Name": "desc",
           "Type": "string"
       },
       {
           "Name": "verdict_id",
           "Type": "int"
       },
       {
           "Name": "priority",
           "Type": "string"
       },
       {
           "Name": "finding_info_list",
           "Type": "array<struct<title:string,uid:string,attacks:array<struct<version:string,tactics:array<struct<name:string,uid:string>>,technique:struct<name:string,uid:string>>>,analytic:struct<name:string,type:string,uid:string,type_id:int>,created_time:bigint,src_url:string,last_seen_time_dt:string,created_time_dt:string,related_analytics:array<struct<name:string,type:string,uid:string,category:string,type_id:int>>,related_events:array<struct<type:string,uid:string,type_name:string,type_uid:bigint,kill_chain:array<struct<phase:string,phase_id:int>>>>,modified_time_dt:string>>"
       },
       {
           "Name": "expiration_time_dt",
           "Type": "string"
       },
       {
           "Name": "expiration_time",
           "Type": "bigint"
       },
       {
           "Name": "comment",
           "Type": "string"
       },
       {
           "Name": "entity",
           "Type": "struct<data:string,name:string,version:string,uid:string>"
       },
       {
           "Name": "entity_result",
           "Type": "struct<data:string,name:string,type:string,version:string,uid:string>"
       },
       {
           "Name": "module",
           "Type": "struct<type:string,file:struct<name:string,type:string,path:string,desc:string,type_id:int,company_name:string,creator:struct<name:string,type:string,domain:string,groups:array<struct<name:string,uid:string>>,type_id:int,risk_level:string>,parent_folder:string,data_classification:struct<confidentiality:string,confidentiality_id:int>,xattributes:string>,base_address:string,function_name:string,load_type:string,load_type_id:int,start_address:string>"
       },
       {
           "Name": "exit_code",
           "Type": "int"
       },
       {
           "Name": "injection_type",
           "Type": "string"
       },
       {
           "Name": "injection_type_id",
           "Type": "int"
       },
       {
           "Name": "request",
           "Type": "struct<uid:string>"
       },
       {
           "Name": "response",
           "Type": "struct<error:string,code:int,message:string,error_message:string>"
       },
       {
           "Name": "driver",
           "Type": "struct<file:struct<name:string,type:string,version:string,path:string,type_id:int,parent_folder:string,created_time:bigint,data_classification:struct<confidentiality:string,confidentiality_id:int,policy:struct<name:string,version:string,uid:string,is_applied:boolean>>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,security_descriptor:string,created_time_dt:string>>"
       },
       {
           "Name": "prev_security_states",
           "Type": "array<string>"
       },
       {
           "Name": "security_states",
           "Type": "array<string>"
       },
       {
           "Name": "folder",
           "Type": "struct<name:string,type:string,path:string,desc:string,type_id:int,mime_type:string,parent_folder:string,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,security_descriptor:string,accessed_time_dt:string>"
       },
       {
           "Name": "url",
           "Type": "struct<port:int,scheme:string,path:string,hostname:string,query_string:string,resource_type:string,url_string:string>"
       },
       {
           "Name": "tunnel_type_id",
           "Type": "int"
       },
       {
           "Name": "tunnel_type",
           "Type": "string"
       },
       {
           "Name": "protocol_name",
           "Type": "string"
       },
       {
           "Name": "job",
           "Type": "struct<name:string,file:struct<name:string,type:string,path:string,signature:struct<certificate:struct<version:string,subject:string,issuer:string,fingerprints:array<struct<value:string,algorithm:string,algorithm_id:int>>,created_time:bigint,expiration_time:bigint,serial_number:string>,algorithm:string,algorithm_id:int,developer_uid:string>,type_id:int,parent_folder:string,confidentiality:string,confidentiality_id:int,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,hashes:array<struct<value:string,algorithm:string,algorithm_id:int>>,security_descriptor:string>,desc:string,cmd_line:string,created_time:bigint,last_run_time:bigint,next_run_time:bigint,run_state:string,run_state_id:int>"
       },
       {
           "Name": "num_trusted_items",
           "Type": "int"
       },
       {
           "Name": "command_uid",
           "Type": "string"
       },
       {
           "Name": "num_registry_items",
           "Type": "int"
       },
       {
           "Name": "num_network_items",
           "Type": "int"
       },
       {
           "Name": "schedule_uid",
           "Type": "string"
       },
       {
           "Name": "num_resolutions",
           "Type": "int"
       },
       {
           "Name": "scan",
           "Type": "struct<name:string,type:string,type_id:int>"
       },
       {
           "Name": "num_detections",
           "Type": "int"
       },
       {
           "Name": "num_processes",
           "Type": "int"
       },
       {
           "Name": "num_files",
           "Type": "int"
       },
       {
           "Name": "total",
           "Type": "int"
       },
       {
           "Name": "num_folders",
           "Type": "int"
       },
       {
           "Name": "dce_rpc",
           "Type": "struct<command:string,flags:array<string>,command_response:string,opnum:int,rpc_interface:struct<version:string,uuid:string,ack_reason:int,ack_result:int>>"
       },
       {
           "Name": "share",
           "Type": "string"
       },
       {
           "Name": "client_dialects",
           "Type": "array<string>"
       },
       {
           "Name": "open_type",
           "Type": "string"
       },
       {
           "Name": "tree_uid",
           "Type": "string"
       },
       {
           "Name": "share_type_id",
           "Type": "int"
       },
       {
           "Name": "share_type",
           "Type": "string"
       },
       {
           "Name": "dialect",
           "Type": "string"
       },
       {
           "Name": "cis_benchmark_result",
           "Type": "struct<name:string>"
       },
       {
           "Name": "vulnerabilities",
           "Type": "array<struct<references:array<string>,severity:string,affected_packages:array<struct<name:string,version:string,architecture:string,path:string,release:string,package_manager:string>>,cve:struct<type:string,uid:string,references:array<string>,created_time:bigint,cvss:array<struct<version:string,depth:string,base_score:double,vector_string:string,severity:string,overall_score:double>>,epss:struct<version:string,created_time:bigint,score:string>,title:string,desc:string,cwe_url:string>,cwe:struct<uid:string,caption:string,src_url:string>,kb_articles:array<string>,kb_article_list:array<struct<os:struct<name:string,type:string,country:string,type_id:int,lang:string,edition:string,sp_name:string,cpe_name:string,build:string,sp_ver:int>,title:string,product:struct<name:string,version:string,feature:struct<name:string,version:string,uid:string>,url_string:string,vendor_name:string>,uid:string,severity:string,created_time:bigint,is_superseded:boolean,classification:string>>,related_vulnerabilities:array<string>,vendor_name:string>>"
       },
       {
           "Name": "service",
           "Type": "struct<name:string,uid:string>"
       },
       {
           "Name": "data_security",
           "Type": "struct<category:string,pattern_match:string,category_id:int,confidentiality:string,confidentiality_id:int,data_lifecycle_state:string,data_lifecycle_state_id:int,detection_system:string,detection_system_id:int,policy:struct<name:string,version:string,group:struct<type:string,uid:string>,desc:string,uid:string>>"
       },
       {
           "Name": "database",
           "Type": "struct<name:string,type:string,uid:string,type_id:int,data_classification:struct<category:string,category_id:int,confidentiality:string,confidentiality_id:int>,modified_time:bigint>"
       }
   ]
   ```

### 在 Security Lake 中创建自定义来源
<a name="security-lake-create-security-lake-custom-source"></a>

1. 导航到 Amazon Security Lake 控制台。

1. 在导航窗格中选择**自定义来源**。

1. 选择**创建自定义源**。

1. 为自定义源输入名称，然后选择适用的 OCSF 事件类别。
**注意**  
AppFabric 使用 “**帐户更改**”、“**身份验证**”、“**用户访问管理**”、“**组管理**”、“**Web 资源活动**” 和 “**Web 资源访问活动**” 事件类。

1. 对于 **AWS 账户 ID** 和**外部 ID**，请输入您的 AWS 账户 ID。然后选择 **Create**。

1. 保存自定义源的 Amazon S3 位置。您将使用它来设置 Amazon Data Firehose 传送流。

### 在 Firehose 中创建传送流
<a name="security-lake-create-kinesis-data-firehose"></a>

1. 导航到亚马逊 Data Firehose 控制台。

1. 选择**创建传输流**。

1. 对于**来源**，选择**直接 PUT**。

1. 对于**目标**，选择 **S3**。

1. 在**转换记录**部分，选择**启用记录格式转换**，然后选择 **Apache Parquet** 作为输出格式。

1. 对于**AWS Glue 表**，请选择您在上一个过程中创建的 AWS Glue 表，然后选择最新版本。

1. 对于**目标设置**，请选择您使用 Security Lake 自定义源创建的 Amazon S3 存储桶。

1. 对于**动态分区**，请选择**启用**。

1. 要进行 **JSON 的内联解析**，请选择**启用**。
   + 对于 **Keyname**，输入 `eventDayValue`。
   + 对于 **JQ 表达式**，输入 `(.time/1000)|strftime("%Y%m%d")`。

1. 对于 **S3 存储桶前缀**，输入以下值。

   ```
   ext/<custom source name>/region=<region>/accountId=<account_id>/eventDay=!{partitionKeyFromQuery:eventDayValue}/
   ```

   将*<custom source name>**<region>*、*<account\$1id>*替换为您的 Security Lake 自定义来源名称 AWS 区域 和 AWS 账户 ID。

1. 对于 **S3 存储桶错误输出前缀**，请输入以下值。

   ```
   ext/AppFabric/error/
   ```

1. 对于**重试持续时间**，请选择 **300**。

1. 对于**缓冲区大小**，请选择 **128 MiB**。

1. 对于**缓冲区间隔**，请选择 **60 秒**。

1. 完成 Firehose 交付流的创建过程。

### 创建 AppFabric 摄取
<a name="security-lake-create-appfabric-ingestions"></a>

要将数据发送到 Amazon Security Lake，您必须在 AppFabric控制台中创建一个提取，使用您之前创建的 Firehose 传输流作为输出位置。有关将 AppFabric 提取配置为使用 Firehose 作为输出位置的更多信息，请参阅[创建](prerequisites.md#create-output-location)输出位置。

# Singularity Cloud
<a name="singularity-cloud-security"></a>

该Singularity Cloud平台可保护您的企业在各个阶段免受所有类别的威胁。其获得专利的人工智能（人工智能）将安全性从已知的签名和模式扩展到最复杂的攻击，例如未修补的漏洞和勒索软件。

## AWS AppFabric 审计日志提取注意事项
<a name="singularity-cloud-security-ingestion-considerations"></a>

以下各节描述了要与一起使用的 AppFabric 输出架构、输出格式和输出目的地Singularity Cloud。

### 架构和格式
<a name="singularity-cloud-security-schema-format"></a>

Singularity Cloud支持以下 AppFabric 输出架构和格式：

OCSF-JSON：使用开放网络安全架构框架 (OCSF) 对数据进行 AppFabric 标准化并以 JSON 格式输出数据。

### 输出位置
<a name="singularity-cloud-security-output-locations"></a>

Singularity Cloud支持从以下 AppFabric 输出位置接收审核日志。
+ Amazon Simple Storage Service（Amazon S3）
  + Singularity Cloud要配置为从包含您的审计日志的 Amazon S3 存储桶接收数据，请按照Singularity Cloud’s文档中的说明进行操作。

# Splunk
<a name="splunk"></a>

Splunk 有助于提高组织弹性。领先的组织使用 Splunk 的统一的安全和可观测性平台来确保其数字系统的安全性和可靠性。组织依赖 Splunk 来防止安全、基础设施和应用程序问题变成重大事件，吸收数字颠覆带来的冲击，并加速数字化转型。

## AWS AppFabric 审核日志摄取注意事项
<a name="splunk-ingestion-considerations"></a>

以下各节描述了要与一起使用的 AppFabric 输出架构、输出格式和输出目的地Splunk。

### 架构和格式
<a name="splunk-schema-format"></a>

Splunk 支持以下 AppFabric 输出架构和格式：
+ Raw - JSON
  + AppFabric 以 JSON 格式输出源应用程序使用的原始架构中的数据。
+ OCSF - JSON
  + AppFabric 使用开放网络安全架构框架 (OCSF) 对数据进行标准化并以 JSON 格式输出数据。
+ OCSF - Parquet
  + AppFabric 使用开放网络安全架构框架 (OCSF) 对数据进行标准化并以该格式输出数据。Apache Parquet

### 输出位置
<a name="splunk-output-locations"></a>

Splunk支持以下 AppFabric 输出位置：
+ Amazon Data Firehose
  + Splunk要配置为从包含您的审核日志的 Firehose 流中接收审核日志，请按照网站上的[亚马逊数据 Firehose Splunk 附加组件](https://docs.splunk.com/Documentation/AddOns/released/Firehose/ConfigureFirehose)中的说明进行操作。Splunk
+ Amazon Simple Storage Service（Amazon S3）
  + 要把 Splunk 配置为从包含您的审核日志的 Amazon S3 存储桶接收数据，请按照 Splunk 网站上[为 AWS的 Splunk 插件配置基于 SQS 的 S3 输入](https://docs.splunk.com/Documentation/AddOns/released/AWS/SQS-basedS3)中的说明进行操作。

# AWS AppFabric 为安全资源删除
<a name="delete-resources"></a>

为了安全起见，如果您不想继续使用 AWS AppFabric ，请务必删除您在设置期间创建的输出位置中的数据以及 AppFabric 用于安全资源的输出位置中的数据，以免产生额外费用。**要清理 AppFabric 资源，必须按照为每个软件即服务 (SaaS) 应用程序创建资源的顺序相反地删除资源：**摄取目标** > 接入 > 应用程序授**权** > **应用程序**捆绑包**

删除最终的应用程序授权后，您可以删除应用程序捆绑包。

**Topics**
+ [删除摄取目标](#delete-ingestion-destinations)
+ [删除摄取](#delete-ingestions)
+ [删除应用程序授权](#delete-app-authorizations)
+ [删除应用程序捆绑包](#delete-app-bundles)

## 删除摄取目标
<a name="delete-ingestion-destinations"></a>

如果您在创建摄取时选择输出位置，则 AppFabric 出于安全考虑，会代表您创建接收目的地。要删除摄取目标，请按照以下步骤进行操作：

1. 打开 AppFabric 控制台，网址为[https://console.aws.amazon.com/appfabric/](https://console.aws.amazon.com/appfabric/)。

1. 在**入门**页面中，展开左侧的菜单。

1. 选择**摄取**。

1. 选择应用程序授权。

1. 选择要删除的目标旁边的选项按钮，然后选择**删除**。

1. 在删除目标对话框中选择**删除**进行确认。

1. 对所有目标重复上述步骤。

## 删除摄取
<a name="delete-ingestions"></a>

要删除摄取，请遵循以下步骤：

1. 在**入门**页面中，展开左侧的菜单。

1. 选择**摄取**。

1. 选择您的应用程序授权旁边的选项按钮。

1. 从**操作**下拉菜单中选择 。

1. 选择**删除**。

1. 在删除摄取对话框中选择**删除**进行确认。

## 删除应用程序授权
<a name="delete-app-authorizations"></a>

要删除应用程序授权，请按照以下步骤进行操作：

1. 在**入门**页面中，展开左侧的菜单。

1. 选择**应用程序授权**。

1. 选择要删除的应用程序授权旁边的选项按钮。

1. 从**操作**下拉菜单中选择 。

1. 选择**删除**。

1. 在删除摄取对话框中选择**删除**进行确认。

## 删除应用程序捆绑包
<a name="delete-app-bundles"></a>

要删除您的应用程序捆绑包，请遵循以下步骤：

1. 在**入门**页面中，展开左侧的菜单。

1. 选择**应用程序捆绑包**。

1. 选择**删除**按钮。

1. 键入 `delete` 进行确认，然后选择**删除**。