Políticas do IAM para uso do CloudWatch RUM - Amazon CloudWatch

Políticas do IAM para uso do CloudWatch RUM

Para poder gerenciar totalmente o CloudWatch RUM, você deve estar conectado como um usuário do IAM ou função que tenha uma Política do IAM AmazonCloudWatchRUMFullAccess. Além disso, podem ser necessárias outras políticas ou permissões:

  • Para criar um monitor de aplicações que gere um novo grupo de identidades do Amazon Cognito para autorização, você precisa ter a função do IAM Admin ou a política do IAM AdministratorAccess.

  • Para criar um monitor de aplicações que envie dados para o CloudWatch Logs, você deve estar conectado a uma função ou política do IAM que tenha a seguinte permissão:

    { "Effect": "Allow", "Action": [ "logs:PutResourcePolicy" ], "Resource": [ "*" ] }
  • Para habilitar os mapas de origem do JavaScript em um monitor de aplicação, você precisará fazer upload dos seus arquivos de mapa de origem para um bucket do Amazon S3. Seu perfil ou política do IAM precisa de permissões específicas do Amazon S3 que permitam criar buckets do Amazon S3, definir políticas de bucket e gerenciar arquivos no bucket. Por motivos de segurança, limite essas permissões a recursos específicos. O exemplo de política abaixo restringe o acesso aos buckets que contenham rum em seus respectivos nomes e usa a chave de condição aws:ResourceAccount para limitar as permissões somente à conta da entidade principal.

    { "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}" } } }
  • Para usar suas próprias chaves do AWS KMS para criptografia no lado do servidor em seu bucket de mapas de origem, seu perfil ou política do IAM precisará de permissões específicas do AWS KMS que permitam criar uma chave, atualizar a política de chaves, usar a chave do AWS KMS com o Amazon S3 e definir a configuração de criptografia do seu bucket do Amazon S3. Por motivos de segurança, limite essas permissões a propósitos específicos. O exemplo abaixo restringe o acesso às chaves de uma região e accountId específicos e tem restrições do S3 semelhantes às do exemplo acima.

    { "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}" } } }

Outros usuários que precisam visualizar os dados, mas não necessitam criar recursos do CloudWatch RUM podem receber a política AmazonCloudWatchRUMReadOnlyAccess.