Ich habe die Scanfunktion von ECR noch nie verwendet, also habe ich sie mit CDK erstellt
Wie unten gezeigt, können Sie die automatische Scanfunktion verwenden, indem Sie dem Argument von Repository image_scan_on_push hinzufügen. CDK bequem
from aws_cdk import (
aws_ecr as ecr,
core,
)
repository = ecr.Repository(self, "Repo",
image_scan_on_push=True
)
Nach dem Ausführen der obigen Schritte werden ECR und ECRImageScanOnPush abgeschlossen.
$ 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
...
Als ich über die CLI überprüfte, ob es tatsächlich gemacht wurde, konnte ich bestätigen, dass es sicher gemacht wurde Es enthielt auch Einstellungen für den Bildscan
$ 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
}
}
]
}
Ich habe abgeschlossen, was ich oben tun möchte, aber als ich die Ressource erstellt habe, wurde etwas anderes als ECR wie unten gezeigt erstellt. Lassen Sie uns überprüfen, ob dies auch getan wird
[+] AWS::IAM::Role AWS679f53fac002430cb0da5b7982bd2287/ServiceRole AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2
[+] AWS::IAM::Policy AWS679f53fac002430cb0da5b7982bd2287/ServiceRole/DefaultPolicy AWS679f53fac002430cb0da5b7982bd2287ServiceRoleDefaultPolicyD28E1A5E
[+] AWS::Lambda::Function AWS679f53fac002430cb0da5b7982bd2287 AWS679f53fac002430cb0da5b7982bd22872D164C4C
Zunächst Lambda, aber es wurde keine Ressource als AWS geschrieben
$ aws --region us-east-1 lambda list-functions | jq .Functions[].FunctionName | grep AWS
$
Als nächstes kommt die IAM-Rolle, diese ist jedoch auch nicht verfügbar Daher konnte ich die damit verbundene IAM-Richtlinie nicht finden.
$ aws --region us-east-1 iam list-roles | jq .Roles[].RoleName | grep AWS679f53fac002430cb0da5b7982bd2287
$
Mit anderen Worten, ich denke, dass es Ressourcen auf der AWS-Seite gibt und keine Ressourcen, die auf der Benutzerseite festgelegt und bestätigt werden können. Ich denke, es wird wahrscheinlich Lambda und seine IAM-Rolle beim Scannen von ECR sein. Ich denke, es wird bald behoben, aber ich fühlte mich ein wenig mit dem Inneren von AWS vertraut.
Recommended Posts