オブジェクトで「世代」(バージョン番号) を指定するときに、Google Cloud Storage (GCS) の GET リクエストに署名するのに問題があります。生成なしで URL に署名することは魅力のように機能し、GET 要求は正常に機能します。ただし、パスの先頭に #generation を追加すると、署名付き URL を取得しようとすると、GCS サーバーは常に「アクセスが拒否されました」を返します。
たとえば、次の URL パスに署名すると問題なく動作します。
この URL パスに署名すると、アクセスが拒否されます。
https://storage.googleapis.com/BUCKET/OBJECT#1360887697105000
簡潔さとプライバシーのために、Signature、Expires、GoogleAccessId パラメーターを含む実際の署名付き URL は省略していることに注意してください。また、gsutil を使用して、バケット、オブジェクト、世代が正しいことも確認しました。
GCS では、「世代」番号による特定のオブジェクト バージョンへの署名付き URL アクセスが許可されますか? 特定のバージョンにアクセスする場合、URL 署名手順は異なりますか?