3.7. Swift の一時 URL 操作
一時的なアクセスを可能にするため、radosgw
の swift エンドポイントによりサポートされます。たとえば、GET リクエストは、認証情報を共有せずにオブジェクトに送信されます。
この機能には、最初に X-Account-Meta-Temp-URL-Key
の値を設定し、必要に応じて X-Account-Meta-Temp-URL-Key-2
を設定する必要があります。Temp URL 機能は、これらの秘密鍵に対する HMAC-SHA1 署名に依存します。
3.7.1. Swift が一時 URL オブジェクトを取得 リンクのコピーリンクがクリップボードにコピーされました!
一時 URL は、以下の要素を含む暗号化 HMAC-SHA1 署名を使用します。
- Request メソッドの値 (例:GET)
- エポックからの経過時間 (秒単位)。つまり Unix 時間です。
- v1 以降のリクエストパス
上記の項目は、それらの間に新しい行が追加されて正規化され、HMAC は前述の Temp URL キーのいずれかに対して SHA-1 ハッシュアルゴリズムを使用して生成されます。
上記を示すサンプルの Python スクリプトを以下に示します。
例
出力例
https://objectstore.example.com/v1/your-bucket/your-object?temp_url_sig=ff4657876227fc6025f04fcf1e82818266d022c6&temp_url_expires=1423200992
https://objectstore.example.com/v1/your-bucket/your-object?temp_url_sig=ff4657876227fc6025f04fcf1e82818266d022c6&temp_url_expires=1423200992
3.7.2. Swift POST 一時 URL キー リンクのコピーリンクがクリップボードにコピーされました!
必要なキーを持つ swift アカウントへの POST
リクエストは、一時 URL アクセスをアカウントに提供できるアカウントのシークレット一時 URL キーを設定します。最大 2 つのキーがサポートされ、一時 URL を無効化せずに鍵をローテーションできるように、両方のキーに対して署名がチェックされます。
構文
POST /API_VERSION/ACCOUNT HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME X-Auth-Token: AUTH_TOKEN
POST /API_VERSION/ACCOUNT HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
X-Auth-Token: AUTH_TOKEN
Name | 説明 | 型 | 必須 |
---|---|---|---|
| 任意の文字列値を取るユーザー定義のキー。 | 文字列 | はい |
| 任意の文字列値を取るユーザー定義のキー。 | 文字列 | No |