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
:accountID
:appmonitor/app monitor name
",
"Principal": "*"
},
{
"Effect": "Deny",
"Action": "rum:PutRumEvents",
"Resource": "arn:aws:rum:us-east-1
:123456789012
:appmonitor/app monitor name
",
"Principal": "*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": "************
"
}
}
}
]
}
さらに、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
"
}
}
}
]
}