2.7. バケット操作
2.7.1. マルチテナントによるバケット操作
クライアントアプリケーションがバケットにアクセスする場合は、常に特定ユーザーの認証情報で動作します。Red Hat Ceph Storage 3 では、すべてのユーザーがテナントに属します。詳細は 、マルチテナンシー を 参照してください。そのため、テナントが明示的に指定されていない場合は、すべてのバケット操作のコンテキストに暗黙的なテナントがあります。したがって、マルチテナンシーは、参照されるバケットと参照ユーザーが同じテナントに属する限り、以前のリリースと完全に後方互換性があります。
明示的なテナントの指定に使用される拡張機能は、使用されるプロトコルおよび認証システムによって異なります。
以下の例では、コロン文字はテナントとバケットを分離します。そのため、URL のサンプルは以下のようになります。
https://rgw.domain.com/tenant:bucket
一方、単純な Python の例は、バケットメソッド自体でテナントとバケットを分離します。
from boto.s3.connection import S3Connection, OrdinaryCallingFormat c = S3Connection( aws_access_key_id="TESTER", aws_secret_access_key="test123", host="rgw.domain.com", calling_format = OrdinaryCallingFormat() ) bucket = c.get_bucket("tenant:bucket")
ホスト名に、コロンや、バケット名では有効ではない他の区切り文字を含めることができないため、マルチテナンシーを使用して S3 形式のサブドメインを使用することはできません。期間を使用するとあいまいな構文が作成されます。そのため、bucket-in-URL-path
形式をマルチテナンシーと併用する必要があります。