Die Erkennung und Verwendung von AMIs in Amazon EC2 mit zugelassenen AMIs steuern - Amazon Elastic Compute Cloud

Die Erkennung und Verwendung von AMIs in Amazon EC2 mit zugelassenen AMIs steuern

Um die Erkennung und Verwendung von Amazon Machine Images (AMIs) durch Benutzer in Ihrem System zu kontrollierenAWS-Konto, können Sie das Feature Zulässige AMIs verwenden. Sie geben Kriterien an, die AMIs erfüllen müssen, damit sie in Ihrem Konto sichtbar und verfügbar sind. Wenn die Kriterien aktiviert sind, können Benutzer, die Instances starten, nur AMIs sehen und darauf zugreifen, die den angegebenen Kriterien entsprechen. Sie können beispielsweise eine Liste vertrauenswürdiger AMI-Anbieter als Kriterien angeben, und nur AMIs dieser Anbieter sind sichtbar und können verwendet werden.

Bevor Sie die Einstellungen für Zulässige AMIs aktivieren, können Sie den Prüfmodus aktivieren, um in einer Vorschau anzuzeigen, welche AMIs sichtbar und nutzbar sein werden oder nicht. Auf diese Weise können Sie die Kriterien nach Bedarf verfeinern, um sicherzustellen, dass nur die vorgesehenen AMIs sichtbar und für Benutzer in Ihrem Konto verfügbar sind. Darüber hinaus können Sie den Befehl describe-instance-image-metadata ausführen, um Instances zu suchen, die mit AMIs gestartet wurden, die die angegebenen Kriterien nicht erfüllen. Diese Informationen können Ihnen bei der Entscheidung helfen, entweder Ihre Startkonfigurationen zu aktualisieren, um konforme AMIs zu verwenden (z. B. indem Sie ein anderes AMI in einer Startvorlage angeben) oder Ihre Kriterien so anzupassen, dass diese AMIs zugelassen werden.

Diese Einstellung wird auf Kontoebene konfiguriert, entweder direkt im Konto oder mithilfe einer deklarativen Richtlinie. Diese Einstellungen müssen in jeder AWS-Region konfiguriert werden, in denen Sie die Verwendung von AMIs steuern möchten. Mithilfe einer deklarativen Richtlinie können Sie die Einstellung auf mehrere Regionen gleichzeitig sowie auf mehrere Konten gleichzeitig anwenden. Wenn eine deklarative Richtlinie verwendet wird, können Sie die Einstellung nicht direkt in einem Konto ändern. In diesem Thema wird beschrieben, wie Sie die Einstellung direkt in einem Konto konfigurieren. Informationen zur Verwendung deklarativer Richtlinien finden Sie unter Deklarative Richtlinien im AWS Organizations-Benutzerhandbuch.

Anmerkung

Das Feature „Zulässige AMIs“ steuert nur die Erkennung und Verwendung von öffentlichen AMIs oder AMIs, die für Ihr Konto freigegeben werden. Es schränkt die AMIs, die Ihrem Konto gehören, nicht ein. Unabhängig von den von Ihnen festgelegten Kriterien sind die von Ihrem Konto erstellten AMIs immer für Benutzer in Ihrem Konto auffindbar und nutzbar.

Hauptvorteile zugelassener AMIs
  • Compliance und Sicherheit: Benutzer können nur AMIs erkennen und verwenden, die die angegebenen Kriterien erfüllen, wodurch das Risiko einer nicht konformen AMI-Nutzung reduziert wird.

  • Effizientes Management: Durch die Reduzierung der Anzahl der zulässigen AMIs wird die Verwaltung der verbleibenden AMIs einfacher und effizienter.

  • Zentralisierte Implementierung auf Kontoebene: Konfigurieren Sie die Einstellungen für zulässige AMIs auf Kontoebene, entweder direkt im Konto oder über eine deklarative Richtlinie. Dies bietet eine zentrale und effiziente Möglichkeit, die AMI-Nutzung für das gesamte Konto zu kontrollieren.

So funktionieren zugelassene AMIs

Um zu steuern, welche AMIs in Ihrem Konto erkannt und verwendet werden können, definieren Sie eine Reihe von Kriterien, anhand derer die AMIs bewertet werden können. Die Kriterien bestehen aus einem oder mehreren ImageCriterion, wie im folgenden Diagramm dargestellt. Eine Erklärung folgt dem Diagramm.

Die ImageCriteria-Konfigurationshierarchie für zulässige AMIs.

Die Konfiguration besteht aus drei Ebenen:

  • 1 – Parameterwerte

    • Parameter mit mehreren Werten

      • ImageProviders

      • ImageNames

      • MarketplaceProductCodes

        Ein AMI kann mit beliebigen Werten innerhalb eines Parameters übereinstimmen, um zulässig zu sein.

        Beispiel: ImageProviders = amazon ODER Konto 111122223333 ODER Konto 444455556666 (Die Bewertungslogik für Parameterwerte ist im Diagramm nicht dargestellt.)

    • Parameter mit einem Wert:

      • CreationDateCondition

      • DeprecationTimeCondition

  • 2ImageCriterion

    • Gruppiert mehrere Parameter mit UND-Logik.

    • Ein AMI muss allen Parametern innerhalb eines ImageCriterion entsprechen, um zulässig zu sein.

    • Beispiel: ImageProviders = amazon UND CreationDateCondition = 300 Tage oder weniger

  • 3ImageCriteria

    • Gruppiert mehrere ImageCriterion mit ODER-Logik.

    • Ein AMI kann einem beliebigen ImageCriterion entsprechen, um zulässig zu sein.

    • Bildet die vollständige Konfiguration, anhand derer AMIs bewertet werden.

Parameter für zulässige AMIs

Sie können die folgenden Parameter konfigurieren, um ImageCriterion zu erstellen:

ImageProviders

Die AMI-Anbieter, deren AMIs zulässig sind.

Gültige Werte sind Aliasnamen, die durch AWS und AWS-Konto-IDs definiert sind, wie folgt:

  • amazon – Ein Alias, der AMIs identifiziert, die von Amazon oder von verifizierten Anbietern erstellt wurden

  • aws-marketplace – Ein Alias, der AMIs identifiziert, die von verifizierten Anbietern im AWS Marketplace erstellt wurden

  • aws-backup-vault – Ein Alias, der Backup-AMIs identifiziert, die sich in AWS-Backup-Tresor-Konten mit logischem Air-Gap befinden. Wenn Sie das AWS-Backup-Feature logischer Air-Gapped Vault verwenden, stellen Sie sicher, dass dieser Alias als AMI-Anbieter enthalten ist.

  • AWS-Konto-IDs – Eine oder mehrere 12-stellige AWS-Konto-IDs

  • none – Weist darauf hin, dass nur von Ihrem Konto erstellte AMIs erkannt und verwendet werden können. Öffentliche oder freigegebene AMIs können nicht erkannt und verwendet werden. Wenn angegeben, können keine anderen Kriterien angegeben werden.

ImageNames

Die Namen der zulässigen AMIs, wobei exakte Übereinstimmungen oder Platzhalter (? oder *) verwendet werden.

MarketplaceProductCodes

Die AWS Marketplace-Produktcodes für zulässige AMIs.

CreationDateCondition

Das Höchstalter für zulässige AMIs.

DeprecationTimeCondition

Der maximale Zeitraum seit der Außerbetriebnahme von zulässigen AMIs.

Die gültigen Werte und Einschränkungen für jedes Kriterium finden Sie unter ImageCriterionRequest in der API-Referenz für Amazon EC2.

Zulässige AMI-Konfigurationen

Die Kernkonfiguration für zugelassene AMIs ist die ImageCriteria-Konfiguration, die die Kriterien für zulässige AMIs definiert. Die folgende JSON-Struktur zeigt die Parameter, die angegeben werden können:

{ "State": "enabled" | "disabled" | "audit-mode", "ImageCriteria" : [ { "ImageProviders": ["string",...], "MarketplaceProductCodes": ["string",...], "ImageNames":["string",...], "CreationDateCondition" : { "MaximumDaysSinceCreated": integer }, "DeprecationTimeCondition" : { "MaximumDaysSinceDeprecated": integer } }, ... }

Beispiel-ImageCriteria

Im folgenden ImageCriteria-Beispiel werden vier ImageCriterion konfiguriert. Ein AMI ist zulässig, wenn es mit einem dieser ImageCriterion übereinstimmt. Weitere Informationen über das Auswerten der Kriterien finden Sie unter So werden Kriterien bewertet.

{ "ImageCriteria": [ // ImageCriterion 1: Allow AWS Marketplace AMIs with product code "abcdefg1234567890" { "MarketplaceProductCodes": [ "abcdefg1234567890" ] }, // ImageCriterion 2: Allow AMIs from providers whose accounts are // "123456789012" OR "123456789013" AND AMI age is less than 300 days { "ImageProviders": [ "123456789012", "123456789013" ], "CreationDateCondition": { "MaximumDaysSinceCreated": 300 } }, // ImageCriterion 3: Allow AMIs from provider whose account is "123456789014" // AND with names following the pattern "golden-ami-*" { "ImageProviders": [ "123456789014" ], "ImageNames": [ "golden-ami-*" ] }, // ImageCriterion 4: Allow AMIs from Amazon or verified providers // AND which aren't deprecated { "ImageProviders": [ "amazon" ], "DeprecationTimeCondition": { "MaximumDaysSinceDeprecated": 0 } } ] }

So werden Kriterien bewertet

In der folgenden Tabelle werden die Bewertungsregeln erläutert, mit denen festgelegt wird, ob ein AMI zulässig ist, und es wird gezeigt, wie der Operator AND bzw. OR auf jeder Ebene angewendet wird:

Auswertungsdaten Operator Anforderung für ein zulässiges AMI
Parameterwerte für ImageProviders, ImageNames und MarketplaceProductCodes OR AMI muss mit mindestens einem Wert in jeder Parameterliste übereinstimmen
ImageCriterion AND AMI muss allen Parametern in jedem ImageCriterion entsprechen
ImageCriteria OR AMI muss mit einem der ImageCriterion übereinstimmen

Sehen wir uns anhand der obigen Bewertungsregeln an, wie diese auf Beispiel-ImageCriteria angewendet werden können:

  • ImageCriterion 1: Erlaubt AMIs mit dem AWS Marketplace-Produktcode abcdefg1234567890

    OR

  • ImageCriterion 2: Erlaubt AMIs, die diese beiden Kriterien erfüllen:

    • Gehört einem der Konten 123456789012 OR 123456789013

      • AND

    • Erstellt innerhalb der letzten 300 Tage

    OR

  • ImageCriterion 3: Erlaubt AMIs, die diese beiden Kriterien erfüllen:

    • Gehört dem Konto 123456789014

      • AND

    • Benannt nach dem Muster golden-ami-*

    OR

  • ImageCriterion 4: Erlaubt AMIs, die diese beiden Kriterien erfüllen:

    • Von Amazon oder verifizierten Anbietern veröffentlicht (durch den amazon-Alias angegeben)

      • AND

    • Nicht veraltet (die maximale Anzahl von Tagen seit der Außerbetriebnahme beträgt 0)

Einschränkungen

Das ImageCriteria enthält bis zu:

  • 10 ImageCriterion

Jedes ImageCriterion enthält bis zu:

  • 200 Werte für ImageProviders

  • 50 Werte für ImageNames

  • 50 Werte für MarketplaceProductCodes

Beispiel für Grenzwerte

Unter Verwendung des Vorhergehenden Beispiel-ImageCriteria:

  • Es gibt 4 ImageCriterion. Bis zu 6 weitere können der Anforderung hinzugefügt werden, um das Limit von 10 zu erreichen.

  • Im ersten ImageCriterion gibt es 1 Wert für MarketplaceProductCodes. Bis zu 49 weitere können diesem ImageCriterion hinzugefügt werden, um das Limit von 50 zu erreichen.

  • Im zweiten ImageCriterion gibt es 2 Werte für ImageProviders. Bis zu 198 weitere können diesem ImageCriterion hinzugefügt werden, um das Limit von 200 zu erreichen.

  • Im dritten ImageCriterion gibt es 1 Wert für ImageNames. Bis zu 49 weitere können diesem ImageCriterion hinzugefügt werden, um das Limit von 50 zu erreichen.

Zulässige AMI-Vorgänge

Das Feature Zulässige AMIs verfügt über drei Betriebsstatus für die Verwaltung der Image-Kriterien: Aktiviert, Deaktiviert und Prüfmodus. Diese ermöglichen es Ihnen, die Image-Kriterien zu aktivieren oder zu deaktivieren oder sie nach Bedarf zu überprüfen.

Aktiviert

Wenn „Zulässige AMIs“ aktiviert ist:

  • Die ImageCriteria werden angewendet.

  • Nur zulässige AMIs sind in der EC2-Konsole und durch APIs auffindbar, die Images verwenden (z. B. die Aktionen beschreiben, kopieren, speichern oder andere Aktionen ausführen, die Images verwenden).

  • Instances können nur mit zulässigen AMIs gestartet werden.

Disabled

Wenn „Zulässige AMIs“ deaktiviert ist:

  • Die ImageCriteria werden nicht angewendet.

  • Es gibt keine Einschränkungen für die Auffindbarkeit oder Nutzung von AMIs.

Prüfmodus

Im Prüfmodus:

  • Die ImageCriteria sind aktiviert, aber es gibt keine Einschränkungen für die Auffindbarkeit oder Nutzung von AMIs.

  • In der EC2-Konsole wird im Feld Zulässiges AMI für jedes AMI entweder Ja oder Nein angezeigt, um anzugeben, ob das AMI für Benutzer im Konto auffindbar und verfügbar sein wird, wenn „Zulässige AMIs“ aktiviert ist.

  • In der Befehlszeile enthält die Antwort für den describe-image-Vorgang "ImageAllowed": true oder "ImageAllowed": false, um anzuzeigen, ob das AMI auffindbar und für Benutzer im Konto verfügbar sein wird, wenn „Zulässige AMIs“ aktiviert ist.

  • In der EC2-Konsole zeigt der AMI-Katalog neben AMIs, die für Benutzer im Konto nicht auffindbar oder verfügbar sind, Nicht erlaubt an, wenn „Zulässige AMIs“ aktiviert ist.

Bewährte Methoden für die Implementierung von „Zulässige AMIs“

Beachten Sie bei der Implementierung von „Zulässige AMIs“ diese bewährten Methoden, um einen reibungslosen Übergang zu gewährleisten und potenzielle Störungen in Ihrer AWS-Umgebung zu minimieren.

  1. Prüfmodus aktivieren

    Aktivieren Sie zunächst „Zulässige AMIs“ im Überwachungsmodus. In diesem Status können Sie sehen, welche AMIs von Ihren Kriterien betroffen wären, ohne den Zugriff tatsächlich einzuschränken, was einen risikofreien Testzeitraum bietet.

  2. Legen Sie die Kriterien für „Zulässige AMIs“ fest

    Stellen Sie sorgfältig fest, welche AMI-Anbieter den Sicherheitsrichtlinien, Compliance-Anforderungen und betrieblichen Anforderungen Ihres Unternehmens entsprechen.

    Anmerkung

    Wenn Sie AWS-verwaltete Services wie Amazon ECS oder Amazon EKS verwenden, empfehlen wir, den amazon-Alias anzugeben, um AMIs zu erlauben, die von AWS erstellt wurden. Diese Services sind auf von Amazon veröffentlichte AMIs angewiesen, um Instances zu starten.

    Seien Sie vorsichtig, wenn Sie CreationDateCondition-Einschränkungen für AMIs festlegen. Wenn Sie übermäßig restriktive Datumsbedingungen festlegen (z. B. müssen AMIs weniger als 5 Tage alt sein), kann dies zu Instance-Startfehlern führen, wenn die AMIs, unabhängig davon, ob sie von AWS oder anderen Anbietern stammen, nicht innerhalb des von Ihnen angegebenen Zeitrahmens aktualisiert werden.

    Wir empfehlen die Kombination von ImageNames mit ImageProviders, um eine bessere Kontrolle und Spezifität zu gewährleisten. Durch die alleinige Verwendung von ImageNames kann ein AMI möglicherweise nicht eindeutig identifiziert werden.

  3. Prüfen Sie, ob sich dies auf die zu erwartenden Geschäftsprozesse auswirkt

    Sie können die Konsole oder die CLI verwenden, um alle Instances zu identifizieren, die mit AMIs gestartet wurden, die die angegebenen Kriterien nicht erfüllen. Diese Informationen können Ihnen bei der Entscheidung helfen, entweder Ihre Startkonfigurationen zu aktualisieren, um konforme AMIs zu verwenden (z. B. indem Sie ein anderes AMI in einer Startvorlage angeben) oder Ihre Kriterien so anzupassen, dass diese AMIs zugelassen werden.

    Konsole: Verwenden Sie die AWS Config-Regel ec2-instance-launched-with-allowed-ami, um zu überprüfen, ob laufende oder angehaltene Instances mit AMIs gestartet wurden, die Ihre Kriterien für zulässige AMIs erfüllen. Die Regel lautet NON_COMPLIANT, wenn ein AMI die Kriterien für zulässige AMIs nicht erfüllt, und COMPLIANT, falls dies der Fall ist. Die Regel funktioniert nur, wenn die Einstellung Zulässige AMIs auf Aktiviert oder Prüfmodus gesetzt ist.

    CLI: Führen Sie den Befehl describe-instance-image-metadata aus und filtern Sie die Antwort, um alle Instances zu identifizieren, die mit AMIs gestartet wurden, die die angegebenen Kriterien nicht erfüllen.

    Informationen zur Verwendung der Konsole und der CLI finden Sie unter Instances suchen, die mit nicht zulässigen AMIs gestartet wurden.

  4. Zulässige AMIs“ aktivieren

    Sobald Sie bestätigt haben, dass sich die Kriterien nicht negativ auf die erwarteten Geschäftsprozesse auswirken, aktivieren Sie „Zulässige AMIs“.

  5. Instance-Starts überwachen

    Überwachen Sie weiterhin Instance-Starts von AMIs für Ihre Anwendungen und die von Ihnen verwendeten AWS-verwalteten Services wie Amazon EMR, Amazon ECR, Amazon EKS und AWS Elastic Beanstalk. Suchen Sie nach unerwarteten Problemen und nehmen Sie die erforderlichen Anpassungen an den Kriterien für zulässige AMIs vor.

  6. Neue AMIs testen

    Um AMIs von Drittanbietern zu testen, die nicht Ihren aktuellen Einstellungen für zulässige AMIs entsprechen, empfiehlt AWS die folgende Methoden:

    • Ein separates AWS-Konto verwenden: Erstellen Sie ein Konto ohne Zugriff auf Ihre geschäftskritischen Ressourcen. Stellen Sie sicher, dass die Einstellung Zulässige AMIs in diesem Konto nicht aktiviert ist oder dass die AMIs, die Sie testen möchten, ausdrücklich zugelassen sind, damit Sie sie testen können.

    • In einer anderen AWS-Region testen: Verwenden Sie eine Region, in der AMIs von Drittanbietern verfügbar sind, in der Sie die Einstellungen für zulässige AMIs jedoch noch nicht aktiviert haben.

    Diese Ansätze tragen dazu bei, dass Ihre geschäftskritischen Ressourcen sicher bleiben, während Sie neue AMIs testen.

Erforderliche IAM-Berechtigungen

Um das Feature „Zulässige AMIs“ zu verwenden, benötigen Sie die folgenden IAM-Berechtigungen:

  • GetAllowedImagesSettings

  • EnableAllowedImagesSettings

  • DisableAllowedImagesSettings

  • ReplaceImageCriteriaInAllowedImagesSettings