步骤 1:授权应用程序将数据发送到 Amazon - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

步骤 1:授权应用程序将数据发送到 Amazon

您有四种方式来设置数据验证:

  • 使用 Amazon Cognito 并让 CloudWatch RUM 为应用程序创建新的 Amazon Cognito 身份池。这是最简单的设置方法。

    身份池将包含未经验证的身份。这允许 CloudWatch RUM Web 客户端将数据发送到 CloudWatch RUM,而无需对应用程序的用户进行身份验证。

    Amazon Cognito 身份池具有附加的 IAM 角色。Amazon Cognito 未经验证的身份允许 Web 客户端担任 IAM 角色,此角色已获得授权,可向 CloudWatch RUM 发送数据。

  • 使用 Amazon Cognito 进行身份验证。如果您使用此方式,则可以使用现有的 Amazon Cognito 身份池,或者创建一个新的身份池以用于此应用程序监测仪。如果您使用现有身份池,还必须修改附加到身份池的 IAM 角色。对于支持未经身份验证用户的身份池,请使用此选项。您只能使用同一区域中的身份池。

  • 使用已设置的现有身份提供商的身份验证。在这种情况下,您必须从身份提供商处获取凭证,并且应用程序必须将这些凭证转发到 RUM Web 客户端。

    对于仅支持经身份验证用户的身份池,请使用此选项。

  • 使用基于资源的策略来管理对应用程序监测仪的访问。这包括无需 Amazon 凭证即可向 CloudWatch RUM 发送未经身份验证的请求。要了解基于资源的策略和 RUM 的更多信息,请参阅将基于资源的策略与 CloudWatch RUM 结合使用

以下各节包含了这些选项的更多详细信息。

使用现有的 Amazon Cognito 身份池

如果您选择使用 Amazon Cognito 身份池,则需要在将应用程序添加到 CloudWatch RUM 时指定身份池。身份池必须支持访问未经验证的身份。您只能使用同一区域中的身份池。

您还必须将以下权限添加到已附加到与此身份池关联的 IAM 角色的 IAM 策略。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rum:PutRumEvents", "Resource": "arn:aws:rum:[region]:[accountid]:appmonitor/[app monitor name]" } ] }

Amazon Cognito 会发送必要的安全令牌,以确保应用程序能够访问 CloudWatch RUM。

第三方提供商

如果您选择使用第三方提供商的私有身份验证,则必须从身份提供商处获取凭证并将其转发到 Amazon。执行此操作的最佳方法是使用安全令牌供应商。您可以使用任意安全令牌供应商,包括使用 Amazon Security Token Service 的 Amazon Cognito。有关 Amazon STS 的更多信息,请参阅欢迎使用 Amazon Security Token Service API 参考

如果您想在这种情况下使用 Amazon Cognito 作为令牌供应商,则可以配置 Amazon Cognito,以与身份验证提供商结合使用。有关更多信息,请参阅 Amazon Cognito 身份池入门(联合身份)

配置 Amazon Cognito 以与身份提供商结合使用后,还需要执行以下操作:

  • 创建具有以下权限的 IAM 角色。应用程序将使用该角色访问 Amazon。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rum:PutRumEvents", "Resource": "arn:aws:rum:[region]:[accountID]:appmonitor/[app monitor name]" } ] }
  • 将以下内容添加到应用程序中,让应用程序将提供商的凭证传递给 CloudWatch RUM。插入该行,以便在用户登录到应用程序并且应用程序收到用于访问 Amazon 的凭证后运行。

    cwr('setAwsCredentials', {/* Credentials or CredentialProvider */});

有关 Amazon JavaScript SDK 凭证提供商的更多信息,请参阅 SDK for JavaScript v3 开发者指南中的在 Web 浏览器中设置凭证、SDK for JavaScript v2 开发人员指南中的在 Web 浏览器中设置凭证以及 @aws-sdk/凭证提供商

您还可以使用适用于 CloudWatch RUM Web 客户端的软件开发工具包来配置 Web 客户端身份验证方法。有关 Web 客户端软件开发工具包的更多信息,请参阅 CloudWatch RUM Web 客户端软件开发工具包