View a markdown version of this page

Verwaltetes Signieren - Amazon ECR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwaltetes Signieren

Das von Amazon ECR verwaltete Signieren signiert Ihre Container-Images automatisch, indem es mithilfe von AWS Signer kryptografische Signaturen generiert, wenn Bilder an Amazon ECR übertragen werden. Dadurch entfällt die Notwendigkeit, clientseitige Tools zu installieren und zu konfigurieren, und Sie können das Signieren als Registrierungskonfiguration zentral steuern.

Voraussetzungen

Um verwaltetes Signieren zu konfigurieren, erstellen Sie eine Signaturkonfiguration mit Amazon ECR, die auf ein oder mehrere Signer-Signaturprofile und optional auf Repository-Filter verweist, die einschränken, in welchen Repositorys ihre Images signiert werden sollen. Nach der Konfiguration signiert Amazon ECR Managed Signing Bilder automatisch, wenn sie übertragen werden. Dabei wird die Identität der Entität verwendet, die das Bild überträgt.

Bevor Sie verwaltetes Signieren konfigurieren können, müssen Sie über Folgendes verfügen:

  • Ein Signaturprofil für Unterzeichner — Erstellen Sie mindestens ein Signaturprofil für Unterzeichner. Ein AWS Signaturprofil ist eine einzigartige Ressource für Unterzeichner, die Sie verwenden können, um Signaturvorgänge in Amazon ECR durchzuführen. Mit Signaturprofilen können Sie Code-Artefakte wie Container-Images und AWS Lambda Bereitstellungspakete signieren und verifizieren. Jedes Signaturprofil gibt die Signierplattform an, für die signiert werden soll, eine Plattform-ID und andere plattformspezifische Informationen. Ein ARN für ein Signaturprofil sieht beispielsweise so aus:. arn:partition:signer:region:account-id:/signing-profiles/profile-name

  • IAM-Berechtigungen — Der IAM-Principal, der das Image überträgt, muss über die erforderlichen IAM-Berechtigungen verfügen, um auf das entsprechende Signer-Signaturprofil und das entsprechende ECR-Repository zuzugreifen. Sie müssen die identitätsbasierte Richtlinie für den IAM-Prinzipal so ändern, dass sie Berechtigungen sowohl für ECR-Repository-Operationen als auch für Signer-Signaturvorgänge enthält. Die folgende Beispielrichtlinie zeigt die erforderlichen Berechtigungen:

{ "Version": "2012-10-17", "Statement": [ { "Sid":"UploadSignaturePermissions", "Effect":"Allow", "Action":[ "ecr:CompleteLayerUpload", "ecr:UploadLayerPart", "ecr:InitiateLayerUpload", "ecr:BatchCheckLayerAvailability", "ecr:PutImage" ], "Resource":"arn:aws:ecr:region:account-id:repository/repository-name" }, { "Sid": "SignPermissions", "Effect": "Allow", "Action": [ "signer:SignPayload" ], "Resource": "arn:aws:signer:region:account-id:/signing-profiles/signing-profile-name" } ] }

Mit der von Amazon ECR verwalteten Signatur können Sie mehrere Signaturregeln (bis zu 10 pro Registrierung) erstellen, um stärkere Sicherheitsgrenzen zu schaffen. Beispielsweise könnten Sie mehrere Build-Pipelines ausführen und möchten einschränken, welche Repositorys jede Pipeline signieren kann. In jeder Regel konfigurieren Sie ein Signaturprofil und geben Filter für Repository-Namen an. Wenn ein neues Image übertragen wird, stimmt Amazon ECR ab, welche Signaturregel und welches Signaturprofil das Image signieren können. Wenn mehrere Treffer vorliegen, generiert Amazon ECR mehrere Signaturen.

Anmerkung

Wenn Sie Signaturen manuell verifizieren, müssen Sie trotzdem die Notation CLI installieren.

Anmerkung

Das von Amazon ECR verwaltete Signieren ist in allen AWS Regionen verfügbar, in denen das Signieren von Container-Images mit AWS Signer verfügbar ist.

Erste Schritte

Folgen Sie diesen Schritten, um verwaltetes Signieren zu konfigurieren. Sie stellen Amazon ECR einen Verweis auf ein Signaturprofil für Unterzeichner und optional Filter zur Verfügung, die einschränken, in welchen Repositorys ihre Bilder signiert werden sollen.

AWS-Managementkonsole

Gehen Sie wie folgt vor, um das verwaltete Signieren mithilfe von zu konfigurieren. AWS-Managementkonsole

  1. Öffnen Sie die Amazon ECR-Konsole. Wählen Sie im linken Navigationsbereich Private Registrierung, Funktionen und Einstellungen , Verwaltetes Signieren aus.

  2. Wählen Sie auf der Seite Signaturregeln die Option Regel erstellen aus.

  3. Wählen Sie auf der Seite AWS Signaturprofil unter Wählen Sie ein Unterzeichnerprofil aus die Option Neues AWS Unterzeichnerprofil erstellen aus, geben Sie einen Profilnamen ein und ändern Sie optional den Gültigkeitszeitraum der Signatur. Wählen Sie dann Weiter aus.

  4. Geben Sie auf der Seite Filter unter Repositorys auswählen einen Filter für Repository-Namen ein. Wählen Sie dann Weiter aus.

  5. Überprüfen Sie auf der Seite Überprüfen und erstellen das AWS Unterzeichnerprofil und den Repository-Namen, den Sie eingegeben haben. Wenn alles korrekt aussieht, wählen Sie Speichern aus.

AWS CLI

Verwenden Sie die folgenden AWS CLI Befehle, um verwaltetes Signieren zu konfigurieren.

  • Erstellen Sie eine Signaturregel

    Erstellen Sie eine Signaturkonfiguration mit Ihrem Signierprofil-ARN. Erstellen Sie eine JSON-Datei mit folgendem Inhalt:

    { "rules": [ { "signingProfileArn": "arn:aws:signer:region:account-id:/signing-profiles/profile-name", "repositoryFilters": [ { "filter": "test*", "filterType": "WILDCARD_MATCH" } ] } ] }

    Führen Sie anschließend den folgenden Befehl aus:

    aws ecr --region region \ put-signing-configuration \ --signing-configuration file://signing-config.json

    Sie sollten die API-Antwort sehen, die die Signaturkonfiguration enthält.

  • Sehen Sie sich Ihre Signaturkonfiguration an

    Rufen Sie Ihre Signaturkonfiguration ab:

    aws ecr --region region \ get-signing-configuration

    Sie sollten die API-Antwort sehen, die die Signaturkonfiguration enthält.

  • Überprüfen Sie den Status der Bildsignierung

    Schieben Sie ein Bild in Ihr Repository. Beispiel:

    docker pull ubuntu IMAGE_NAME="account-id.dkr.ecr.region.amazonaws.com/repository-name" IMAGE_TAG="${IMAGE_NAME}:test-1" docker tag ubuntu $IMAGE_TAG docker push $IMAGE_TAG

    Verwende nach dem Push dein Image-Tag, um den Signaturstatus zu überprüfen:

    aws ecr --region region \ describe-image-signing-status \ --repository-name repository-name \ --image-id imageTag=test-1

    Wenn der Repository-Name mit deinem Repository-Filter übereinstimmt, der in der Signaturkonfiguration definiert ist, solltest du den Signaturstatus in der API-Antwort sehen. Wenn der Status erfolgreich ist, solltest du sehen, dass eine Signatur an dein Repository gesendet wird.

  • Lösche deine Signaturkonfiguration

    Löschen Sie Ihre Signaturkonfiguration:

    aws ecr --region region \ delete-signing-configuration

    Sie sollten die API-Antwort sehen, die die gelöschte Signaturkonfiguration enthält.

Überlegungen

Die folgenden Einschränkungen und Funktionen gelten für verwaltetes Signieren:

  • Cross-region Signieren wird nicht unterstützt — Signaturprofile müssen sich in derselben Region wie Ihre Amazon ECR-Registrierung befinden. Sie können kein Signaturprofil aus einer Region verwenden, um Bilder in einer Registrierung in einer anderen Region zu signieren.

  • Cross-account Signieren wird unterstützt — Das Signieren von Profilen kann sich in anderen Konten als Ihrer Amazon ECR-Registrierung befinden. Auf diese Weise können Unternehmen Signaturprofile zentral verwalten und gleichzeitig Entwicklern in anderen Konten ermöglichen, sie zu verwenden. Weitere Informationen finden Sie im AWS Signer Entwicklerhandbuch unter Kontoübergreifendes Signieren für Signer https://docs.aws.amazon.com/signer/latest/developerguide/signing-profile-cross-account.html einrichten.

  • Signaturen können nicht signiert werden — Sie können Signaturen nicht selbst signieren. Nur Container-Images können signiert werden.