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.
Inhalt
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 Konfiguration besteht aus drei Ebenen:
-
1 – Parameterwerte
-
Parameter mit mehreren Werten
-
ImageProviders -
ImageNames -
MarketplaceProductCodesEin AMI kann mit beliebigen Werten innerhalb eines Parameters übereinstimmen, um zulässig zu sein.
Beispiel:
ImageProviders=amazonODER Konto111122223333ODER Konto444455556666(Die Bewertungslogik für Parameterwerte ist im Diagramm nicht dargestellt.)
-
-
Parameter mit einem Wert:
-
CreationDateCondition -
DeprecationTimeCondition
-
-
-
2 –
ImageCriterion-
Gruppiert mehrere Parameter mit UND-Logik.
-
Ein AMI muss allen Parametern innerhalb eines
ImageCriterionentsprechen, um zulässig zu sein. -
Beispiel:
ImageProviders=amazonUNDCreationDateCondition= 300 Tage oder weniger
-
-
3 –
ImageCriteria-
Gruppiert mehrere
ImageCriterionmit ODER-Logik. -
Ein AMI kann einem beliebigen
ImageCriterionentsprechen, um zulässig zu sein. -
Bildet die vollständige Konfiguration, anhand derer AMIs bewertet werden.
-
Themen
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:
-
ImageCriterion1: Erlaubt AMIs mit dem AWS Marketplace-Produktcodeabcdefg1234567890OR -
ImageCriterion2: Erlaubt AMIs, die diese beiden Kriterien erfüllen:-
Gehört einem der Konten
123456789012OR123456789013-
AND
-
-
Erstellt innerhalb der letzten 300 Tage
OR -
-
ImageCriterion3: Erlaubt AMIs, die diese beiden Kriterien erfüllen:-
Gehört dem Konto
123456789014-
AND
-
-
Benannt nach dem Muster
golden-ami-*
OR -
-
ImageCriterion4: 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
ImageCriteriongibt es 1 Wert fürMarketplaceProductCodes. Bis zu 49 weitere können diesemImageCriterionhinzugefügt werden, um das Limit von 50 zu erreichen. -
Im zweiten
ImageCriteriongibt es 2 Werte fürImageProviders. Bis zu 198 weitere können diesemImageCriterionhinzugefügt werden, um das Limit von 200 zu erreichen. -
Im dritten
ImageCriteriongibt es 1 Wert fürImageNames. Bis zu 49 weitere können diesemImageCriterionhinzugefü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
ImageCriteriawerden 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
ImageCriteriawerden nicht angewendet. -
Es gibt keine Einschränkungen für die Auffindbarkeit oder Nutzung von AMIs.
Prüfmodus
Im Prüfmodus:
-
Die
ImageCriteriasind 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": trueoder"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.
-
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.
-
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
ImageNamesmitImageProviders, um eine bessere Kontrolle und Spezifität zu gewährleisten. Durch die alleinige Verwendung vonImageNameskann ein AMI möglicherweise nicht eindeutig identifiziert werden. -
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.
-
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“.
-
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.
-
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