Gemeinsame Nutzung von Objekten mit vorsignierten URLs - Amazon Simple Storage Service

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.

Gemeinsame Nutzung von Objekten mit vorsignierten URLs

Standardmäßig sind alle Amazon-S3-Objekte privat und nur der Objekteigentümer hat die Berechtigung, darauf zuzugreifen. Der Objekteigentümer kann Objekte jedoch mit anderen teilen, indem er eine vorsignierte URL erstellt. Eine vorsignierte URL verwendet Sicherheitsanmeldeinformationen, um eine zeitlich begrenzte Berechtigung zum Herunterladen von Objekten zu gewähren. Die URL kann in einem Browser eingegeben oder von einem Programm verwendet werden, um das Objekt herunterzuladen. Die von der vorsignierten URL verwendeten Anmeldeinformationen sind die des AWS Benutzers, der die URL generiert hat.

Allgemeine Informationen zu vorsignierten finden Sie URLs unter. Laden Sie Objekte mit vorsignierten Objekten herunter und laden Sie sie hoch URLs

Sie können eine vorsignierte URL für die gemeinsame Nutzung eines Objekts erstellen, ohne Code schreiben zu müssen, indem Sie die Amazon S3 S3-Konsole, den AWS Explorer für Visual Studio (Windows) oder AWS Toolkit for Visual Studio Code verwenden. Sie können eine vorsignierte URL auch programmgesteuert generieren, indem Sie die AWS Command Line Interface ()AWS CLI oder die verwenden. AWS SDKs

Sie können die Amazon-S3-Konsole verwenden, um eine vorsignierte URL für ein Objekt zu generieren, indem Sie diese Schritte ausführen. Bei Verwendung der Konsole beträgt die maximale Ablaufzeit für eine vorsignierte URL 12 Stunden ab dem Zeitpunkt ihrer Erstellung.

So generieren Sie eine vorsignierte URL mit der Amazon-S3-Konsole
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie im linken Navigationsbereich Allzweck-Buckets aus.

  3. Wählen Sie in der Liste Allzweck-Buckets den Namen des Allzweck-Buckets aus, der das Objekt enthält, für das Sie eine vorsignierte URL benötigen.

  4. In der Liste Objekte wählen Sie das Objekt aus, für das Sie eine vorsignierte URL erstellen möchten.

  5. Wählen Sie im Menü Objektaktionen die Option An vorsignierte URL freigeben aus.

  6. Geben Sie an, wie lange die vorsignierte URL gültig sein soll.

  7. Wählen Sie Create presigned URL (Vorsignierte URL erstellen).

  8. Wenn eine Bestätigung angezeigt wird, wird die URL automatisch in Ihre Zwischenablage kopiert. Sie sehen eine Schaltfläche zum Kopieren der vorsignierten URL, wenn Sie sie erneut kopieren müssen.

Der folgende AWS CLI Beispielbefehl generiert eine vorsignierte URL für die gemeinsame Nutzung eines Objekts aus einem Amazon S3 S3-Bucket. Wenn Sie den verwenden AWS CLI, beträgt die maximale Ablaufzeit für eine vorsignierte URL 7 Tage ab dem Zeitpunkt der Erstellung. Wenn Sie dieses Beispiel verwenden möchten, ersetzen Sie die user input placeholders (Platzhalter für Benutzereingaben) durch Ihre Informationen.

aws s3 presign s3://amzn-s3-demo-bucket/mydoc.txt --expires-in 604800

Anmerkung

Für alle, die nach dem 20. März 2019 AWS-Regionen gestartet wurden, müssen Sie das endpoint-url und AWS-Region zusammen mit der Anfrage angeben. Eine Liste aller Amazon-S3-Regionen und -Endpunkte finden Sie unter Regionen und Endpunkte in der Allgemeinen AWS -Referenz.

aws s3 presign s3://amzn-s3-demo-bucket/mydoc.txt --expires-in 604800 --region af-south-1 --endpoint-url https://s3.af-south-1.amazonaws.com

Weitere Informationen finden Sie unter presign in der Referenz zum AWS CLI -Befehl.

Sie können eine vorsignierte URL programmgesteuert generieren, indem Sie den verwenden. AWS SDKs

Python

Das folgende Python-Skript generiert eine GET vorsignierte URL für die gemeinsame Nutzung eines Objekts.

  1. Kopieren Sie den Inhalt des Skripts und speichern Sie es als „get-only-url.py“ -Datei. Um die folgenden Beispiele zu verwenden, ersetzen Sie sie durch Ihre eigenen Informationen (z. B. Ihren Dateinamen). user input placeholders

    import argparse import boto3 from botocore.exceptions import ClientError def generate_presigned_url(s3_client, client_method, method_parameters, expires_in): """ Generate a presigned Amazon S3 URL that can be used to perform an action. :param s3_client: A Boto3 Amazon S3 client. :param client_method: The name of the client method that the URL performs. :param method_parameters: The parameters of the specified client method. :param expires_in: The number of seconds the presigned URL is valid for. :return: The presigned URL. """ try: url = s3_client.generate_presigned_url( ClientMethod=client_method, Params=method_parameters, ExpiresIn=expires_in ) except ClientError: print(f"Couldn't get a presigned URL for client method '{client_method}'.") raise return url def main(): parser = argparse.ArgumentParser() parser.add_argument("bucket", help="The name of the bucket.") parser.add_argument( "key", help="The key (path and filename) in the S3 bucket.", ) args = parser.parse_args() # By default, this will use credentials from ~/.aws/credentials s3_client = boto3.client("s3") # The presigned URL is specified to expire in 1000 seconds url = generate_presigned_url( s3_client, "get_object", {"Bucket": args.bucket, "Key": args.key}, 1000 ) print(f"Generated GET presigned URL: {url}") if __name__ == "__main__": main()
  2. Um eine GET vorsignierte URL für die gemeinsame Nutzung einer Datei zu generieren, führen Sie das folgende Skript mit Ihrem Bucket-Namen und dem gewünschten Objektpfad aus.

    Der folgende Befehl verwendet Beispielwerte. Ersetzen Sie user input placeholders durch Ihre Informationen.

    python get-only-url.py amzn-s3-demo-bucket <object-path>

    Das Skript gibt eine GET vorsignierte URL aus:

    Generated GET presigned URL: https://amzn-s3-demo-bucket.s3.amazonaws.com/object.txt?AWS AccessKeyId=AKIAIOSFODNN7EXAMPLE&Signature=vjbyNxybdZaMmLa%2ByT372YEAiv4%3D&Expires=1741978496
  3. Sie können die Datei mithilfe der generierten vorsignierten URL mit curl herunterladen:

    curl -X GET "generated-presigned-url" -o "path/to/save/file"

Weitere Beispiele für die Verwendung von AWS SDKs zum Generieren einer vorsignierten URL für die gemeinsame Nutzung eines Objekts finden Sie unter Erstellen einer vorsignierten URL für Amazon S3 mithilfe eines AWS SDK.

Anmerkung

Für alle, die nach dem 20. März 2019 AWS-Regionen gestartet wurden, müssen Sie das endpoint-url und AWS-Region zusammen mit der Anfrage angeben. Eine Liste aller Amazon-S3-Regionen und -Endpunkte finden Sie unter Regionen und Endpunkte in der Allgemeinen AWS -Referenz.

Anmerkung

Wenn Sie das verwenden AWS SDKs, muss das Tagging-Attribut ein Header und kein Abfrageparameter sein. Alle anderen Attribute können als Parameter für die vorsignierte URL übergeben werden.

Anmerkung

Derzeit AWS Toolkit for Visual Studio unterstützt der Visual Studio für Mac nicht.

  1. Installieren Sie das AWS Toolkit for Visual Studio mithilfe der folgenden Anweisungen unter Installation und Einrichtung des Toolkit for Visual Studio im AWS Toolkit for Visual Studio Benutzerhandbuch.

  2. Connect Sie AWS mithilfe der folgenden Schritte eine Verbindung zu her: Herstellen einer Verbindung zu AWS im AWS Toolkit for Visual Studio Benutzerhandbuch.

  3. Führen Sie in der linken Seitenleiste mit der Bezeichnung AWS Explorer einen Doppelklick auf den Bucket aus, der Ihr Objekt enthält.

  4. Klicken Sie mit der rechten Maustaste auf das Objekt, für das eine vorsignierte URL generiert werden soll, und wählen Sie Vorsignierte URL erstellen ... aus .

  5. Legen Sie im Pop-up-Fenster das Ablaufdatum und die Ablaufuhrzeit für Ihre vorsignierte URL fest.

  6. Der Objektschlüssel sollte auf der Grundlage des ausgewählten Objekts vorab ausgefüllt werden.

  7. Wählen Sie GET, um anzugeben, dass diese vorsignierte URL zum Herunterladen eines Objekts verwendet wird.

  8. Wählen Sie die Schaltfläche Generate (Generieren) aus.

  9. Wählen Sie zum Kopieren der URL in die Zwischenablage Copy (Kopieren) aus.

  10. Um die generierte vorsignierte URL zu verwenden, fügen Sie die URL in einen beliebigen Browser ein.

Wenn Sie Visual Studio Code verwenden, können sie AWS Toolkit for Visual Studio Code verwenden, um eine vorsignierte URL zur Freigabe eines Objekts zu erstellen, ohne Code schreiben zu müssen. Allgemeine Informationen finden Sie unter AWS Toolkit for Visual Studio Code im AWS Toolkit for Visual Studio Code -Benutzerhandbuch.

Anweisungen zur Installation von finden Sie AWS Toolkit for Visual Studio Code unter Installation von AWS Toolkit for Visual Studio Code im AWS Toolkit for Visual Studio Code Benutzerhandbuch.

  1. Connect Sie AWS mithilfe der folgenden Schritte eine Verbindung zu her: Herstellen einer Verbindung zu AWS Toolkit for Visual Studio Code im AWS Toolkit for Visual Studio Code Benutzerhandbuch.

  2. Wählen Sie das AWS Logo auf der linken Seite in Visual Studio Code aus.

  3. Wählen Sie unter EXPLORER S3 aus.

  4. Wählen Sie einen Bucket und eine Datei und öffnen Sie das Kontextmenü (rechte Maustaste).

  5. Wählen Sie Vorsignierte URL generieren aus und legen Sie dann die Ablaufzeit (in Minuten) fest.

  6. Drücken Sie die Eingabetaste, wodurch die vorsignierte URL in Ihre Zwischenablage kopiert wird.