Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Zentralisieren Sie die Verwaltung von IAM Zugriffsschlüsseln in AWS Organizations mithilfe von Terraform - AWS Prescriptive Guidance

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.

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.

Zentralisieren Sie die Verwaltung von IAM Zugriffsschlüsseln in AWS Organizations mithilfe von Terraform

Erstellt von Aarti Rajput (AWS), Chintamani Aphale (), T.V.R.L.Phani Kumar Dadi (AWS), Pradip kumar Pandey (), Mayuri Shinde (AWS) und Pratap Kumar Nanda () AWS AWS AWS

Übersicht

AWS CodeCommit Hinweis: ist für Neukunden nicht mehr verfügbar. Bestandskunden von AWS CodeCommit können den Service weiterhin wie gewohnt nutzen. Weitere Informationen

Die Durchsetzung von Sicherheitsregeln für Schlüssel und Passwörter ist eine wichtige Aufgabe für jedes Unternehmen. Eine wichtige Regel besteht darin, die Schlüssel für AWS Identity and Access Management (IAM) in regelmäßigen Abständen zu rotieren, um die Sicherheit zu gewährleisten. AWSZugriffsschlüssel werden in der Regel lokal erstellt und konfiguriert, wann immer Teams über die AWS AWS Befehlszeilenschnittstelle (AWSCLI) oder externe Anwendungen darauf zugreifen möchtenAWS. Um eine hohe Sicherheit im gesamten Unternehmen aufrechtzuerhalten, müssen alte Sicherheitsschlüssel geändert oder gelöscht werden, nachdem die Anforderung erfüllt wurde, oder in regelmäßigen Abständen. Die Verwaltung von Schlüsselrotationen für mehrere Konten in einem Unternehmen ist zeitaufwändig und mühsam. Dieses Muster hilft Ihnen, den Rotationsprozess mithilfe von Account Factory für Terraform (AFT) und AWS Dienste zu automatisieren.

Das Muster bietet die folgenden Vorteile:

  • Verwaltet Ihren Zugriffsschlüssel IDs und Ihre geheimen Zugangsschlüssel für alle Konten in Ihrer Organisation von einem zentralen Standort aus.

  • Die Umgebungsvariablen AWS_ACCESS_KEY_ID und die AWS_SECRET_ACCESS_KEY Umgebungsvariablen werden automatisch rotiert.

  • Erzwingt eine Verlängerung, wenn Benutzeranmeldedaten kompromittiert werden.

Das Muster verwendet Terraform, um AWS Lambda-Funktionen, EventBridge Amazon-Regeln und Rollen bereitzustellen. IAM Eine EventBridge Regel wird in regelmäßigen Abständen ausgeführt und ruft eine Lambda-Funktion auf, die alle Benutzerzugriffsschlüssel auflistet, je nachdem, wann sie erstellt wurden. Zusätzliche Lambda-Funktionen erstellen eine neue Zugriffsschlüssel-ID und einen neuen geheimen Zugriffsschlüssel, wenn der vorherige Schlüssel älter ist als der von Ihnen definierte Rotationszeitraum (z. B. 45 Tage), und benachrichtigen einen Sicherheitsadministrator mithilfe von Amazon Simple Notification Service (AmazonSNS) und Amazon Simple Email Service (AmazonSES). Secrets werden in AWS Secrets Manager für diesen Benutzer erstellt, der alte geheime Zugriffsschlüssel wird in Secrets Manager gespeichert und die Berechtigungen für den Zugriff auf den alten Schlüssel werden konfiguriert. Um sicherzustellen, dass der alte Zugriffsschlüssel nicht mehr verwendet wird, wird er nach einer inaktiven Zeit deaktiviert (z. B. 60 Tage, was in unserem Beispiel 15 Tage nach der Rotation der Schlüssel wäre). Nach einer inaktiven Pufferzeit (z. B. 90 Tage oder 45 Tage nach der Rotation der Schlüssel in unserem Beispiel) werden die alten Zugriffsschlüssel aus AWS Secrets Manager gelöscht. Eine detaillierte Architektur und ein detaillierter Arbeitsablauf finden Sie im Abschnitt Architektur.

Voraussetzungen und Einschränkungen

  • Eine landing zone für Ihr Unternehmen, die mithilfe von AWSControl Tower (Version 3.1 oder höher) erstellt wurde

  •  Account Factory for Terraform (AFT), konfiguriert mit drei Konten:

    • Das Organisationsverwaltungskonto verwaltet die gesamte Organisation von einem zentralen Standort aus.

    • AFTDas Verwaltungskonto hostet die Terraform-Pipeline und stellt die Infrastruktur im Bereitstellungskonto bereit.

    • Das Bereitstellungskonto stellt diese Komplettlösung bereit und verwaltet die IAM Schlüssel von einem zentralen Ort aus.

  • Terraform Version 0.15.0 oder höher für die Bereitstellung der Infrastruktur im Bereitstellungskonto.

  • Eine E-Mail-Adresse, die in Amazon Simple Email Service (AmazonSES) konfiguriert ist.

  • (Empfohlen) Um die Sicherheit zu erhöhen, stellen Sie diese Lösung in einem privaten Subnetz (Bereitstellungskonto) in einer virtuellen privaten Cloud (VPC) bereit. Sie können die Details des VPC UND-Subnetzes angeben, wenn Sie die Variablen anpassen (siehe Anpassen der Parameter für die Code-Pipeline im Abschnitt Epics).

Architektur

AFTRepositorien

Dieses Muster verwendet Account Factory for Terraform (AFT), um alle erforderlichen AWS Ressourcen zu erstellen, und die Code-Pipeline, um die Ressourcen in einem Bereitstellungskonto bereitzustellen. Die Code-Pipeline läuft in zwei Repositorys:

  • Die globale Anpassung enthält Terraform-Code, der für alle registrierten Konten ausgeführt wird. AFT

  • Kontoanpassungen enthalten Terraform-Code, der im Bereitstellungskonto ausgeführt wird.

Einzelheiten zur Ressource

AWS CodePipeline Jobs erstellen die folgenden Ressourcen im Bereitstellungskonto:

  • AWS EventBridge Regel und konfigurierte Regel

  • account-inventory Lambda-Funktion

  • IAM-access-key-rotation Lambda-Funktion

  • Notification Lambda-Funktion

  • Amazon Simple Storage Service (Amazon S3) -Bucket, der eine E-Mail-Vorlage enthält

  • Erforderliche IAM Richtlinie

Architektur

Das Diagramm veranschaulicht folgende Vorgänge:

Architektur für die Zentralisierung der Verwaltung von IAM Zugriffsschlüsseln in Organizations AWS
  1. Eine EventBridge Regel ruft die account-inventory Lambda-Funktion alle 24 Stunden auf.

  2. Die account-inventory Lambda-Funktion fragt AWS Organizations nach einer Liste aller AWS KontenIDs, Kontonamen und Konto-E-Mails ab. 

  3. Die account-inventory Lambda-Funktion initiiert eine IAM-access-key-auto-rotation Lambda-Funktion für jedes AWS Konto und übergibt die Metadaten zur weiteren Verarbeitung an dieses Konto.

  4. Die IAM-access-key-auto-rotation Lambda-Funktion verwendet eine angenommene IAM Rolle, um auf das AWS Konto zuzugreifen. Das Lambda-Skript führt eine Prüfung aller Benutzer und ihrer IAM Zugriffsschlüssel im Konto durch.

  5. Der Schwellenwert für die IAM Schlüsselrotation (Rotationsperiode) wird als Umgebungsvariable konfiguriert, wenn die IAM-access-key-auto-rotation Lambda-Funktion bereitgestellt wird. Wenn die Rotationsperiode geändert wird, wird die IAM-access-key-auto-rotation Lambda-Funktion mit einer aktualisierten Umgebungsvariablen erneut bereitgestellt. Sie können Parameter konfigurieren, um den Rotationsperiode, den inaktiven Zeitraum für alte Schlüssel und den inaktiven Puffer festzulegen, nach dessen Ablauf alte Schlüssel gelöscht werden (siehe Anpassen der Parameter für die Code-Pipeline im Abschnitt Epics).

  6. Die IAM-access-key-auto-rotation Lambda-Funktion validiert das Alter des Zugriffsschlüssels anhand seiner Konfiguration. Wenn das Alter des IAM Zugriffsschlüssels den von Ihnen definierten Rotationszeitraum nicht überschritten hat, ergreift die Lambda-Funktion keine weiteren Maßnahmen.

  7. Wenn das Alter des IAM Zugriffsschlüssels den von Ihnen definierten Rotationszeitraum überschritten hat, erstellt die IAM-access-key-auto-rotation Lambda-Funktion einen neuen Schlüssel und rotiert den vorhandenen Schlüssel.

  8. Die Lambda-Funktion speichert den alten Schlüssel in Secrets Manager und beschränkt die Berechtigungen auf den Benutzer, dessen Zugriffsschlüssel von den Sicherheitsstandards abgewichen sind. Die Lambda-Funktion erstellt außerdem eine ressourcenbasierte Richtlinie, die es nur dem angegebenen IAM Prinzipal ermöglicht, auf das Geheimnis zuzugreifen und es abzurufen.

  9. Die IAM-access-key-rotation Lambda-Funktion ruft die Notification Lambda-Funktion auf.

  10. Die Notification Lambda-Funktion fragt den S3-Bucket nach einer E-Mail-Vorlage ab und generiert dynamisch E-Mail-Nachrichten mit den entsprechenden Aktivitätsmetadaten.

  11. Die Notification Lambda-Funktion fordert Amazon auf, SES weitere Maßnahmen zu ergreifen.

  12.  Amazon SES sendet eine E-Mail mit den entsprechenden Informationen an die E-Mail-Adresse des Kontoinhabers.

Tools

AWS-Services

  • AWSIdentity and Access Management (IAM) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden. Für dieses Muster sind IAM Rollen und Berechtigungen erforderlich.

  • AWSLambda ist ein Rechendienst, mit dem Sie Code ausführen können, ohne Server bereitstellen oder verwalten zu müssen. Er führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen.

  • AWSSecrets Manager hilft Ihnen dabei, hartcodierte Anmeldeinformationen in Ihrem Code, einschließlich Kennwörtern, durch einen API Aufruf von Secrets Manager zu ersetzen, um das Geheimnis programmgesteuert abzurufen.

  • Amazon Simple Email Service (AmazonSES) unterstützt Sie beim Senden und Empfangen von E-Mails mithilfe Ihrer eigenen E-Mail-Adressen und Domains.

Andere Tools

  • Terraform ist ein IaC-Tool (Infrastructure as Code) HashiCorp , mit dem Sie Cloud- und lokale Ressourcen erstellen und verwalten können.

Code-Repository

Die Anweisungen und der Code für dieses Muster sind im Repository zur Rotation von GitHub IAM Zugriffsschlüsseln verfügbar. Sie können den Code im zentralen AWS Control Tower Tower-Bereitstellungskonto bereitstellen, um die Schlüsselrotation von einem zentralen Ort aus zu verwalten.

Bewährte Methoden

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Klonen Sie das Repository

  1. Klonen Sie das GitHub Repository für die Rotation der IAM Zugriffsschlüssel:

    $ git clone https://github.com/aws-samples/centralized-iam-key-management-aws-organizations-terraform.git
  2. Vergewissern Sie sich, dass Ihre lokale Kopie des Repositorys drei Ordner enthält:

    $ cd Iam-Access-keys-Rotation $ ls org-account-customization global-account-customization account-customization
DevOps Ingenieur

Richten Sie Quelldateien ein

AufgabeBeschreibungErforderliche Fähigkeiten

Klonen Sie das Repository

  1. Klonen Sie das GitHub Repository für die Rotation der IAM Zugriffsschlüssel:

    $ git clone https://github.com/aws-samples/centralized-iam-key-management-aws-organizations-terraform.git
  2. Vergewissern Sie sich, dass Ihre lokale Kopie des Repositorys drei Ordner enthält:

    $ cd Iam-Access-keys-Rotation $ ls org-account-customization global-account-customization account-customization
DevOps Ingenieur
AufgabeBeschreibungErforderliche Fähigkeiten

Konfigurieren Sie das Bootstrapping-Konto.

Als Teil des AFTBootstrapping-Vorgangs sollten Sie einen Ordner aft-bootstrap auf Ihrem lokalen Computer aufrufen.

  1. Kopieren Sie alle Terraform-Dateien manuell aus Ihrem lokalen GitHub org-account-customizationOrdner in Ihren Ordner. aft-bootstrap

  2. Führen Sie Terraform-Befehle aus, um die globale kontoübergreifende Rolle im AWS Control Tower Tower-Verwaltungskonto zu konfigurieren:

    $ cd aft-bootstrap $ terraform init $ terraform apply —auto-approve
DevOps Ingenieur

Konfigurieren Sie globale Anpassungen.

Als Teil der AFTOrdnereinrichtung sollten Sie aft-global-customizations auf Ihrem lokalen Computer einen Ordner namens haben.

  1. Kopieren Sie alle Terraform-Dateien manuell aus Ihrem lokalen GitHub global-account-customizationOrdner in Ihren aft-global-customizations/terraform Ordner.

  2. Schieben Sie den Code auf: AWS CodeCommit

    $ git add * $ git commit -m "message" $ git push
DevOps Ingenieur

Konfigurieren Sie Kontoanpassungen.

Im Rahmen der AFTOrdnereinrichtung wurde aft-account-customizations auf Ihrem lokalen Computer ein Ordner mit dem Namen „Ordner“ eingerichtet.

  1. Erstellen Sie einen Ordner mit Ihrer verkauften Kontonummer.

  2. Kopieren Sie manuell alle Terraform-Dateien aus Ihrem lokalen GitHub Kontoanpassungsordner in Ihren Ordner. aft-account-customizations/<vended account>/terraform

  3. Schieben Sie den Code auf: AWS CodeCommit

    $ git add * $ git commit -m "message" $ git push
DevOps Ingenieur

Konfigurieren Sie Konten

AufgabeBeschreibungErforderliche Fähigkeiten

Konfigurieren Sie das Bootstrapping-Konto.

Als Teil des AFTBootstrapping-Vorgangs sollten Sie einen Ordner aft-bootstrap auf Ihrem lokalen Computer aufrufen.

  1. Kopieren Sie alle Terraform-Dateien manuell aus Ihrem lokalen GitHub org-account-customizationOrdner in Ihren Ordner. aft-bootstrap

  2. Führen Sie Terraform-Befehle aus, um die globale kontoübergreifende Rolle im AWS Control Tower Tower-Verwaltungskonto zu konfigurieren:

    $ cd aft-bootstrap $ terraform init $ terraform apply —auto-approve
DevOps Ingenieur

Konfigurieren Sie globale Anpassungen.

Als Teil der AFTOrdnereinrichtung sollten Sie aft-global-customizations auf Ihrem lokalen Computer einen Ordner namens haben.

  1. Kopieren Sie alle Terraform-Dateien manuell aus Ihrem lokalen GitHub global-account-customizationOrdner in Ihren aft-global-customizations/terraform Ordner.

  2. Schieben Sie den Code auf: AWS CodeCommit

    $ git add * $ git commit -m "message" $ git push
DevOps Ingenieur

Konfigurieren Sie Kontoanpassungen.

Im Rahmen der AFTOrdnereinrichtung wurde aft-account-customizations auf Ihrem lokalen Computer ein Ordner mit dem Namen „Ordner“ eingerichtet.

  1. Erstellen Sie einen Ordner mit Ihrer verkauften Kontonummer.

  2. Kopieren Sie manuell alle Terraform-Dateien aus Ihrem lokalen GitHub Kontoanpassungsordner in Ihren Ordner. aft-account-customizations/<vended account>/terraform

  3. Schieben Sie den Code auf: AWS CodeCommit

    $ git add * $ git commit -m "message" $ git push
DevOps Ingenieur
AufgabeBeschreibungErforderliche Fähigkeiten

Passen Sie die Pipeline-Parameter für Nicht-Terraform-Codes für alle Konten an.

Erstellen Sie eine Datei mit dem Namen input.auto.tfvars im aft-global-customizations/terraform/ Ordner und geben Sie die erforderlichen Eingabedaten ein. Die Standardwerte finden Sie in der Datei im GitHub Repository.

DevOps Ingenieur

Passen Sie die Code-Pipeline-Parameter für das Bereitstellungskonto an.

Erstellen Sie eine Datei mit dem Namen input.auto.tfvars in dem aft-account-customizations/<AccountName>/terraform/ Ordner und übertragen Sie den Code in AWS CodeCommit. Durch das Senden von Code an AWS CodeCommit wird die Code-Pipeline automatisch initiiert.

Geben Sie Werte für Parameter an, die auf den Anforderungen Ihrer Organisation basieren, einschließlich der folgenden Werte (Standardwerte finden Sie in der Datei im Github-Repository):

  • s3_bucket_name— Ein eindeutiger Bucket-Name für die E-Mail-Vorlage.

  • s3_bucket_prefix— Ein Ordnername innerhalb des S3-Buckets.

  • admin_email_address— Die E-Mail-Adresse des Administrators, der die Benachrichtigung erhalten soll.

  • org_list_account— Die Kontonummer des Verwaltungskontos.

  • rotation_period— Die Anzahl der Tage, nach denen ein Schlüssel von aktiv auf inaktiv umgestellt werden soll.

  • inactive_period— Die Anzahl der Tage, nach denen rotierte Schlüssel deaktiviert werden sollten. Dieser Wert muss größer sein als der Wert vonrotation_period.

  • inactive_buffer— Die Übergangszeit zwischen der Rotation und der Deaktivierung eines Schlüssels.

  • recovery_grace_period— Die Nachfrist zwischen der Deaktivierung und dem Löschen eines Schlüssels.

  • dry_run_flag— Auf true setzen, wenn Sie zu Testzwecken eine Benachrichtigung an den Administrator senden möchten, ohne die Schlüssel zu wechseln.

  • store_secrets_in_central_account— Auf true setzen, wenn Sie das Geheimnis im Bereitstellungskonto speichern möchten. Wenn die Variable auf false gesetzt ist (Standard), wird das Geheimnis im Mitgliedskonto gespeichert.

  • credential_replication_region— Die AWS Region, in der Sie die Lambda-Funktion und die S3-Buckets für die E-Mail-Vorlage bereitstellen möchten.

  • run_lambda_in_vpc— Auf true setzen, um die Lambda-Funktion innerhalb von auszuführen. VPC

  • vpc_id— Die VPC ID des Bereitstellungskontos, wenn Sie die Lambda-Funktion innerhalb von ausführen möchten. VPC

  • vpc_cidr— Der CIDR Bereich für das Bereitstellungskonto.

  • subnet_id— Das Subnetz IDs für das Bereitstellungskonto.

  • create_smtp_endpoint— Auf true setzen, wenn Sie den E-Mail-Endpunkt aktivieren möchten.

DevOps — Ingenieur

Passen Sie die Parameter für die Code-Pipeline an

AufgabeBeschreibungErforderliche Fähigkeiten

Passen Sie die Pipeline-Parameter für Nicht-Terraform-Codes für alle Konten an.

Erstellen Sie eine Datei mit dem Namen input.auto.tfvars im aft-global-customizations/terraform/ Ordner und geben Sie die erforderlichen Eingabedaten ein. Die Standardwerte finden Sie in der Datei im GitHub Repository.

DevOps Ingenieur

Passen Sie die Code-Pipeline-Parameter für das Bereitstellungskonto an.

Erstellen Sie eine Datei mit dem Namen input.auto.tfvars in dem aft-account-customizations/<AccountName>/terraform/ Ordner und übertragen Sie den Code in AWS CodeCommit. Durch das Senden von Code an AWS CodeCommit wird die Code-Pipeline automatisch initiiert.

Geben Sie Werte für Parameter an, die auf den Anforderungen Ihrer Organisation basieren, einschließlich der folgenden Werte (Standardwerte finden Sie in der Datei im Github-Repository):

  • s3_bucket_name— Ein eindeutiger Bucket-Name für die E-Mail-Vorlage.

  • s3_bucket_prefix— Ein Ordnername innerhalb des S3-Buckets.

  • admin_email_address— Die E-Mail-Adresse des Administrators, der die Benachrichtigung erhalten soll.

  • org_list_account— Die Kontonummer des Verwaltungskontos.

  • rotation_period— Die Anzahl der Tage, nach denen ein Schlüssel von aktiv auf inaktiv umgestellt werden soll.

  • inactive_period— Die Anzahl der Tage, nach denen rotierte Schlüssel deaktiviert werden sollten. Dieser Wert muss größer sein als der Wert vonrotation_period.

  • inactive_buffer— Die Übergangszeit zwischen der Rotation und der Deaktivierung eines Schlüssels.

  • recovery_grace_period— Die Nachfrist zwischen der Deaktivierung und dem Löschen eines Schlüssels.

  • dry_run_flag— Auf true setzen, wenn Sie zu Testzwecken eine Benachrichtigung an den Administrator senden möchten, ohne die Schlüssel zu wechseln.

  • store_secrets_in_central_account— Auf true setzen, wenn Sie das Geheimnis im Bereitstellungskonto speichern möchten. Wenn die Variable auf false gesetzt ist (Standard), wird das Geheimnis im Mitgliedskonto gespeichert.

  • credential_replication_region— Die AWS Region, in der Sie die Lambda-Funktion und die S3-Buckets für die E-Mail-Vorlage bereitstellen möchten.

  • run_lambda_in_vpc— Auf true setzen, um die Lambda-Funktion innerhalb von auszuführen. VPC

  • vpc_id— Die VPC ID des Bereitstellungskontos, wenn Sie die Lambda-Funktion innerhalb von ausführen möchten. VPC

  • vpc_cidr— Der CIDR Bereich für das Bereitstellungskonto.

  • subnet_id— Das Subnetz IDs für das Bereitstellungskonto.

  • create_smtp_endpoint— Auf true setzen, wenn Sie den E-Mail-Endpunkt aktivieren möchten.

DevOps — Ingenieur
AufgabeBeschreibungErforderliche Fähigkeiten

Validieren Sie die Lösung.

  1. Melden Sie sich von der AWS Management Console aus beim Bereitstellungskonto an.

  2. Öffnen Sie die IAMKonsole und überprüfen Sie, ob die Benutzeranmeldeinformationen (Zugriffsschlüssel IDs und geheime Schlüssel) wie angegeben ausgetauscht werden.

  3. Nachdem ein IAM Schlüssel rotiert wurde, bestätigen Sie Folgendes:

    • Der alte Wert wird in AWS Secrets Manager gespeichert.

    • Der geheime Name hat das FormatAccount_<account ID>_User_<username>_AccessKey.

    • Der Benutzer, den Sie im admin_email_address Parameter angegeben haben, erhält eine E-Mail-Benachrichtigung über die Schlüsselrotation.

DevOps Ingenieur

Überprüfen Sie die Schlüsselrotation

AufgabeBeschreibungErforderliche Fähigkeiten

Validieren Sie die Lösung.

  1. Melden Sie sich von der AWS Management Console aus beim Bereitstellungskonto an.

  2. Öffnen Sie die IAMKonsole und überprüfen Sie, ob die Benutzeranmeldeinformationen (Zugriffsschlüssel IDs und geheime Schlüssel) wie angegeben ausgetauscht werden.

  3. Nachdem ein IAM Schlüssel rotiert wurde, bestätigen Sie Folgendes:

    • Der alte Wert wird in AWS Secrets Manager gespeichert.

    • Der geheime Name hat das FormatAccount_<account ID>_User_<username>_AccessKey.

    • Der Benutzer, den Sie im admin_email_address Parameter angegeben haben, erhält eine E-Mail-Benachrichtigung über die Schlüsselrotation.

DevOps Ingenieur
AufgabeBeschreibungErforderliche Fähigkeiten

Passen Sie das Datum der E-Mail-Benachrichtigung an.

Wenn Sie an einem bestimmten Tag, bevor Sie den Zugriffsschlüssel deaktivieren, E-Mail-Benachrichtigungen senden möchten, können Sie die IAM-access-key-auto-rotation Lambda-Funktion mit diesen Änderungen aktualisieren:

  1. Definieren Sie eine Variable namensnotify-period.

  2. Fügen Sie eine if Bedingung hinzu, main.py bevor Sie den Schlüssel deaktivieren:

    If (keyage>rotation-period-notify-period){ send_to_notifier(context, aws_account_id, account_name, resource_owner, resource_actions[resource_owner], dryrun, config.emailTemplateAudit) }
DevOps Ingenieur

Erweitern Sie die Lösung

AufgabeBeschreibungErforderliche Fähigkeiten

Passen Sie das Datum der E-Mail-Benachrichtigung an.

Wenn Sie an einem bestimmten Tag, bevor Sie den Zugriffsschlüssel deaktivieren, E-Mail-Benachrichtigungen senden möchten, können Sie die IAM-access-key-auto-rotation Lambda-Funktion mit diesen Änderungen aktualisieren:

  1. Definieren Sie eine Variable namensnotify-period.

  2. Fügen Sie eine if Bedingung hinzu, main.py bevor Sie den Schlüssel deaktivieren:

    If (keyage>rotation-period-notify-period){ send_to_notifier(context, aws_account_id, account_name, resource_owner, resource_actions[resource_owner], dryrun, config.emailTemplateAudit) }
DevOps Ingenieur

Fehlerbehebung

ProblemLösung

Der account-inventory Lambda-Job schlägt AccessDenied beim Auflisten von Konten fehl.

Wenn dieses Problem auftritt, müssen Sie die Berechtigungen überprüfen:

  1. Melden Sie sich bei dem neu verkauften Konto an, öffnen Sie die CloudWatch Amazon-Konsole und sehen Sie sich dann die CloudWatch Protokollgruppe /aws/lambda/account-inventory-lambda an.

  2. Identifizieren Sie in den neuesten CloudWatch Protokollen die Kontonummer, die das Problem mit der Zugriffsverweigerung verursacht hat.

  3. Melden Sie sich beim AWS Control Tower Tower-Verwaltungskonto an und bestätigen Sie, dass die Rolle erstellt allow-list-account wurde.

  4. Wenn die Rolle nicht existiert, führen Sie den Terraform-Code erneut aus, indem Sie den Befehl verwenden. terraform apply

  5. Wählen Sie die Registerkarte Vertrauenswürdiges Konto und überprüfen Sie, ob dasselbe Konto vertrauenswürdig ist.

Zugehörige Ressourcen

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.