問題タブ [pre-signed-url]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-cloud-storage - 署名付き URL を介して Google Cloud Storage にアップロード - オブジェクトは一般公開されていません
このチュートリアルに従って、署名付き URL を使用して GWT フロントエンドから Google Cloud Storage に直接ファイルをアップロードできるようにしました。問題なく機能するコンテンツ タイプを指定して、Java の例を拡張しました。その後、この方法でアップロードされたファイルは公開されていないことがわかりました。これを機能させるために、私は試しました:
- 新しくアップロードされたオブジェクトのデフォルト ACL を設定しました
gsutil defacl set public-read gs://<bucket>
。ファイルを再度アップロードしました - 運が悪く、まだ表示されていません。 - 次に、そのオブジェクトに ACL を直接設定しようとしました
gsutil acl set public-read gs://<bucket>/<file>
が、AccessDeniedException: 403 Forbiddenが返されました。gsutil は Google アカウントで認証され、署名付き URL はサービス アカウントと P12 キーで作成されているため、これは理にかなっています。 - アップロード フェーズで ACL を設定しようとしたため、
"x-goog-acl:public-read\n"
正規化された拡張ヘッダーと適切なクエリ文字列パラメーターを追加して、署名チェックに合格しました。くそー、まだ運がない!
私の仮定は、私が使用しているこの拡張ヘッダーが間違っているのではないでしょうか? ドキュメントによると、GCS へのすべての認証済みリクエストはprivate
、デフォルトで ACL を適用します。
とにかく、プロジェクト オーナーとしてログインしているときに、これらのファイルを Google コンソールから一般公開できないのはなぜですか? コンソールを介してアップロードされたすべてのファイルに対してこれを行うことができます (その場合、所有者はサービス アカウントではなくプロジェクト所有者であることがわかっています)。
私が間違っていることは何ですか?誰でも読めるようにするにはどうすればよいですか?
アドバイスありがとう!
ajax - Amazon Signature 4 の署名付き URL を Ajax で動作させるにはどうすればよいですか?
S3 バケットのコンテンツの一部を一覧表示するために、有効な署名付き URL を生成できます。
ブラウザに貼り付けるか hurl.it を使用すると正常に動作します
ただし、jQuery Ajax GET 呼び出しでは、署名で失敗します。
私はフィドラーでリクエストを表示しましたが、おそらくコールバックであるリクエストに1つのパラメーターを追加します。
hurl.it で試してみましたが、失敗しました。Amazon Signature 4 では、Ajax によって追加された余分なパラメーターがショー ストッパーのようです。
署名するためにサーバーに渡しますが、残念ながらAjaxは事後であるため、事前にコールバックパラメーターを指定することはできません。
奇妙なことは、C# SDK を使用して署名付き URL を生成することです。Ajax でのこの追加パラメーターは問題ではありません。しかし、残念ながら、SDK は、署名付き URL を生成してバケットの内容をリストするためのメカニズムを提供していません。オブジェクトを取得するだけです。
したがって、署名付き URL は問題ではありません。私が知る限り、ヘッダーもそうではありません。すべてのクエリ パラメータを私が署名したものと一致させたいようです。
私はこれにほぼ2日間滞在しましたが、これまでのところまだ近づいています。
経験豊富な s3 / ajax ユーザーからの洞察をいただければ幸いです。
ありがとう!
php - amazon aws s3 事前署名付き URL PHP の作成
このリンクhttp://docs.aws.amazon.com/aws-sdk-php/v2/guide/service-s3.htmlによると、 getObjectUrl に寿命を追加するだけで署名付きリンクを簡単に作成できます
しかし、私は awsaccesskeyid と expires パラメータなしでプレーンな URL を取得します。
これが私のコードです:
編集: 環境変数として AWS_ACCESS_KEY_ID と AWS_SECRET_ACCESS_KEY があります
私のエコーは次のようになります。
https://s3-us-west-1.amazonaws.com/imagenesfc/NASimagenes/codigoBarraBoleto/1001000098.png
どうしたの?
cordova - AWS S3 署名付き URL エンコードの結果、「SignatureDoesNotMatch」
コルドバファイル転送はURIをエンコードするため、署名されたURLを使用してaws s3からファイルをダウンロードするためにコルドバファイル転送を使用しています。署名の「%」は「%25」に変換されるため、署名の不一致が発生します。
php - Amazon S3 および署名付き URL php での SignatureDoesNotMatch エラー
PHP を使用して、S3 からオブジェクトの署名付き URL を取得しようとしています。SignatureDoesNotMatch エラーが発生し続けます。以下は私のコードです。
その後、正しい形式の URL が返されますが、サード パーティのアプリから URL を使用して写真を投稿しようとすると、次のエラー SignatureDoesNotMatch エラーが発生します。ここで私が間違っていることについてのアイデアはありますか?
ありがとうございました!
php - AWS SDK for PHP を使用して、未定義のメソッド createPresignedUrl() を呼び出します
AWS SDK for PHP を使用して署名付き URL を作成できませんでした。私のコードは -
それは私に次のエラーを与えます-
致命的なエラー: 103 行目の /Users/waverley_lv/WaverleySoftware/workspace/fox.php.auto/sites/default/behat-tests/util/S3Utility.php の未定義メソッド Aws\Command::createPresignedUrl() の呼び出し
javascript - AWS SDK 署名付き URL + マルチパートアップロード
生成された署名付き URL を使用してブラウザ経由でマルチパート アップロードを行う方法はありますか?