Je n'ai jamais utilisé la fonction scan d'ECR, donc je l'ai fait avec CDK
Comme indiqué ci-dessous, vous pouvez utiliser la fonction d'analyse automatique en ajoutant simplement image_scan_on_push à l'argument de Repository. CDK pratique
from aws_cdk import (
aws_ecr as ecr,
core,
)
repository = ecr.Repository(self, "Repo",
image_scan_on_push=True
)
Après avoir exécuté ce qui précède, ECR et ECRImageScanOnPush sont terminés.
$ cdk diff repo
...
Resources
[+] AWS::ECR::Repository Repo Repo02AC86CF
[+] Custom::ECRImageScanOnPush Repo/ImageScanOnPush/Resource RepoImageScanOnPush94CFD98F
[+] AWS::IAM::Role AWS679f53fac002430cb0da5b7982bd2287/ServiceRole AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2
[+] AWS::IAM::Policy AWS679f53fac002430cb0da5b7982bd2287/ServiceRole/DefaultPolicy AWS679f53fac002430cb0da5b7982bd2287ServiceRoleDefaultPolicyD28E1A5E
[+] AWS::Lambda::Function AWS679f53fac002430cb0da5b7982bd2287 AWS679f53fac002430cb0da5b7982bd22872D164C4C
...
Lorsque j'ai vérifié auprès de la CLI si cela avait été réellement fait, j'ai pu confirmer qu'il était certainement fait Il comprenait également les paramètres de numérisation d'image
$ aws --region us-east-1 ecr describe-repositories | jq .
{
"repositories": [
{
"repositoryArn": "arn:aws:ecr:us-east-1:000000000000:repository/repo-repo0-ny7qkwdk6aru",
"registryId": "000000000000",
"repositoryName": "repo-repo0-ny7qkwdk6aru",
"repositoryUri": "000000000000.dkr.ecr.us-east-1.amazonaws.com/repo-repo0-ny7qkwdk6aru",
"createdAt": 1589559800,
"imageTagMutability": "MUTABLE",
"imageScanningConfiguration": {
"scanOnPush": true
}
}
]
}
J'ai terminé ce que je veux faire ci-dessus, mais lorsque j'ai créé la ressource, quelque chose d'autre que ECR a été créé comme indiqué ci-dessous. Vérifions si cela est également fait
[+] AWS::IAM::Role AWS679f53fac002430cb0da5b7982bd2287/ServiceRole AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2
[+] AWS::IAM::Policy AWS679f53fac002430cb0da5b7982bd2287/ServiceRole/DefaultPolicy AWS679f53fac002430cb0da5b7982bd2287ServiceRoleDefaultPolicyD28E1A5E
[+] AWS::Lambda::Function AWS679f53fac002430cb0da5b7982bd2287 AWS679f53fac002430cb0da5b7982bd22872D164C4C
Tout d'abord, Lambda, mais il n'y avait aucune ressource écrite comme AWS
$ aws --region us-east-1 lambda list-functions | jq .Functions[].FunctionName | grep AWS
$
Vient ensuite le rôle IAM, mais ce n'est pas non plus disponible Je n'ai donc pas pu trouver la stratégie IAM associée.
$ aws --region us-east-1 iam list-roles | jq .Roles[].RoleName | grep AWS679f53fac002430cb0da5b7982bd2287
$
En d'autres termes, je pense qu'il y a des ressources du côté AWS plutôt que des ressources qui peuvent être définies et confirmées du côté de l'utilisateur. Je pense que ce sera probablement Lambda et son rôle IAM lors de la numérisation de l'ECR. Je pense que cela sera bientôt corrigé, mais je me sentais un peu familier avec l'intérieur d'AWS.
Recommended Posts