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.
Amazon-ECR-Berechtigungen
Bevor der HealthOmics Service einen Workflow in einem Container aus Ihrem privaten Amazon ECR-Repository ausführen kann, erstellen Sie eine Ressourcenrichtlinie für das Repository. Die Richtlinie erteilt dem HealthOmics Service die Erlaubnis, den Container zu verwenden. Sie fügen diese Ressourcenrichtlinie jedem privaten Repository hinzu, auf das der Workflow verweist.
Anmerkung
Das private Repository und der Workflow müssen sich in derselben Region befinden.
Wenn der Workflow und das Repository von unterschiedlichen AWS Konten verwaltet werden, müssen Sie kontenübergreifende Berechtigungen konfigurieren.
Sie müssen keinen zusätzlichen Repository-Zugriff für gemeinsam genutzte Workflows gewähren. Sie können jedoch Richtlinien erstellen, die bestimmten Workflows den Zugriff auf das Container-Image erlauben oder verweigern.
Um die Amazon ECR-Pull-Through-Cache-Funktion verwenden zu können, müssen Sie eine Registrierungsberechtigungsrichtlinie erstellen.
In den folgenden Abschnitten wird beschrieben, wie Amazon ECR-Ressourcenberechtigungen für diese Szenarien konfiguriert werden. Weitere Informationen zu Berechtigungen in Amazon ECR finden Sie unter Private Registrierungsberechtigungen in Amazon ECR.
Themen
Erstellen Sie eine Ressourcenrichtlinie für das Amazon ECR-Repository
Erstellen Sie eine Ressourcenrichtlinie, damit der HealthOmics Service einen Workflow mithilfe eines Containers im Repository ausführen kann. Die Richtlinie gewährt dem HealthOmics Service Principal die Erlaubnis, auf die erforderlichen Amazon ECR-Aktionen zuzugreifen.
Gehen Sie wie folgt vor, um die Richtlinie zu erstellen:
-
Öffnen Sie die Seite mit den privaten Repositorys
in der Amazon ECR-Konsole und wählen Sie das Repository aus, auf das Sie Zugriff gewähren möchten. -
Wählen Sie in der Seitenleisten-Navigation die Option Berechtigungen aus.
-
Wählen Sie Bearbeiten aus.
-
Wählen Sie Richtlinien-JSON bearbeiten aus.
-
Fügen Sie die folgende Richtlinienerklärung hinzu und wählen Sie dann Speichern aus.
Workflows mit kontenübergreifenden Containern ausführen
Wenn der Workflow und der Container von unterschiedlichen AWS Konten verwaltet werden, müssen Sie die folgenden kontoübergreifenden Berechtigungen konfigurieren:
-
Aktualisieren Sie die Amazon ECR-Richtlinie für das Repository, um dem Konto, das für den Workflow verantwortlich ist, ausdrücklich die Erlaubnis zu erteilen.
-
Aktualisieren Sie die Servicerolle für das Konto, dem der Workflow gehört, um ihm Zugriff auf das Container-Image zu gewähren.
Das folgende Beispiel zeigt eine Amazon ECR-Ressourcenrichtlinie, die Zugriff auf das Konto gewährt, dem der Workflow gehört.
In diesem Beispiel:
-
Workflow-Konto-ID: 111122223333
-
Konto-ID des Container-Repositorys: 444455556666
-
Name des Containers: samtools
Um die Einrichtung abzuschließen, fügen Sie der Servicerolle des Accounts, dem der Workflow gehört, die folgende Richtlinienanweisung hinzu. Die Richtlinie gewährt der Servicerolle die Erlaubnis, auf das Container-Image „samtools“ zuzugreifen. Achten Sie darauf, die Kontonummern, den Container-Namen und die Region durch Ihre eigenen Werte zu ersetzen.
{ "Sid": "CrossAccountEcrRepoPolicy", "Effect": "Allow", "Action": ["ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer"], "Resource": "arn:aws:ecr:us-west-2:444455556666:repository/samtools" }
Amazon ECR-Richtlinien für gemeinsam genutzte Workflows
Anmerkung
HealthOmics ermöglicht einem gemeinsam genutzten Workflow automatisch den Zugriff auf das Amazon ECR-Repository im Konto des Workflow-Besitzers, während der Workflow im Konto des Abonnenten ausgeführt wird. Sie müssen keinen zusätzlichen Repository-Zugriff für gemeinsam genutzte Workflows gewähren. Weitere Informationen finden Sie unter HealthOmics Workflows teilen.
Standardmäßig haben Abonnenten keinen Zugriff auf das Amazon ECR-Repository, um die zugrunde liegenden Container zu verwenden. Optional können Sie den Zugriff auf das Amazon ECR-Repository anpassen, indem Sie der Ressourcenrichtlinie des Repositorys Bedingungsschlüssel hinzufügen. Die folgenden Abschnitte enthalten Beispielrichtlinien.
Beschränken Sie den Zugriff auf bestimmte Workflows
Sie können einzelne Workflows in einer Bedingungserklärung auflisten, sodass nur diese Workflows Container im Repository verwenden können. Der SourceArnBedingungsschlüssel gibt den ARN des gemeinsam genutzten Workflows an. Das folgende Beispiel erteilt dem angegebenen Workflow die Erlaubnis, dieses Repository zu verwenden.
Beschränken Sie den Zugriff auf bestimmte Konten
Sie können Abonnentenkonten in einer Bedingungserklärung auflisten, sodass nur diese Konten berechtigt sind, Container im Repository zu verwenden. Der SourceAccountBedingungsschlüssel gibt den AWS-Konto des Abonnenten an. Das folgende Beispiel erteilt dem angegebenen Konto die Erlaubnis, dieses Repository zu verwenden.
Sie können Amazon ECR-Berechtigungen auch bestimmten Abonnenten verweigern, wie in der folgenden Beispielrichtlinie dargestellt.
Richtlinien für den Amazon ECR-Pull-Through-Cache
Um den Amazon ECR-Pull-Through-Cache zu verwenden, erstellen Sie eine Registrierungsberechtigungsrichtlinie. Sie erstellen auch eine Repository-Erstellungsvorlage, die die Berechtigungen für die Repositorys definiert, die vom Amazon ECR-Pull-Through-Cache erstellt wurden.
Die folgenden Abschnitte enthalten Beispiele für diese Richtlinien. Weitere Informationen zum Pull-Through-Cache finden Sie unter Synchronisieren einer Upstream-Registrierung mit einer privaten Amazon ECR-Registrierung im Amazon Elastic Container Registry-Benutzerhandbuch.
Richtlinie für Registrierungsberechtigungen
Um den Amazon ECR-Pull-Through-Cache zu verwenden, erstellen Sie eine Registrierungsberechtigungsrichtlinie. Die Richtlinie für Registrierungsberechtigungen ermöglicht die Kontrolle über Replikations- und Pull-Through-Cache-Berechtigungen.
Für die kontenübergreifende Replikation müssen Sie ausdrücklich zulassen, AWS-Konto dass jeder Benutzer seine Repositorys in Ihre Registrierung replizieren kann.
Wenn Sie eine Pull-Through-Cache-Regel erstellen, kann jeder IAM-Prinzipal, der über die Berechtigung zum Abrufen von Bildern aus einer privaten Registrierung verfügt, standardmäßig auch die Pull-Through-Cacheregel verwenden. Sie können mit Registrierungsberechtigungen diese Berechtigungen weiter auf bestimmte Repositorys einzuschränken.
Fügen Sie dem Konto, dem das Container-Image gehört, eine Registrierungsberechtigungsrichtlinie hinzu.
Im folgenden Beispiel ermöglicht die Richtlinie dem HealthOmics Dienst, Repositorys für jede Upstream-Registrierung zu erstellen und Upstream-Pull-Anfragen von den erstellten Repositorys aus zu initiieren.
Vorlage für die Erstellung eines Repository
Um den Pull-Through-Cache in verwenden zu können HealthOmics, muss das Amazon ECR-Repository über eine Vorlage für die Repository-Erstellung verfügen. Die Vorlage definiert die Konfigurationseinstellungen für die privaten Repositorys, die für eine Upstream-Registrierung erstellt wurden.
Jede Vorlage enthält ein Repository-Namespace-Präfix, das Amazon ECR verwendet, um neue Repositorys einer bestimmten Vorlage zuzuordnen. In Vorlagen kann die Konfiguration für alle Repository-Einstellungen festgelegt werden, einschließlich ressourcenbasierter Zugriffsrichtlinien, Unveränderlichkeit von Tags, Verschlüsselung und Lebenszyklusrichtlinien. Weitere Informationen finden Sie unter Vorlagen für die Erstellung von Repositorys im Amazon Elastic Container Registry User Guide.
Im folgenden Beispiel ermöglicht die Richtlinie dem HealthOmics Service, Upstream-Pull-Anfragen von den Upstream-Repositorys zu initiieren.
Richtlinien für den kontenübergreifenden Zugriff auf Amazon ECR
Für den kontoübergreifenden Zugriff aktualisiert der Eigentümer des privaten Repositorys die Registrierungsberechtigungsrichtlinie und die Vorlage für die Erstellung des Repositorys, um den Zugriff für das andere Konto und die Ausführungsrolle dieses Kontos zu ermöglichen.
Fügen Sie in der Registrierungsberechtigungsrichtlinie eine Richtlinienerklärung hinzu, um der Ausführungsrolle des anderen Kontos den Zugriff auf die Amazon ECR-Aktionen zu ermöglichen:
Fügen Sie in der Vorlage für die Repository-Erstellung eine Richtlinienerklärung hinzu, damit die Run-Rolle des anderen Accounts auf die neuen Container-Images zugreifen kann. Optional können Sie Bedingungsanweisungen hinzufügen, um den Zugriff auf bestimmte Workflows zu beschränken:
Fügen Sie Berechtigungen für zwei zusätzliche Aktionen (CreateRepository und BatchImportUpstreamImage) in der Ausführungsrolle hinzu und geben Sie die Ressource an, auf die die Ausführungsrolle zugreifen kann.