Senden von Anforderungen - Amazon Simple Storage Service

Senden von Anforderungen

Amazon S3 ist ein REST-Service. Sie können Anfragen an Amazon S3 über die REST-API oder die Wrapper-Bibliotheken des AWS-SDK senden (siehe Beispiel-Code und Bibliotheken), die die zugrunde liegende Amazon S3-REST-API umschließen. Dies vereinfacht Ihre Programmieraufgaben.

Jede Interaktion mit Amazon S3 erfolgt entweder authentifiziert oder anonym. Die Authentifizierung ist ein Vorgang, bei dem die Identität des Auftraggebers, der auf ein Amazon Web Services (AWS)-Produkt zugreifen möchte, überprüft wird. Authentifizierte Anfragen müssen einen Signaturwert enthalten, der den Sender der Anfrage authentifiziert. Ein Teil des Signaturwerts wird von den AWS-Zugriffsschlüsseln des Auftraggebers generiert (Zugriffsschlüssel-ID und geheimer Zugriffsschlüssel). Informationen zum Abrufen Ihrer AWS-Zugriffsschlüssel finden Sie unter Wie erhalte ich Sicherheitsanmeldeinformationen? in der Allgemeinen AWS-Referenz.

Wenn Sie das AWS-SDK verwenden, berechnen die Bibliotheken die Signatur anhand der von Ihnen bereitgestellten Schlüssel. Wenn Sie in Ihrer Anwendung jedoch direkte REST-API-Aufrufe senden, müssen Sie den Code für die Berechnung der Signatur schreiben und diesen der Anfrage hinzufügen.

Über Zugriffsschlüssel

In den folgenden Abschnitten werden die Arten der Zugriffsschlüssel vorgestellt, die Sie verwenden können, um authentifizierte Anfragen zu senden.

AWS-Kontozugriffsschlüssel

Die Kontozugriffsschlüssel stellen vollständigen Zugriff auf die AWS-Ressourcen bereit, die das jeweilige Konto besitzt. Im Folgenden finden Sie Beispiele für Zugriffsschlüssel:

  • Zugriffsschlüssel-ID (eine alphanumerische Zeichenfolge mit 20 Zeichen). Zum Beispiel: AKIAIOSFODNN7EXAMPLE

  • Geheimer Zugriffsschlüssel (eine Zeichenfolge mit 40 Zeichen). Zum Beispiel: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Die Zugriffsschlüssel-ID identifiziert ein AWS-Konto auf spezifische Weise. Sie können diese Zugriffsschlüssel verwenden, um authentifizierte Anforderungen an Amazon S3 zu senden.

IAM-Benutzer-Zugriffsschlüssel

Sie können ein einzelnes AWS-Konto für Ihr Unternehmen erstellen. Möglicherweise gibt es jedoch mehrere Mitarbeiter in der Organisation, die auf die AWS-Ressourcen Ihrer Organisation zugreifen müssen. Wenn Sie die Zugriffsschlüssel für Ihr AWS-Konto freigeben, wird die Sicherheit reduziert. Das Erstellen einzelner AWS-Konten für jeden Mitarbeiter ist jedoch vielleicht nicht praktikabel. Darüber hinaus können Sie Ressourcen wie Buckets und Objekte nicht einfach freigeben, da sie im Besitz verschiedener Konten sind. Um Ressourcen freizugeben, müssen Sie Berechtigungen gewähren. Dies bedeutet zusätzlichen Aufwand.

In solchen Szenarien können Sie AWS Identity and Access Management (IAM) verwenden, um in Ihrem AWS-Konto Benutzer mit eigenen Zugriffsschlüsseln zu erstellen, und IAM-Benutzerrichtlinien hinzufügen, die diesen Benutzern die entsprechenden Zugriffsberechtigungen für Ressourcen gewähren. Um diese Benutzer besser verwalten zu können, ermöglicht IAM Ihnen das Erstellen von Benutzergruppen und das Gewähren von Berechtigungen auf Gruppenebene, die für alle Benutzer in der betreffenden Gruppe gelten.

Diese Benutzer werden als IAM-Benutzer bezeichnet. Sie erstellen und verwalten diese innerhalb von AWS. Das übergeordnete Konto steuert die Möglichkeiten der Benutzer, auf AWS zuzugreifen. Alle von einem IAM-Benutzer erstellten Ressourcen werden über das übergeordnete AWS-Konto gesteuert und bezahlt. Diese IAM-Benutzer können mittels ihrer eigenen Sicherheitsanmeldeinformationen authentifizierte Anfragen an Amazon S3 senden. Weitere Informationen zum Erstellen und Verwalten von Benutzern unter Ihrem AWS-Konto finden Sie auf der Produktdetailseite für AWS Identity and Access Management.

Temporäre Sicherheitsanmeldeinformationen

IAM ermöglicht Ihnen nicht nur das Erstellen von IAM-Benutzern mit eigenen Zugriffsschlüsseln, sondern auch die Gewährung temporärer Sicherheitsanmeldeinformationen (temporärer Zugriffsschlüssel und eines Sicherheitstokens) für IAM-Benutzer, damit diese auf Ihre AWS-Services und -Ressourcen zugreifen können. Sie können Benutzer auch außerhalb von AWS in Ihrem System verwalten. Diese Benutzer werden als verbundene Benutzer bezeichnet. Zusätzlich kann es sich bei Benutzern um Anwendungen handeln, die Sie erstellen, um auf Ihre AWS-Ressourcen zuzugreifen.

IAM stellt die AWS Security Token Service-API bereit, damit Sie temporäre Sicherheitsanmeldeinformationen anfordern können. Sie können entweder die AWS STS-API oder das AWS SDK verwenden, um diese Anmeldeinformationen anzufordern. Die API gibt temporäre Sicherheitsanmeldeinformationen (Zugriffsschlüssel-ID und geheimen Zugriffsschlüssel) und ein Sicherheitstoken zurück. Diese Anmeldeinformationen sind nur für die Dauer gültig, die Sie bei der Anforderung angeben. Sie verwenden die Zugriffsschlüssel-ID und den geheimen Schlüssel auf dieselbe Weise, wie Sie diese beim Senden von Anfragen über Ihr AWS-Konto oder IAM-Benutzerzugriffsschlüssel verwenden. Zusätzlich muss jede Anfrage, die Sie an Amazon S3 senden, das Token enthalten.

Ein IAM-Benutzer kann diese temporären Sicherheitsanmeldeinformationen für die eigene Verwendung anfordern oder sie an verbundene Benutzer oder Anwendungen vergeben. Wenn Sie temporäre Sicherheitsanmeldeinformationen für verbundene Benutzer anfordern, müssen Sie einen Benutzernamen und eine IAM-Richtlinie bereitstellen, in der die Berechtigungen definiert sind, die Sie mit diesen temporären Sicherheitsanmeldeinformationen verknüpfen möchten. Ein verbundener Benutzer kann nicht mehr Berechtigungen als der übergeordnete IAM-Benutzer erhalten, der die temporären Anmeldeinformationen angefordert hat.

Sie können diese temporären Sicherheitsanmeldeinformationen beim Senden von Anfragen an Amazon S3 verwenden. Die API-Bibliotheken berechnen anhand dieser Anmeldeinformationen den notwendigen Signaturwert, um Ihre Anfrage zu authentifizieren. Wenn Sie beim Senden von Anfragen abgelaufene Anmeldeinformationen verwenden, lehnt Amazon S3 die Anfrage ab.

Informationen zum Signieren von Anfragen mittels temporärer Sicherheitsanmeldeinformationen in Ihren REST-API-Anfragen finden Sie unter Signieren und Authentifizieren von REST-Anforderungen. Informationen zum Senden von Anfragen mittels AWS-SDKs finden Sie unter Senden von Anfragen unter Verwendung der AWS SDKs.

Weitere Informationen zur Unterstützung temporärer Anmeldeinformationen in IAM finden Sie unter Temporäre Sicherheitsanmeldeinformationen im IAM-Benutzerhandbuch.

Um die Sicherheit zu verbessern, können Sie für den Zugriff auf Ihre Amazon S3-Ressourcen eine Multi-Factor Authentication (MFA) anfordern, indem Sie eine Bucket-Richtlinie konfigurieren. Weitere Informationen finden Sie unter Hinzufügen einer Bucket-Richtlinie zur Anforderung einer MFA. Nachdem Sie für den Zugriff auf Ihre Amazon S3-Ressourcen eine MFA angefordert haben, können Sie auf diese Ressourcen nur durch die Bereitstellung temporärer Anmeldeinformationen zugreifen, die mittels eines MFA-Schlüssels erstellt wurden. Weitere Informationen finden Sie auf der Seite mit Details zur AWS Multi-Factor Authentication und unter Konfigurieren eines MFA-geschützten API-Zugriffs im IAM-Benutzerhandbuch.

Anforderungsendpunkte

Sie senden REST-Anfragen an den vordefinierten Endpunkt des Service. Die Liste aller AWS-Services und ihrer entsprechenden Endpunkte finden Sie unter Regionen und Endpunkte in der Allgemeinen AWS-Referenz.