サポートされている Swift API エンドポイント
StorageGRID でサポートされている Swift API エンドポイントは、情報 URL 、認証 URL 、およびストレージ URL です。
情報 URL
StorageGRID Swift 実装の機能と制限事項については、 Swift のベース URL に /info パスを付加して GET 要求を発行することで確認できます。
https://FQDN | Node IP:Swift Port/info/
要求の内容は次のとおりです。
-
FQDN
は完全修飾ドメイン名です。 -
Node IP
は、StorageGRID ネットワークのストレージノードまたはゲートウェイノードのIPアドレスです。 -
Swift Port
は、ストレージノードまたはゲートウェイノードのSwift API接続に使用するポート番号です。
たとえば、次の情報 URL は、 IP アドレスが 10.99.106.103 でポート 18083 を使用しているストレージノードから情報を要求します。
https://10.99.106.103:18083/info/
応答には、 Swift 実装の機能が JSON ディクショナリとして含まれます。クライアントツールは、 JSON 応答を解析して実装の機能を特定し、後続のストレージ処理で制約として使用できます。
StorageGRID 実装の Swift では、情報 URL への認証されていないアクセスが許可されます。
認証 URL
クライアントは、 Swift 認証 URL を使用してテナントアカウントユーザとして認証できます。
https://FQDN | Node IP:Swift Port/auth/v1.0/
で、テナントアカウントID、ユーザ名、およびパスワードをパラメータとして指定する必要があります X-Auth-User
および X-Auth-Key
次のように要求ヘッダー
X-Auth-User: Tenant_Account_ID:Username
X-Auth-Key: Password
要求ヘッダーは次のようになります。
-
Tenant_Account_ID
は、Swiftテナントの作成時にStorageGRID によって割り当てられたアカウントIDです。Tenant Manager のサインインページで使用するテナントアカウント ID と同じです。 -
Username
は、Tenant Managerで作成されたテナントユーザの名前です。このユーザは、 Swift 管理者権限を持つグループに属している必要があります。テナントのrootユーザをSwift REST APIを使用するように設定することはできません。テナントアカウントに対してアイデンティティフェデレーションが有効になっている場合は、 LDAP サーバからのフェデレーテッドユーザのユーザ名とパスワードを指定します。または、 LDAP ユーザのドメイン名を指定します。例:
X-Auth-User: Tenant_Account_ID:Username@Domain_Name
-
Password
は、テナントユーザのパスワードです。ユーザパスワードは Tenant Manager で作成および管理します。
認証要求が成功すると、ストレージ URL と認証トークンが次のように返されます。
X-Storage-Url: https://FQDN | Node_IP:Swift_Port/v1/Tenant_Account_ID
X-Auth-Token: token
X-Storage-Token: token
デフォルトでは、トークンの有効期間は生成時刻から 24 時間です。
トークンは特定のテナントアカウントに対して生成されます。あるアカウントに対して有効なトークンで、別のアカウントにアクセスするユーザを許可することはできません。
ストレージ URL
クライアントアプリケーションは、ゲートウェイノードまたはストレージノードに対して、問題 の Swift REST API 呼び出しを使用して、アカウント、コンテナ、オブジェクトのサポートされる処理を実行できます。ストレージ要求は、認証応答で返されたストレージ URL にアドレスが指定されます。要求には、認証要求から返された X-Auth-Token ヘッダーと値も含める必要があります。
https://FQDN | IP:Swift_Port/v1/Tenant_Account_ID
[/container][/object]
X-Auth-Token: token
使用状況の統計が含まれるストレージ応答ヘッダーに、最近変更されたオブジェクトの正確な数が反映されない場合があります。このヘッダーに正確な数値が表示されるまでに数分かかることがあります。
使用状況の統計が含まれているアカウントおよびコンテナ処理の応答ヘッダーの例を次に示します。
-
X-Account-Bytes-Used
-
X-Account-Object-Count
-
X-Container-Bytes-Used
-
X-Container-Object-Count