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
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 Anforderungn müssen einen Signaturwert enthalten, der den Sender der Anforderung 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 -Zugriffsschlüssel finden Sie unter How Do I Get Security Credentials? (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 Anforderung hinzufügen.
Themen
Ü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-Konto-Zugriffsschlü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) zum Erstellen von Benutzern mit eigenen Zugriffsschlüsseln in Ihrem AWS-Konto verwenden und IAM-Benutzerrichtlinien anfü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 zuzugreife AWS. 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 in Ihrem AWS-Konto finden Sie auf der Seite mit AWS Identity and Access Management-Produktdetails
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 in Ihrem System verwalte AWS. 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, über die 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 Anforderung 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 Verlangen von 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
Anforderungsendpunkte
Sie senden REST-Anfragen an den vordefinierten Endpunkt des Service. Die Liste aller AWS-Services und ihrer entsprechenden Endpunkte finden Sie unter Regions and Endpoints (Regionen und Endpunkte) in der Allgemeinen AWS-Referenz.