View a markdown version of this page

Sicherung AWS IAM Roles Anywhere mit einem privaten Zertifikat - 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.

Sicherung AWS IAM Roles Anywhere mit einem privaten Zertifikat

Barnali Singh, Amazon Web Services

Zusammenfassung

Dieses Muster zeigt, wie AWS IAM Roles Anywhere with AWS Private Certificate Authority (AWS Private CA) implementiert wird, um eine sichere, zertifikatsbasierte Authentifizierung für externe Workloads zu ermöglichen, die auf Ressourcen zugreifen. AWS Die Lösung macht langfristige Zugriffsschlüssel überflüssig, da X.509 Zertifikate zum Abrufen temporärer Anmeldeinformationen verwendet werden. AWS Dabei handelt es sich um ein cloudnatives Sicherheitsmuster, das eine vollständige Automatisierung durch AWS CloudFormation Vorlagen und Shell-Skripts beinhaltet und es Unternehmen ermöglicht, schnell eine sichere Hybridauthentifizierung für lokale Anwendungen, CI/CD Pipelines und externe Systeme bereitzustellen.

Voraussetzungen und Einschränkungen

Voraussetzungen

Für AWS die Bereitstellung der Infrastruktur:

  • AWS CLI mit Administratorrechten installiert und konfiguriert

  • Administratorberechtigungen für IAM IAM Roles Anywhere, und Services AWS Private CA

Für die Einrichtung des Clientsystems:

  • AWS CLI auf dem Client-System mit diesen Berechtigungen installiert:

    • acm-pca:IssueCertificate

    • acm-pca:GetCertificate

  • OpenSSL ist auf dem Clientsystem installiert

  • AWS Signing Helper ist auf jedem Clientsystem installiert

  • Grundlegendes Verständnis von X.509 Zertifikaten und PKI-Konzepten

Anmerkung

Die CloudFormation Vorlage kümmert sich automatisch um die Erstellung von AWS Ressourcen. OpenSSL wird nur auf externen Systemen benötigt, die Zertifikate für den Zugriff auf AWS Ressourcen verwenden.

Einschränkungen

  • Die Gültigkeitsdauer des Zertifikats ist für die Root-CA auf maximal 10 Jahre begrenzt

  • Wechseln Sie die Client-Zertifikate regelmäßig. Wir empfehlen Ihnen, dies mindestens einmal pro Jahr zu tun.

  • Regionale Beschränkung: Vertraue den Ankern und AWS Private CA du musst dich in derselben AWS Region befinden

  • Maximale Zertifikatsgröße: 16 KB für Client-Zertifikate

Produktversionen

  • AWS CLI Version 2.0 oder höher

  • OpenSSL 1.1.1 oder höher

  • AWS Signing Helper 1.4.0 oder höher

  • AWS Private CA, aktuelle Version

  • IAM Roles Anywhere e, aktuelle Version

Architektur

Zieltechnologie-Stack

• AWS Private CA — Stammzertifizierungsstelle für die Ausstellung von Zertifikaten

• IAM Roles Anywhere — Dienst zur Certificate-based Rollenübernahme

• IAM-Rollen und -Richtlinien — Zugriffskontrolle und Berechtigungen

• AWS Signing Helper — Tool zum Client-side Abrufen von Anmeldeinformationen

• OpenSSL — Zertifikat- und Schlüsselgenerierung

• CloudFormation - Automatisierung der Infrastruktur

Zielarchitektur

Abbildung 1 IAM Roles Anywhere zertifikatsbasierte Authentifizierung

Die Architektur besteht aus:

  1. Vorliegendes Zertifikat — Das externe System überreicht das X.509 Zertifikat an AWS

  2. Authentifizieren — IAM Roles Anywhere empfängt das Zertifikat und leitet die Authentifizierung ein

  3. Verifizieren — Trust Anchor verifiziert das Zertifikat anhand vertrauenswürdiger Zertifizierungsstellen

  4. Validieren — AWS Private CA bestätigt die Echtheit und den Status des Zertifikats

  5. Zertifikat gültig — AWS Private CA bestätigt, dass das Zertifikat gültig und vertrauenswürdig ist

  6. Rolle übernehmen — IAM Roles Anywhere ermöglicht dem externen System, die konfigurierte IAM-Rolle zu übernehmen

  7. Zugriff gewähren — Das externe System erhält temporäre Anmeldeinformationen für den Zugriff auf Ressourcen AWS

Automatisierung und Skalierung

Dieses Muster beinhaltet die vollständige Automatisierung durch:

• CloudFormation Vorlage für die Bereitstellung von AWS Ressourcen mit konfigurierbaren IAM-Berechtigungen

• Shell-Skript für die Generierung von Zertifikaten und die Einrichtung des Clients

• Parametrisierte Konfiguration für mehrere Umgebungen und benutzerdefinierte IAM-Richtlinien

• Generierung von Batch-Zertifikaten für mehrere Kunden

• Automatisierte Installation und Konfiguration von Credential Helper

Workflow

  1. Richten Sie die grundlegenden AWS Dienste ein, die für die zertifikatsbasierte Authentifizierung erforderlich sind, mithilfe von. IAM Roles Anywhere

  2. Erstellen und konfigurieren Sie clientseitige Zertifikate und Authentifizierungstools für den sicheren Zugriff. AWS

  3. Überprüfen Sie die zertifikatsbasierte Authentifizierungsfunktion und richten Sie die Überwachung des laufenden Betriebs ein.

Tools

• CloudFormation — Automatisiert die Erstellung von PCA, Trust Anchor, IAM-Rolle und Profil

• AWS CLI - Command-line Schnittstelle für die Serviceinteraktion AWS

• OpenSSL — Generiert Zertifikatsignieranfragen und verwaltet Zertifikate

• AWS Signing Helper — Tauscht Zertifikate gegen temporäre AWS Anmeldeinformationen aus

• Bash/shell Skripte — Automatisiert den kompletten Einrichtungsprozess

Code-Repository

AWS IAM-Rollen überall mit privater Zertifizierungsstelle

Best Practices

  • Konfigurieren Sie IAM-Richtlinien auf der Grundlage des Prinzips der geringsten Rechte mithilfe der --iam-policies parameter

  • Wechseln Sie die Client-Zertifikate regelmäßig. Wir empfehlen Ihnen, dies jährlich zu tun.

  • Verwenden Sie in Vertrauensrichtlinien eine strenge Zertifikatsvalidierung

  • Implementieren Sie Zertifikatssperrverfahren

  • Überwachen Sie die Ablaufdaten von Zertifikaten

Epen

AufgabeDescriptionErforderliche Fähigkeiten

CloudFormationInfrastruktur bereitstellen

Erstellen und implementieren Sie die CloudFormation Vorlage, die alle erforderlichen AWS Ressourcen bereitstellt AWS Private CA, einschließlich Trust Anchor, IAM-Rolle mit entsprechenden Richtlinien und IAM Roles Anywhere Profil.  Konfigurieren Sie Parameter für die Projektbenennung, die Gültigkeitsdauer von Zertifikaten, die Sitzungsdauer und die IAM-Richtlinienanhänge, um die Grundlage für die Kerninfrastruktur zu schaffen.

Cloud-Architekt, Ingenieur DevOps

Konfigurieren Sie die Einrichtung der Zertifizierungsstelle

Initialisieren Sie das, AWS Private CA indem Sie das Stammzertifikat installieren, Zertifikatsvorlagen konfigurieren und die Vertrauenskette für Zertifikate einrichten. Richten Sie Gültigkeitszeiträume, Schlüsselalgorithmen und Zertifikatserweiterungen für Zertifikate ein, die für die IAM Roles Anywhere Authentifizierung erforderlich sind, um eine ordnungsgemäße PKI-Infrastruktur sicherzustellen.

AWS-Administrator, Cloud-Administrator

&AWS; -Ressourcenkonfiguration validieren

Führen Sie eine umfassende Validierung aller bereitgestellten AWS Ressourcen durch, um die korrekte Konfiguration und Konnektivität sicherzustellen. Stellen Sie sicher, dass Trust Anchor korrekt verknüpft ist AWS Private CA, dass die IAM-Rolle über die entsprechenden Berechtigungen verfügt, das Profil ordnungsgemäß konfiguriert ist und dass alle Ressourcen den active/ready Status für zertifikatsbasierte Authentifizierungsworkflows aufweisen.

AWS-Systemadministrator, Testingenieur
AufgabeDescriptionErforderliche Fähigkeiten

Bereiten Sie die Kundenumgebung vor

Richten Sie die Client-Umgebung ein, indem Sie Bereitstellungsskripten ausführbar machen und die richtigen Berechtigungen sicherstellen. Konfigurieren Sie das lokale System mit den erforderlichen Tools und Abhängigkeiten, überprüfen Sie den Zugriff auf Skripte und legen Sie die Grundlage für die Generierung und Bereitstellung von Zertifikaten fest.

DevOps Ingenieur, AWS-Systemadministrator

Generieren Sie eine Anfrage zur Zertifikatsign

Erstellen Sie mit OpenSSL oder gleichwertigen Tools eine Certificate Signing Request (CSR) für das Clientsystem. Konfigurieren Sie Zertifikatsparameter wie Betreffinformationen, Schlüsselalgorithmen und Zertifikatserweiterungen.  Stellen Sie sicher, dass der CSR die AWS Private CA Anforderungen erfüllt und geeignete Metadaten für die IAM Roles Anywhere Authentifizierung enthält.

Cloud-Administrator, Ingenieur DevOps

Stellen Sie das Client-Zertifikat aus über AWS Private CA

Verarbeiten Sie die CSR bis AWS Private CA zur Ausstellung eines gültigen Client-Zertifikats. Konfigurieren Sie die Gültigkeitszeiträume von Zertifikaten und Zertifikatsvorlagen und stellen Sie sicher, dass die Zertifikatskette ordnungsgemäß eingerichtet wird. Überprüfen Sie die Ausstellung des Zertifikats und laden Sie das signierte Zertifikat für die Client-Bereitstellung herunter.

AWS-Administrator, Cloud-Architekt
AufgabeDescriptionErforderliche Fähigkeiten

Besorgen Sie sich temporäre AWS Anmeldeinformationen

Führen Sie das Credential Helper-Skript aus, um mithilfe des konfigurierten Client-Zertifikats und des privaten Schlüssels temporäre AWS Anmeldeinformationen abzurufen. Stellen Sie sicher, dass der Prozess zum Abrufen von Anmeldeinformationen ordnungsgemäß funktioniert, überprüfen Sie das Format und die Ablaufzeiten der Anmeldeinformationen und stellen Sie sicher, dass der IAM Roles Anywhere Dienst ordnungsgemäß integriert ist, um reibungslose Authentifizierungsworkflows zu gewährleisten.

DevOps Ingenieur, AWS-Systemadministrator

Testen Sie den AWS Ressourcenzugriff

Führen Sie umfassende Tests des AWS Ressourcenzugriffs mit den erhaltenen temporären Anmeldeinformationen durch. Führen Sie verschiedene AWS CLI Befehle und API-Aufrufe aus, um die Konnektivität zu Zieldiensten wie Amazon S3, Amazon EC2 und AWS Lambda zu überprüfen. Überprüfen Sie, ob die Berechtigungen den konfigurierten IAM-Rollenrichtlinien entsprechen, und dokumentieren Sie erfolgreiche Zugriffsmuster.

Testingenieur, Cloud-Administrator

Überprüfen Sie die Rollenannahme und die Berechtigungen

Führen Sie eine gründliche Überprüfung des IAM-Rollenübernahmeprozesses und der Berechtigungsgrenzen durch. Testen Sie sowohl erlaubte als auch eingeschränkte Operationen, um sicherzustellen, dass der Zugriff mit den geringsten Rechten ordnungsgemäß durchgesetzt wird. Überprüfen Sie die Beschränkungen für die Sitzungsdauer und die Mechanismen zur Aktualisierung der Anmeldeinformationen und stellen Sie sicher, dass die Rollenübernahme den bewährten Sicherheitsmethoden entspricht.

AWS-Administrator, Testingenieur

Implementieren Sie Überwachung und Protokollierung

Richten Sie eine umfassende Überwachung und Protokollierung für das zertifikatsbasierte Authentifizierungssystem ein. Konfigurieren Sie die CloudTrail Protokollierung für Prüfpfade, implementieren Sie die Überwachung des Ablaufs von Zertifikaten, richten Sie Warnmeldungen für Authentifizierungsfehler ein und richten Sie Dashboards ein, um Nutzungsmuster und Sicherheitsereignisse in der gesamten Infrastruktur nachzuverfolgen. IAM Roles Anywhere

DevOps Ingenieur, Cloud-Architekt

Fehlerbehebung

ProblemLösung

Fehler bei der Zertifikatsvalidierung — Fehler „Die Zertifikatsvalidierung ist fehlgeschlagen“ oder InvalidCertificate "" beim Authentifizierungsversuch.

Lösungsschritte:

• Überprüfen Sie die Gültigkeitsdaten des Zertifikats mit 

openssl x509 -in certificate.pem -dates -noout

• Vergewissern Sie sich, dass die Trust Anchor-Konfiguration auf die richtige private CA verweist

• Stellen Sie sicher, dass der private Schlüssel dem Zertifikat entspricht

• Generieren Sie das Zertifikat erneut, wenn es von der falschen Zertifizierungsstelle ausgestellt wurde

 Fehler „IAM-Zugriff verweigert“ — „Zugriff verweigert“ oder „UnauthorizedOperation" beim Zugriff auf AWS Ressourcen trotz erfolgreicher Authentifizierung

Schritte zur Lösung:

• Überprüfen und erweitern Sie die IAM-Rollenrichtlinien, um die erforderlichen Berechtigungen einzubeziehen

• Stellen Sie sicher, dass die Vertrauensrichtlinie rolesanywhere.amazonaws.com als vertrauenswürdige Entität beinhaltet

• Überprüfen Sie, ob die ARN-Konfiguration des Profils mit den bereitgestellten Ressourcen übereinstimmt

• Implementieren Sie einen Mechanismus zur Aktualisierung der Anmeldeinformationen für Prozesse mit langer Laufzeit

Zugehörige Ressourcen

Zusätzliche Informationen

Dieses Muster ist ideal für Unternehmen mit Hybrid-Cloud-Architekturen, CI/CD Pipelines, die außerhalb laufen AWS, oder für jedes externe System, das einen sicheren AWS Zugriff erfordert. Der zertifikatsbasierte Ansatz bietet eine bessere Sicherheit als langfristige Zugriffsschlüssel und ermöglicht eine zentralisierte Zertifikatsverwaltung über die. AWS Private CA

Konfigurierbare IAM-Berechtigungen — Die Lösung unterstützt die flexible Konfiguration von IAM-Richtlinien durch: --iam-policies parameter

  • Standard: ReadOnlyAccess für eine sichere Erstbereitstellung

  • Benutzerdefiniert: Geben Sie durch Kommas getrennte Richtlinien-ARNs für bestimmte Anwendungsfälle an. Zum Beispiel, S3ReadOnlyAccessEC2ReadOnlyAccess, oder benutzerdefinierte Richtlinien. Unterstützt mehrere Richtlinien für komplexe Berechtigungsanforderungen.

Anwendungsbeispiele:

# Default read-only access ./deploy.sh # S3-only access ./deploy.sh --iam-policies "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess" # Multiple services ./deploy.sh --iam-policies "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess,arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess"