-
Notifications
You must be signed in to change notification settings - Fork 4.5k
(synthetics): canary permissions for cloudwatch logging are malformed #18910
Copy link
Copy link
Closed
Labels
@aws-cdk/aws-syntheticsRelated to Amazon CloudWatch SyntheticsRelated to Amazon CloudWatch SyntheticsbugThis issue is a bug.This issue is a bug.effort/smallSmall work item – less than a day of effortSmall work item – less than a day of effortp1
Description
What is the problem?
When creating a canary using @aws-cdk/aws-synthetics-alpha version 2.10.0-alpha.0 and using the default role creation, the permissions allow the canary to run but it doesn't create logs in CloudWatch. I've traced this to the policy that is created around logging, which is generated as follows:
{
"Action": [
"logs:CreateLogStream",
"logs:CreateLogGroup",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:::*",
"Effect": "Allow"
}
The Resource element is missing a region. It can be rectified by adding a more specific policy statement to the cdk code e.g.
canary.role.addToPrincipalPolicy(
new PolicyStatement({
resources: [`arn:aws:logs:eu-west-1:${account ?? ''}:*`],
actions: ['logs:CreateLogStream', 'logs:CreateLogGroup', 'logs:PutLogEvents'],
})
);
Reproduction Steps
const canary = new Canary(this, id, {
canaryName: 'Canary',
schedule: Schedule.rate(Duration.minutes(1)),
test: Test.custom({
code: synthetics.Code.fromAsset(path.join(__dirname, 'canary')),
handler: 'index.handler',
}),
runtime: Runtime.SYNTHETICS_NODEJS_PUPPETEER_3_3,
});
What did you expect to happen?
Canary can create and write to CloudWatch logs with default role permissions
What actually happened?
Canary cannot create or write to CloudWatch logs with default role permissions
CDK CLI Version
2.10.0 (build e5b301f)
Framework Version
No response
Node.js Version
v14.15.5
OS
Mac OS / CodeBuild (same results locally and on CI)
Language
Typescript
Language Version
Typescript (4.2.4)
Other information
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
@aws-cdk/aws-syntheticsRelated to Amazon CloudWatch SyntheticsRelated to Amazon CloudWatch SyntheticsbugThis issue is a bug.This issue is a bug.effort/smallSmall work item – less than a day of effortSmall work item – less than a day of effortp1