Zugriffsschlüssel sichern - AWS Identitäts- und Zugriffsverwaltung

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.

Zugriffsschlüssel sichern

Jeder, der über Ihre Zugangsschlüssel verfügt, hat denselben Zugriff auf Ihre AWS Ressourcen wie Sie. Daher AWS unternimmt er erhebliche Anstrengungen, um Ihre Zugangsschlüssel zu schützen, und gemäß unserem Modell der geteilten Verantwortung sollten Sie das auch tun.

Erweitern Sie die folgenden Abschnitte, um Anleitungen zum Schutz Ihrer Zugriffsschlüssel zu erhalten.

Anmerkung

Ihre Organisation hat unter Umständen andere Sicherheitsanforderungen und -richtlinien als die in diesem Thema beschriebenen. Die hier gemachten Vorschläge dienen lediglich als allgemeine Orientierungshilfe.

Eine der besten Methoden, Ihr Konto zu schützen, besteht darin, für Ihr Root-Benutzer des AWS-Kontos gar keinen Zugriffsschlüssel zu verwenden. Sofern Sie nicht über Root-Benutzer-Zugriffsschlüssel verfügen müssen (was selten vorkommt), ist es am besten, diese nicht zu generieren. Erstellen Sie stattdessen einen Administratorbenutzer AWS IAM Identity Center für die täglichen Verwaltungsaufgaben. Informationen zum Erstellen eines Administratorbenutzers in IAM Identity Center finden Sie unter Erste Schritte im IAM Identity Center-Benutzerhandbuch.

Wenn Sie bereits über Root-Benutzer-Zugriffsschlüssel für Ihr Konto verfügen, empfehlen wir Folgendes: Suchen Sie in Ihren Anwendungen nach Stellen, an denen Sie derzeit Zugriffsschlüssel verwenden (falls vorhanden), und ersetzen Sie die Root-Benutzer-Zugriffsschlüssel durch IAM-Benutzerzugriffsschlüssel. Deaktivieren und entfernen Sie dann die Root-Benutzer-Zugriffsschlüssel. Weitere Informationen zum Aktualisieren der Zugriffsschlüsseln finden Sie unter Zugriffsschlüssel aktualisieren

In vielen Fällen benötigen Sie keine langfristigen Zugriffsschlüssel, die nie ablaufen (wie es bei IAM-Benutzern der Fall ist). Erstellen Sie stattdessen IAM-Rollen und generieren Sie temporäre Sicherheitsanmeldeinformationen. Temporäre Sicherheitsanmeldeinformationen bestehen aus einer Zugriffsschlüssel-ID und einem geheimen Zugriffsschlüssel, enthalten aber auch ein Sicherheits-Token, das angibt, wann die Anmeldeinformationen ablaufen.

Langzeit-Zugriffsschlüssel, wie etwa solche für IAM-Benutzer und -Root-Benutzer, bleiben so lange gültig, bis Sie sie manuell widerrufen. Temporäre Sicherheitsanmeldedaten, die Sie über IAM-Rollen und andere Funktionen von erhalten haben, AWS Security Token Service laufen jedoch nach kurzer Zeit ab. Verwenden Sie temporäre Sicherheitsanmeldeinformationen, um das Risiko für den Fall zu verringern, dass Anmeldeinformationen versehentlich kompromittiert werden.

Verwenden Sie eine IAM-Rolle und temporäre Sicherheitsanmeldeinformationen in den folgenden Szenarien:

  • Sie haben eine Anwendung oder AWS CLI Skripte, die auf einer EC2 Amazon-Instance ausgeführt werden. Verwenden Sie Zugriffsschlüssel nicht direkt in Ihrer Anwendung. Übergeben Sie keine Zugriffsschlüssel an die Anwendung, betten Sie sie nicht in die Anwendung ein und lassen Sie die Anwendung keine Zugriffsschlüssel beliebiger Quellen lesen. Definieren Sie stattdessen eine IAM-Rolle, die über die entsprechenden Berechtigungen für Ihre Anwendung verfügt, und starten Sie die Amazon Elastic Compute Cloud (Amazon EC2) -Instance mit Rollen für EC2. Dadurch wird der EC2 Amazon-Instance eine IAM-Rolle zugeordnet. Durch diese Vorgehensweise erhält die Anwendung auch temporäre Sicherheitsanmeldeinformationen, die sie wiederum für programmgesteuerte Aufrufe an AWS verwenden kann. Das AWS SDKs und das AWS Command Line Interface (AWS CLI) können automatisch temporäre Anmeldeinformationen von der Rolle abrufen.

  • Sie müssen kontenübergreifenden Zugriff gewähren. Verwenden Sie eine IAM-Rolle zum Einrichten von Vertrauensstellungen zwischen Konten und erteilen Sie Benutzern in einem Konto eingeschränkte Zugriffsberechtigungen für das vertrauenswürdige Konto. Weitere Informationen finden Sie unter IAMTutorial: Delegieren Sie den Zugriff über AWS Konten hinweg mithilfe von Rollen IAM.

  • Sie verfügen über eine mobile App. Betten Sie keine Zugriffsschlüssel in die App ein, auch nicht in verschlüsselten Speichern. Verwenden Sie stattdessen Amazon Cognito zum Verwalten der Benutzeridentitäten in Ihrer App. Dieser Service ermöglicht Ihnen die Authentifizierung von Benutzern, die Login with Amazon, Facebook, Google oder einen beliebigen OpenID Connect (OIDC)-kompatiblen Identitätsanbieter nutzen. Anschließend können Sie den Anmeldeinformationsanbieter von Amazon Cognito verwenden, um Anmeldeinformationen zu verwalten, die Ihre App für Anforderungen an AWS nutzt.

  • Sie möchten sich zu SAML 2.0 AWS zusammenschließen und Ihre Organisation unterstützt diese. Falls Ihre Organisation über einen Identitätsanbieter verfügt, der SAML 2.0 unterstützt, konfigurieren Sie den Anbieter für SAML. Sie können SAML verwenden, um Authentifizierungsinformationen mit temporären Sicherheitsanmeldedaten auszutauschen AWS und diese zurückzugewinnen. Weitere Informationen finden Sie unter SAML 2.0-Verbund.

  • Sie möchten sich mit einem lokalen Identitätsspeicher verbinden AWS und Ihre Organisation verfügt über einen lokalen Identitätsspeicher. Wenn sich Benutzer innerhalb Ihrer Organisation authentifizieren können, können Sie eine Anwendung schreiben, die ihnen temporäre Sicherheitsanmeldedaten für den Zugriff auf Ressourcen ausstellt. AWS Weitere Informationen finden Sie unter Benutzerdefinierten Identity Broker-Zugriff auf die AWS Konsole aktivieren.

  • Verwenden Sie Bedingungen in IAM-Richtlinien, um nur den Zugriff von erwarteten Netzwerken aus zuzulassen. Sie können einschränken, wo und wie Ihre Zugriffsschlüssel verwendet werden, indem Sie IAM-Richtlinien mit Bedingungen implementieren, die nur erwartete Netzwerke spezifizieren und zulassen, z. B. Ihre öffentlichen IP-Adressen oder Virtual Private Clouds ()VPCs. Auf diese Weise wissen Sie, dass Zugriffsschlüssel nur von erwarteten und akzeptablen Netzwerken verwendet werden können.

Anmerkung

Verwenden Sie eine EC2 Amazon-Instance mit einer Anwendung, die programmgesteuerten Zugriff auf AWS Ressourcen benötigt? Wenn ja, verwenden Sie IAM-Rollen für. EC2

Wenn Sie Zugriffsschlüssel für den programmatischen Zugriff erstellen müssen AWS, erstellen Sie diese für IAM-Benutzer und gewähren Sie den Benutzern nur die Berechtigungen, die sie benötigen.

Beachten Sie diese Vorsichtsmaßnahmen, um die Zugriffsschlüssel von IAM-Benutzern zu schützen:

  • Betten Sie Zugriffsschlüssel nicht direkt in den Code ein. AWS Mit den Befehlszeilentools AWS SDKsund den Befehlszeilentools können Sie Zugriffsschlüssel an bekannten Orten platzieren, sodass Sie sie nicht im Code speichern müssen.

    Legen Sie Zugriffsschlüssel an einem der folgenden Orte ab:

    • Die Datei mit den AWS Anmeldeinformationen. Die AWS SDKs und verwenden AWS CLI automatisch die Anmeldeinformationen, die Sie in der AWS Anmeldeinformationsdatei speichern.

      Informationen zur Verwendung der AWS Anmeldeinformationsdatei finden Sie in der Dokumentation zu Ihrem SDK. Beispiele hierfür sind Set AWS Credentials and Region im AWS SDK for Java Developer Guide und Configuration and Credentials Files im AWS Command Line Interface User Guide.

      Um Anmeldeinformationen für AWS SDK for .NET und zu speichern AWS Tools for Windows PowerShell, empfehlen wir, den SDK Store zu verwenden. Weitere Informationen finden Sie unter Verwenden des SDK-Speichers im AWS SDK for .NET -Entwicklerhandbuch.

    • Umgebungsvariablen. Wählen Sie in einem System mit mehreren Mandanten Benutzerumgebungsvariablen und keine Systemumgebungsvariablen aus.

      Weitere Informationen zur Verwendung von Umgebungsvariablen zum Speichern von Anmeldeinformationen finden Sie unter Umgebungsvariablen im AWS Command Line Interface -Benutzerhandbuch.

  • Verwenden Sie unterschiedliche Zugriffsschlüssel für unterschiedliche Anwendungen. Wenn Sie dies tun, können Sie die Berechtigungen isolieren und die Zugriffsschlüssel für einzelne Anwendungen widerrufen, wenn ein Zugriffsschlüssel kompromittiert wurde. Mit separaten Zugriffsschlüsseln für verschiedene Anwendungen werden auch eindeutige Einträge in AWS CloudTrail-Protokolldateien generiert. Mit dieser Konfiguration können Sie leichter feststellen, welche Anwendung bestimmte Aktionen ausgeführt hat.

  • Aktualisieren Sie die Zugriffsschlüssel bei Bedarf. Wenn das Risiko besteht, dass der Zugriffsschlüssel kompromittiert werden könnte, aktualisieren Sie den Zugriffsschlüssel und löschen Sie den vorherigen Zugriffsschlüssel. Details hierzu finden Sie unter Zugriffsschlüssel aktualisieren

  • Entfernen Sie nicht verwendete Zugriffsschlüssel. Wenn ein Benutzer Ihre Organisation verlässt, entfernen Sie den entsprechenden IAM-Benutzer, damit dieser nicht mehr auf Ihre Ressourcen zugreifen kann. Um herauszufinden, wann ein Zugriffsschlüssel zuletzt verwendet wurde, verwenden Sie die GetAccessKeyLastUsedAPI (AWS CLI command: aws iam get-access-key-last-used).

  • Verwenden Sie temporäre Anmeldeinformationen und konfigurieren Sie die Multi-Faktor-Authentifizierung für Ihre sensibelsten API-Vorgänge. Mit IAM-Richtlinien können Sie angeben, welche API-Operationen ein Benutzer aufrufen darf. In einigen Fällen möchten Sie möglicherweise die zusätzliche Sicherheit nutzen, die darin besteht, dass Benutzer mit AWS MFA authentifiziert werden müssen, bevor Sie ihnen erlauben, besonders vertrauliche Aktionen auszuführen. Möglicherweise haben Sie eine Richtlinie, die es einem Benutzer ermöglicht, die Amazon- EC2 RunInstancesDescribeInstances, und StopInstances -Aktionen auszuführen. Möglicherweise möchten Sie jedoch eine destruktive Aktion einschränken TerminateInstances und sicherstellen, dass Benutzer diese Aktion nur ausführen können, wenn sie sich mit einem AWS MFA-Gerät authentifizieren. Weitere Informationen finden Sie unter Sicherer API Zugriff mit MFA.

Mit der AWS mobilen App können Sie auf eine begrenzte Anzahl von AWS Diensten und Funktionen zugreifen. Mit der mobilen App können Sie auch unterwegs auf Vorfälle reagieren. Unter AWS Console Mobile Application können Sie die App herunterladen und weitere Informationen erhalten.

Sie können sich mit Ihrem Konsolenpasswort oder Ihren Zugriffsschlüsseln bei der mobilen App anmelden. Verwenden Sie als bewährte Methode keine Stammbenutzer-Zugriffsschlüssel. Stattdessen empfehlen wir dringend, zusätzlich zur Verwendung eines Passworts oder einer biometrischen Sperre auf Ihrem Mobilgerät einen IAM-Benutzer speziell für die Verwaltung von AWS Ressourcen mithilfe der mobilen App einzurichten. Wenn Sie Ihr Mobilgerät verlieren, können Sie den Zugriff des IAM-Benutzers entfernen.

So melden Sie sich mit Zugriffsschlüsseln an (mobile App)
  1. Öffnen Sie die App auf Ihrem mobilen Gerät.

  2. Wenn Sie dem Gerät zum ersten Mal eine Identität hinzufügen, wählen Sie Identität hinzufügen und dann Zugriffsschlüssel aus.

    Wenn Sie sich bereits mit einer anderen Identität angemeldet haben, wählen Sie das Menüsymbol und dann Identität wechseln aus. Wählen Sie dann Als andere Identität anmelden und dann Zugriffsschlüssel aus.

  3. Geben Sie auf der Seite Zugriffsschlüssel Ihre Informationen ein:

    • Zugriffsschlüssel-ID: Geben Sie Ihre Zugriffsschlüssel-ID ein.

    • Geheimer Zugriffsschlüssel: Geben Sie Ihren geheimen Zugriffsschlüssel ein.

    • Identitätsname: Geben Sie den Namen der Identität ein, der in der mobilen App angezeigt wird. Dieser muss nicht mit Ihrem IAM-Benutzernamen übereinstimmen.

    • Identitäts-PIN: Erstellen Sie eine persönliche Identifizierungsnummer (PIN), die Sie bei zukünftigen Anmeldungen verwenden.

      Anmerkung

      Wenn Sie die Biometrie für die AWS mobile App aktivieren, werden Sie aufgefordert, anstelle der PIN Ihren Fingerabdruck oder Ihre Gesichtserkennung zur Überprüfung zu verwenden. Wenn die Biometrie fehlschlägt, werden Sie möglicherweise stattdessen zur Eingabe der PIN aufgefordert.

  4. Wählen Sie Überprüfen und Hinzufügen von Schlüsseln.

    Sie können nun über die mobile App auf eine ausgewählte Gruppe Ihrer Ressourcen zugreifen.

Die folgenden Themen enthalten Anleitungen zur Einrichtung AWS SDKs und Verwendung der AWS CLI Zugriffstasten:

Verwenden von Zugriffsschlüsseln und geheimen Schlüsselanmeldedaten für den Konsolenzugriff

Es ist möglich, Zugriffsschlüssel und geheime Schlüsselanmeldedaten für den direkten AWS Management Console Zugriff zu verwenden, nicht nur die AWS CLI. Dies kann mithilfe des AWS STS GetFederationTokenAPI-Aufrufs erreicht werden. Durch die Erstellung einer Konsolen-URL mithilfe der temporären Anmeldeinformationen und des Tokens, die von bereitgestellt werdenGetFederationToken, können IAM-Prinzipale auf die Konsole zugreifen. Weitere Informationen finden Sie unter Benutzerdefinierten Identity Broker-Zugriff auf die AWS Konsole aktivieren.

Es sollte klargestellt werden, dass MFA erforderlich ist, wenn Sie sich direkt mit IAM- oder Root-Benutzeranmeldedaten bei aktivierter MFA an der Konsole anmelden. Wenn jedoch die oben beschriebene Methode (unter Verwendung temporärer Anmeldeinformationen mitGetFederationToken) verwendet wird, ist MFA NICHT erforderlich.

Überwachen von Zugriffsschlüsseln

Sie können die AWS Zugriffsschlüssel in Ihrem Code überprüfen, um festzustellen, ob die Schlüssel von einem Konto stammen, das Ihnen gehört. Sie können eine Zugriffsschlüssel-ID mithilfe des aws sts get-access-key-info AWS CLI Befehls oder der GetAccessKeyInfo AWS API-Operation übergeben.

Die AWS API-Operationen AWS CLI und geben die ID der Person zurück, AWS-Konto zu der der Zugriffsschlüssel gehört. Der Zugriffsschlüssel, der mit IDs beginnt, AKIA sind langfristige Anmeldeinformationen für einen IAM-Benutzer oder einen Root-Benutzer des AWS-Kontos. Bei einem Zugriffsschlüssel, der mit IDs beginnt, ASIA handelt es sich um temporäre Anmeldeinformationen, die mithilfe von AWS STS Vorgängen erstellt werden. Wenn das Konto in der Antwort Ihnen gehört, können Sie sich als Stammbenutzer anmelden und Ihre Stammbenutzer-Zugriffsschlüssel überprüfen. Anschließend können Sie einen Anmeldeinformationsbericht abrufen, um zu erfahren, welcher IAM-Benutzer die Schlüssel besitzt. Um zu erfahren, wer die temporären Anmeldeinformationen für einen ASIA Zugriffsschlüssel angefordert hat, sehen Sie sich die AWS STS Ereignisse in Ihren CloudTrail Protokollen an.

Aus Sicherheitsgründen können Sie in den AWS CloudTrail Protokollen nachlesen, wer eine Aktion in ausgeführt hat AWS. Sie können den sts:SourceIdentity-Bedingungsschlüssel in der Rollenvertrauensrichtlinie verwenden, damit Benutzer einen Sitzungsnamen angeben müssen, wenn sie eine Rolle übernehmen. Sie können beispielsweise verlangen, dass IAM-Benutzer ihren eigenen Benutzernamen als Sitzungsnamen angeben. Auf diese Weise können Sie feststellen, welcher Benutzer eine bestimmte Aktion in AWS ausgeführt hat. Weitere Informationen finden Sie unter sts:SourceIdentity.

Diese Operation gibt nicht den Status des Zugriffsschlüssels an. Der Schlüssel kann aktiv, inaktiv oder gelöscht sein. Aktive Schlüssel verfügen möglicherweise nicht über Berechtigungen zum Ausführen einer Operation. Die Bereitstellung eines gelöschten Zugriffsschlüssels gibt möglicherweise einen Fehler zurück, der besagt, dass der Schlüssel nicht vorhanden ist.