将基于资源的策略与 CloudWatch RUM 结合使用 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将基于资源的策略与 CloudWatch RUM 结合使用

您可以将资源策略附加到 CloudWatch RUM 应用程序监测仪。默认情况下,应用程序监测仪不会附加资源策略。基于 CloudWatch RUM 资源的策略不支持跨账户访问。

要详细了解 Amazon 资源策略,请参阅基于身份的策略和基于资源的策略

要详细了解如何评估资源策略和身份策略,请参阅策略评估逻辑

要详细了解 IAM 策略语法,请参阅 IAM JSON 策略元素参考

支持的操作

应用程序监测仪上基于资源的策略支持 rum:PutRumEvents 操作。

与 CloudWatch RUM 结合使用的示例策略

以下示例允许任何人将数据写入您的应用程序监测仪,包括那些没有 Sigv4 凭证的用户。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rum:PutRumEvents", "Resource": "arn:aws:rum:us-east-1:123456789012:appmonitor/app monitor name", "Principal": "*" } ] }

您可以使用 aws:SourceIp 条件键来修改策略,以阻止指定的源 IP 地址。在此示例中,使用此策略,将拒绝来自所列 IP 地址的 PutrumEvents。将接受来自其他 IP 地址的所有其他请求。有关此条件键的更多信息,请参阅《IAM 用户指南》中的网络属性

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rum:PutRumEvents", "Resource": "arn:aws:rum:us-east-1:123456789012:appmonitor/AppMonitorName", "Principal": "*" }, { "Effect": "Deny", "Action": "rum:PutRumEvents", "Resource": "arn:aws:rum:us-east-1:123456789012:appmonitor/AppMonitorName", "Principal": "*", "Condition": { "NotIpAddress": { "aws:SourceIp": "198.51.100.252" } } } ] }

此外,您还可以使用 rum:alias 服务上下文键来控制接受哪些请求。

对于 Web 应用程序监视器,必须将 Web 客户端配置为通过版本 1.20 或更高版本的 CloudWatch RUM Web 客户端发送 Alias,如 GitHub 上的 Application-specific Configurations 中所述。

对于移动应用程序监视器,必须根据开发工具包配置埋点。

在以下示例中,资源策略要求请求必须包含 alias1alias2 才能接受事件。

{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowRUMPutEvents", "Effect": "Allow", "Action": "rum:PutRumEvents", "Resource": "arn:aws:rum:us-east-1:123456789012:appmonitor/MyApplication", "Principal": "*", "Condition": { "StringEquals": { "rum:alias":["alias1", "alias2"] } } } ] }