SEC02-BP02 Verwenden von temporären Anmeldeinformationen
Bei Authentifizierungen jeder Art, sollten am besten temporäre anstelle langfristiger Anmeldeinformationen verwendet werden, um Risiken zu reduzieren oder zu eliminieren, etwa durch die unbeabsichtigte Offenlegung, die Weitergabe oder den Diebstahl von Anmeldeinformationen.
Gewünschtes Ergebnis: Um das Risiko langfristiger Anmeldeinformationen zu verringern, sollten Sie nach Möglichkeit sowohl für menschliche als auch für maschinelle Identitäten temporäre Anmeldeinformationen verwenden. Langfristige Anmeldeinformationen sind mit vielen Risiken verbunden. So kann es beispielsweise vorkommen, dass sie in Code in öffentliche GitHub-Repositorys hochgeladen werden. Durch die Verwendung temporärer Anmeldeinformationen können Sie die Gefahr, dass Anmeldeinformationen kompromittiert werden, deutlich senken.
Typische Anti-Muster:
-
Entwickler verwenden langfristige Zugriffsschlüssel von IAM-Benutzern, anstatt sich temporäre Anmeldeinformationen per Verbund von der CLI zu beschaffen.
-
Entwickler betten langfristige Zugriffsschlüssel in ihren Code ein und laden diese in öffentliche Git-Repositorys hoch.
-
Entwickler betten langfristige Zugriffsschlüssel in Mobil-Apps ein, die dann in App-Stores verfügbar gemacht werden.
-
Benutzer geben langfristige Zugriffsschlüssel an andere Benutzer weiter, oder Mitarbeiter verlassen das Unternehmen und besitzen weiterhin langfristige Zugriffsschlüssel.
-
Es werden langfristige Zugriffsschlüssel für Maschinenidentitäten genutzt, obwohl temporäre Anmeldeinformationen verwendet werden könnten.
Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: Hoch
Implementierungsleitfaden
Verwenden Sie temporäre anstelle langfristiger Anmeldeinformationen für alle AWS-API- und ‑CLI-Anfragen. API- und CLI-Anfragen an AWS-Services müssen in fast allen Fällen mit AWS-Zugriffsschlüsseln signiert werden. Diese Anfragen können mit temporären oder langfristigen Anmeldeinformationen signiert werden. Langfristige Anmeldeinformationen – auch als langfristige Zugriffsschlüssel bezeichnet – sollten Sie nur verwenden, wenn Sie einen IAM-Benutzer oder den AWS-Konto-Root-Benutzer verwenden. Wenn Sie auf andere Weise einen Verbund mit AWS herstellen oder eine IAM-Rolle übernehmen, werden temporäre Anmeldeinformationen generiert. Selbst wenn Sie mit Anmeldeinformationen auf die AWS Management Console zugreifen, werden für Sie temporäre Anmeldeinformationen für Aufrufe von AWS-Services generiert. Es gibt nur wenige Situationen, in denen Sie langfristige Anmeldeinformationen benötigen, und fast alle Aufgaben lassen sich mit temporären Anmeldeinformationen erledigen.
Das Vermeiden der Verwendung langfristiger zugunsten temporärer Anmeldeinformationen sollte von einer Strategie zur Reduzierung der Verwendung von IAM-Benutzern gegenüber Verbundverfahren und IAM-Rollen begleitet werden. Zwar wurden früher IAM-Benutzer für menschliche und maschinelle Identitäten verwendet, wir empfehlen heute jedoch, dies nicht mehr zu tun, um die mit der Verwendung langfristiger Zugriffsschlüssel verbundenen Risiken zu vermeiden.
Implementierungsschritte
Für menschliche Identitäten wie Mitarbeiter, Administratoren, Entwickler, Bediener und Kunden:
-
Wir empfehlen Ihnen, sich auf einen zentralen Identitätsanbieter zu verlassen und menschliche Benutzer aufzufordern, den Verbund mit einem Identitätsanbieter zu verwenden, um mit temporären Anmeldeinformationen auf AWS zuzugreifen. Der Verbund für Ihre Benutzer kann entweder in Form eines direkten Verbunds mit jedem AWS-Konto
oder unter Verwendung von AWS IAM Identity Center und des Identitätsanbieters Ihrer Wahl erfolgen. Ein Verbund bietet eine Reihe von Vorteilen gegenüber der Verwendung von IAM-Benutzern und eliminiert langfristige Anmeldeinformationen. Ihre Benutzer können auch temporäre Anmeldeinformationen über die Befehlszeile für den direkten Verbund oder mithilfe von IAM Identity Center anfordern. Dies bedeutet, dass es nur wenige Anwendungsfälle gibt, für die IAM-Benutzer oder langfristige Anmeldeinformationen für Ihre Benutzer erforderlich sind. -
Wenn Sie Dritten – etwa Software as a Service (SaaS)-Anbietern – Zugriff auf Ressourcen in Ihrem AWS-Konto gewähren, können Sie kontoübergreifende Rollen und ressourcenbasierte Richtlinien verwenden.
-
Wenn Sie Anwendungen für Verbraucher oder Kunden Zugriff auf Ihre AWS-Ressourcen gewähren müssen, können Sie Amazon Cognito-Identitätspools oder Amazon Cognito-Benutzerpools verwenden, um temporäre Anmeldeinformationen bereitzustellen. Die Berechtigungen für die Anmeldeinformationen werden über IAM-Rollen konfiguriert. Darüber hinaus können Sie eine separate IAM-Rolle mit beschränkten Berechtigungen für nicht authentifizierte Gastbenutzer festlegen.
Für Maschinenidentitäten müssen Sie möglicherweise langfristige Anmeldeinformationen verwenden. In diesen Fällen sollten Sie Workloads auffordern, temporäre Anmeldeinformationen mit IAM-Rollen für den Zugriff auf AWS zu verwenden.
-
Für Amazon Elastic Compute Cloud
(Amazon EC2) können Sie Rollen für Amazon EC2 verwenden.
-
AWS Lambda
ermöglicht es Ihnen, eine Lambda-Ausführungsrolle zu konfigurieren, um dem Service Berechtigungen zu gewähren, die die Ausführung von AWS-Aktionen mit temporären Anmeldeinformationen erlauben. Es gibt zahlreiche ähnliche Modelle für AWS-Services zum Gewähren temporärer Anmeldeinformationen mit IAM-Rollen. -
Für IoT-Geräte können Sie den AWS IoT Core-Anmeldeinformationsanbieter verwenden, um temporäre Anmeldeinformationen anzufordern.
-
Für On-Premises-Systeme oder Systeme, die außerhalb von AWS ausgeführt werden und Zugriff auf AWS-Ressourcen benötigen, können Sie IAM Roles Anywhere verwenden.
Es gibt Szenarien, in denen temporäre Anmeldeinformationen nicht in Frage kommen und stattdessen langfristige Anmeldeinformationen verwendet werden müssen. In diesen Situationen sollten Anmeldeinformationen regelmäßig überprüft und rotiert werden und Zugriffsschlüssel für Anwendungsfälle, die langfristige Anmeldeinformationen erfordern, rotiert werden. Beispiele, bei denen langfristige Anmeldeinformationen erforderlich sind, sind etwa WordPress-Plugins und AWS-Clients von Drittanbietern. In Situationen, in denen Sie langfristige Anmeldeinformationen verwenden müssen, sowie für andere Anmeldeinformationen als AWS-Zugriffsschlüssel (z. B. Datenbankanmeldungen) können Sie einen Service verwenden, der für die Verwaltung von Secrets konzipiert ist, etwa AWS Secrets Manager
Ressourcen
Zugehörige bewährte Methoden:
Zugehörige Dokumente:
Zugehörige Videos: