CloudWatch RUM을 사용하는 IAM 정책
CloudWatch RUM을 완벽하게 관리하려면 AmazonCloudWatchRUMFullAccess IAM 정책을 포함하는 IAM 사용자 또는 역할로 로그인해야 합니다. 또한 다음과 같은 다른 정책이나 권한이 필요할 수 있습니다.
권한 부여를 위해 새 Amazon Cognito 자격 증명 풀을 생성하는 앱 모니터를 만들려면 관리자(Admin) IAM 역할 또는 AdministratorAccess IAM 정책이 있어야 합니다.
CloudWatch Logs로 데이터를 전송하는 앱 모니터를 생성하려면 다음 권한을 가진 IAM 역할 또는 정책에 로그온해야 합니다.
{ "Effect": "Allow", "Action": [ "logs:PutResourcePolicy" ], "Resource": [ "*" ] }
앱 모니터에서 JavaScript 소스 맵을 활성화하려면 소스 맵 파일을 Amazon S3 버킷에 업로드해야 합니다. IAM 역할 또는 정책에는 Amazon S3 버킷 생성, 버킷 정책 설정 및 버킷의 파일 관리를 허용하는 특정 Amazon S3 권한이 필요합니다. 보안을 위해 이러한 권한의 범위를 특정 리소스로 지정합니다. 아래 예제 정책은 이름에
rum
이 포함된 버킷에 대한 액세스를 제한하고aws:ResourceAccount
조건 키를 사용하여 권한을 보안 주체 계정만으로 제한합니다.{ "Sid": "AllowS3BucketCreationAndListing", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:ListAllMyBuckets" ], "Resource": "arn:aws:s3:::*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "AllowS3BucketActions", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*rum*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "AllowS3BucketPolicyActions", "Effect": "Allow", "Action": [ "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": "arn:aws:s3:::*rum*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "AllowS3ObjectActions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::*rum*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }
소스 맵 버킷에서 서버 측 암호화에 자체 AWS KMS 키를 사용하려면 IAM 역할 또는 정책에는 키를 생성하고, 키 정책을 업데이트하고, Amazon S3에서 AWS KMS 키를 사용하고, Amazon S3 버킷의 암호화 구성을 설정할 수 있는 특정 AWS KMS 권한이 필요합니다. 보안을 위해 이러한 권한의 범위를 특정 용도로 지정합니다. 아래 예제에서는 특정 리전 및 accountId의 키에 대한 액세스를 제한하고 위의 예제와 유사한 S3 제한을 적용합니다.
{ "Sid": "AllowKMSKeyCreation", "Effect": "Allow", "Action": [ "kms:CreateKey", "kms:CreateAlias" ], "Resource": "*" }, { "Sid": "KMSReadPermissions", "Effect": "Allow", "Action": [ "kms:ListAliases" ], "Resource": "*" }, { "Sid": "AllowUpdatingKeyPolicy", "Effect": "Allow", "Action": [ "kms:PutKeyPolicy", "kms:GetKeyPolicy", "kms:ListKeyPolicies" ], "Resource": "arn:aws:kms:
REGION
:ACCOUNT_ID
:key/*" }, { "Sid": "AllowUseOfKMSKeyForS3", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:REGION
:ACCOUNT_ID
:key/*" }, { "Sid": "AllowS3EncryptionConfiguration", "Effect": "Allow", "Action": [ "s3:PutEncryptionConfiguration", "s3:GetEncryptionConfiguration" ], "Resource": "arn:aws:s3:::*rum*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }
CloudWatch RUM 데이터를 조회해야 하지만 CloudWatch RUM 리소스를 만들 필요는 없는 다른 사용자에게 AmazonCloudWatchRUMReadOnlyAccess 정책을 부여할 수 있습니다.