将基于资源的策略与 CloudWatch RUM 结合使用
您可以将资源策略附加到 CloudWatch RUM 应用程序监测仪。默认情况下,应用程序监测仪不会附加资源策略。基于 CloudWatch RUM 资源的策略不支持跨账户访问。
要详细了解 AWS 资源策略,请参阅基于身份的策略和基于资源的策略。
要详细了解如何评估资源策略和身份策略,请参阅策略评估逻辑。
要详细了解 IAM 策略语法,请参阅 IAM JSON 策略元素参考。
支持的操作
应用程序监测仪上基于资源的策略支持 rum:PutRumEvents 操作。
与 CloudWatch RUM 结合使用的示例策略
以下示例允许任何人将数据写入您的应用程序监测仪,包括那些没有 Sigv4 凭证的用户。
您可以使用 aws:SourceIp 条件键来修改策略,以阻止指定的源 IP 地址。在此示例中,使用此策略,将拒绝来自所列 IP 地址的 PutrumEvents。将接受来自其他 IP 地址的所有其他请求。有关此条件键的更多信息,请参阅《IAM 用户指南》中的网络属性。
此外,您还可以使用 rum:alias 服务上下文键来控制接受哪些请求。
对于 Web 应用程序监视器,必须将 Web 客户端配置为通过版本 1.20 或更高版本的 CloudWatch RUM Web 客户端发送 Alias,如 GitHub 上的 Application-specific Configurations
对于移动应用程序监视器,必须根据开发工具包配置埋点。
-
iOS 应用程序使用适用于 OpenTelemetry 的 AWS Distro(ADOT)iOS SDK
。 -
Android 应用程序使用适用于 OpenTelemetry 的 AWS Distro(ADOT)Android SDK
。
在以下示例中,资源策略要求请求必须包含 alias1 或 alias2 才能接受事件。
{ "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"] } } } ] }