サポートされるSwift APIエンドポイント

StorageGRID Webscaleは、Swift APIエンドポイントとして、情報(info)URL、認証(auth)URL、ストレージ(storage)URLをサポートしています。

情報(info)URL

StorageGRID Webscale Swift実装の機能と制限事項については、SwiftのベースURLに/infoパスを付加してGET要求を発行することで確認できます。

https://FQDN | Node_IP:Swift_Port/info/
要求の内容は次のようになります。
  • FQDN は完全修飾ドメイン名です。
  • Node_IP は、StorageGRID Webscaleネットワークのストレージ ノードまたはAPIゲートウェイ ノードのIPアドレスです。

  • Swift_Port は、ストレージ ノードまたはAPIゲートウェイ ノードのSwift API接続に使用するポート番号です。

たとえば、以下の情報(info)URLでは、IPアドレス10.99.106.103のストレージ ノードに、ポート18083を使用して情報を要求しています。
https://10.99.106.103:18083/info/

応答には、Swift実装の機能がJSONディクショナリとして含まれます。クライアント ツールは、JSON応答を解析して実装の機能を特定し、後続のストレージ処理で制約として使用できます。

StorageGRID WebscaleのSwift実装では、情報(info)URLへのアクセスに認証は必要ありません。

認証(auth)URL

クライアントは、Swift認証(auth)URLを使用してテナント アカウント ユーザとして認証できます。

https://FQDN | Node_IP:Swift_Port1.//auth/v0     
次のように、X-Auth-UserX-Auth-Keyの要求ヘッダーで、テナント アカウントID、ユーザ名、パスワードをパラメータとして指定する必要があります。
X-Auth-User: Tenant_Account_ID:Username
X-Auth-Key: Password 
要求ヘッダーは次のようになります。
  • Tenant_Account_ID は、Swiftテナントの作成時にStorageGRID Webscaleによって割り当てられたアカウントIDです。Tenant Managerのサインイン ページで使用されるテナント アカウントIDと同一です。

  • Username は、Tenant Managerで作成されたテナント ユーザの名前です。このユーザは、管理者権限を持つグループに属している必要があります。テナントのrootユーザを、Swift REST APIを使用するように設定することはできません。

    テナント アカウントに対してアイデンティティ フェデレーションが有効になっている場合は、LDAPサーバからのフェデレーテッド ユーザのユーザ名とパスワードを指定する必要があります。または、LDAPユーザのドメイン名を指定します。次に例を示します。
    X-Auth-User: Tenant_Account_ID:Username@Domain_Name
  • Password は、テナント ユーザのパスワードです。ユーザのパスワードはTenant Managerで作成および管理されます。

認証要求が成功すると、次のようにストレージ(storage)URLと認証トークンが返されます。

X-Storage-Url: https://FQDN | Node_IP:Swift_Port/v1/Tenant_Account_ID
X-Auth-Token: token
X-Storage-Token: token

デフォルトでは、トークンは生成時刻から24時間有効です。

トークンは特定のテナント アカウントに対して生成されます。あるアカウントに対して有効なトークンで、別のアカウントにアクセスするユーザを許可することはできません。

ストレージ(storage)URL

クライアント アプリケーションは、Swift REST API呼び出しを発行し、APIゲートウェイ ノードまたはストレージ ノードに対して、サポートされるアカウント、コンテナ、オブジェクトの処理を実行できます。ストレージ要求は、認証応答で返されるストレージ(storage)URLに送信されます。要求には、認証要求から返されたX-Auth-Tokenヘッダーと値も含める必要があります。

https://FQDN | IP:Swift_Port//v1Tenant_Account_ID
[/container][/object]
X-Auth-Token: token

使用状況の統計が含まれるストレージ応答ヘッダーに、最近変更されたオブジェクトの正確な数が反映されない場合があります。このヘッダーに正確な数値が示されるまでには、数分を要することがあります。

使用状況の統計が含まれているアカウントおよびコンテナ処理の応答ヘッダーの例を次に示します。