すべてのプロダクト
Search
ドキュメントセンター

Lindorm:S3プロトコル互換性での権限の管理

最終更新日:Mar 20, 2025

このトピックでは、S3プロトコル互換性での権限の管理方法について説明します。

バケットの権限

S3プロトコル互換性機能は、バケットに対してREAD、WRITE、TRASH、ADMIN、およびSYSTEMの5つの権限をサポートしています。ADMIN権限はSYSTEM権限と同等です。

バケットの権限は、lfsdata 名前空間のバケットと同じ名前のテーブルによって定義されます。たとえば、testbucketという名前のバケットへの書き込み権限は、lfsdata 名前空間のtestbucketという名前のテーブルのWRITE権限と同じです。したがって、バケットを作成する前に、lfsdata 名前空間への書き込み権限を持っている必要があります。

次の表に、バケットの5つの権限と、各権限でサポートされている操作を示します。

権限

説明

サポートされている操作

WRITE

バケットへの書き込み権限

putObject、multipartUpload、setTagging、setLifecycleなど、バケットへの書き込み操作。

READ

バケットへの読み取り権限

listObjects、getObject、headBucket、setTagging、getLifecycleなど、バケットへの読み取り操作。

TRASH

バケットへの削除権限

deleteObject、deleteTagging、deleteLifecycleなど、バケットへの削除操作。

ADMIN

バケットへの完全な権限

WRITE、READ、およびTRASH権限でサポートされているすべての操作。

SYSTEM

バケットへの完全な権限

WRITE、READ、およびTRASH権限でサポートされているすべての操作。

バケットの権限の管理

説明
  • デフォルトでは、LindormTableのルートユーザーは、すべてのバケットに対してADMIN権限とSYSTEM権限を持っています。

  • 新しく作成されたユーザーは、バケットに対する権限を持っていません。ユーザーに権限を手動で付与する必要があります。

次のいずれかの方法を使用して、バケットの権限を管理できます。

  • 方法 1:LindormTableのクラスタ管理システムで特定のユーザーに権限を付与します。この方法は、名前空間内のすべてのバケットに対する権限など、名前空間レベルまたはグローバルレベルの権限をユーザーに付与する場合にのみ使用できます。たとえば、この方法を使用して、user1にnamespace1に対するREAD権限を付与できます。この場合、user1はnamespace1内のすべてのバケットに対するREAD権限を持ちます。詳細については、「ユーザーの管理」の「ユーザーへの権限の付与」セクションをご参照ください。

    重要

    Lindormのクラスタ管理システムで権限を付与する場合は、[名前空間]lfsdata を選択する必要があります。

  • 方法 2:Lindorm-cliを使用してLindormTableに接続し、GRANTステートメントまたはREVOKEステートメントを使用して、ユーザーに権限を付与したり、ユーザーから権限を取り消したりします。この方法を使用して、バケットに対するテーブルレベル、名前空間レベル、またはグローバルレベルの権限を管理できます。詳細については、「Lindorm-cli を使用して LindormTable に接続して使用する」をご参照ください。

    次の例は、GRANTステートメントとREVOKEステートメントを使用してユーザーの権限を管理する方法を示しています。

    • 例 1:user1にtestbucketに対するWRITE権限を付与します。

      GRANT WRITE ON TABLE lfsdata.testbucket TO user1; // user1 に testbucket への WRITE 権限を付与
    • 例 2:user1からtestbucketに対するすべての権限を取り消します。

      REVOKE ADMIN ON SCHEMA lfsdata FROM user1; // user1 から lfsdata スキーマの ADMIN 権限を削除

    GRANTステートメントとREVOKEステートメントの詳細については、「GRANT」および「REVOKE」をご参照ください。