in src/aspect.ts [47:72]
protected crossAccountECRPolicy(stack: Stack, repoName: string): Policy {
const policy = ECRRepositoryAspect._repoPolicies.get(repoName);
if (policy) { return policy; }
const newPolicy = new Policy(stack, `CrossAccountECR-${repoName}`, {
statements: [
new PolicyStatement({
actions: [
'ecr:BatchCheckLayerAvailability',
'ecr:GetDownloadUrlForLayer',
'ecr:BatchGetImage',
],
resources: [
Arn.format({
account: this.account,
service: 'ecr',
resource: 'repository',
resourceName: repoName,
}, stack),
],
}),
],
});
ECRRepositoryAspect._repoPolicies.set(repoName, newPolicy);
return newPolicy;
}