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: Senkung des Risikos im Zusammenhang mit langfristigen Anmeldeinformationen durch die Verwendung temporärer Anmeldeinformationen, wo immer dies für menschliche und maschinelle Identitäten möglich ist. 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 der Kompromittierung von Anmeldeinformationen deutlich senken.
Typische Anti-Muster:
-
Entwickler verwenden langfristige Zugriffsschlüssel von IAM users, 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.
-
Verwendung langfristiger Zugriffsschlüssel für Maschinenidentitäten, 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 müssen in fast jedem Fall mit AWS-Zugriffsschlüsseln signiert werden. Diese Anfragen können mit temporären oder langfristigen Anmeldeinformationen signiert werden. Sie sollten langfristige Anmeldeinformationen (bzw. Zugriffsschlüssel) nur nutzen, wenn Sie einen IAM-Benutzer oder den Root-Benutzer des AWS-Konto verwenden. Wenn Sie einen Verbund mit AWS nutzen oder eine IAM-Rolle über andere Methoden annehmen, 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 auszuschalten.
Implementierungsschritte
Für menschliche Identitäten wie Mitarbeiter, Administratoren, Entwickler, Bediener und Kunden:
-
Sie sollten einen zentralisierten Identitätsanbieter nutzen und von menschlichen Benutzern die Verwendung von Verbundverfahren mit einem Identitätsanbieter verlangen, damit mit temporären Anmeldeinformationen auf AWS zugegriffen wird. Ein Verbund für Ihre Benutzer kann per direktem Verbund zu jedem AWS-Konto
oder mit AWSIAM Identity Center (Nachfolger von AWS IAM Identity Center) und dem Identitätsanbieter Ihrer Wahl erreicht werden. 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 aus der Befehlszeile für einen direkten Verbund oder mit 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 Dritten, wie beispielsweise Anbietern von Software as a Service (SaaS), der Zugriff auf Ressourcen in Ihrem AWS-Konto gewährt wird, können Sie kontoübergreifende Rollen und ressourcenbasierende Richtlinien verwenden.
-
Wenn Sie Verbraucheranwendungen oder Kunden Zugriff auf Ihre AWS-Ressourcen gewähren müssen, können Sie Amazon Cognito-Identitätspools oder Amazon Cognito user pools verwenden, um temporäre Anmeldeinformationen bereitzustellen. Die Berechtigungen für die Anmeldeinformationen werden über IAM-Rollen konfiguriert. Sie können auch eine separate IAM-Rolle mit eingeschränkten Berechtigungen für Gastbenutzer definieren, die nicht authentifiziert sind.
Für Maschinenidentitäten müssen Sie möglicherweise langfristige Anmeldeinformationen verwenden. In solchen Fällen sollten Sie verlangen, dass Workloads temporäre Anmeldeinformationen mit IAM-Rollen zum Zugriff auf AWS verwenden.
-
Für Amazon Elastic Compute Cloud
(Amazon EC2) können Sie Rollen für Amazon EC2 verwenden.
-
AWS Lambda
ermöglicht die Konfiguration einer Lambda-Ausführungsrolle, um dem Service Berechtigungen zum Ausführen von AWS-Aktionen unter Verwendung temporärer Anmeldeinformationen zu erteilen. 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 Anmeldeinformationenanbieter von AWS IoT Core zur Anfrage nach temporären Anmeldeinformationen verwenden.
-
Für On-Premises-Systeme oder außerhalb von AWS ausgeführte Systeme, die 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 solchen Fällen sollten Sie die Anmeldeinformationen regelmäßig prüfen und rotieren sowie die Zugriffsschlüssel für Anwendungsfälle, die langfristige Anmeldeinformationen erfordern, regelmäßig wechseln. Beispiele, bei denen langfristige Anmeldeinformationen erforderlich sind, sind etwa WordPress-Plugins und AWS-Clients von Drittanbietern. In Situationen, die langfristige Anmeldeinformationen erfordern, oder für andere Anmeldeinformationen als AWS-Zugriffsschlüssel, wie z. B. Datenbankanmeldungen, können Sie einen Service verwenden, der für die Verwaltung von Secrets gedacht ist, wie etwa AWS Secrets Manager
Ressourcen
Zugehörige bewährte Methoden:
Zugehörige Dokumente:
Zugehörige Videos:
-
Managing user permissions at scale with AWS IAM Identity Center (successor to AWS IAM Identity Center)
(Verwalten von Benutzerberechtigungen in großem Umfang mit AWS IAM Identity Center (Nachfolger von AWS IAM Identity Center)) -
Mastering identity at every layer of the cake
(Beherrschen der Identität auf jeder Ebene)