CloudWatch RUM でのリソースベースのポリシーの使用
CloudWatch RUM アプリモニターにリソースポリシーをアタッチできます。既定では、アプリケーションモニターにはリソースポリシーがアタッチされていません。CloudWatch RUM リソースベースのポリシーは、クロスアカウントアクセスをサポートしていません。
AWS リソースのポリシーの詳細については、「アイデンティティベースおよびリソースベースのポリシー」を参照してください。
リソースポリシーと ID ポリシーの評価方法の詳細については、「ポリシーの評価論理」を参照してください。
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 サービスコンテキストキーを使用して特定のエイリアスで署名された PutRumEvents リクエストのみを受け入れるように選択することもできます。次の例では、PutRumEvents はイベントを受け入れるには、オプションの Alias リクエストパラメータを alias1または alias2 に設定する必要があります。Alias を送信するようにウェブクライアントを設定するには、GitHub の「アプリケーション固有の設定」で説明されているように、CloudWatch RUM ウェブクライアントのバージョン 1.20 以降を使用する必要があります。
- JSON
-
-
{
"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": {
"aws:SourceAccount": "123456789012"
},
"ArnLike": {
"aws:SourceArn": "arn:aws:rum:us-east-1:123456789012:appmonitor/MyApplication"
}
}
}
]
}