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

Object Storage Service:バケットポリシーに基づいて部門間でデータを共有する

最終更新日:May 24, 2024

このトピックでは、バケットポリシーを使用して、一部のユーザーがデータのダウンロードのみを許可し、Object Storage Service (OSS) へのデータの書き込みや削除を禁止することで、部門またはプロジェクトチーム間でデータを安全に共有する方法について説明します。

背景情報

この例では、部門Aがexample-bucketという名前のバケットにデータを格納し、部門Bのユーザーが共有データをダウンロードできるようにします。 このトピックでは、最小特権の原則に従って共有データへのアクセスを制御する方法を示します。 次の図は、Department AおよびDepartment Bの管理者およびユーザーがexample-bucketバケットにアクセスするために期待される権限を示しています。

image

承認プロセス

この例では、部門Aの管理者は、次の手順を使用して、バケットに対して異なるアクセス許可を付与するバケットポリシーを設定できます。

前提条件

  • 部門Aおよび部門Bの管理者およびユーザーのRAMユーザーは、企業のAlibaba Cloudアカウント内に作成されます。

    詳細については、「RAM ユーザーの作成」をご参照ください。

  • RAMユーザーのUIDが取得されます。 UIDのクエリ方法の詳細については、「RAMユーザーに関する情報の表示」をご参照ください。

  • RAMユーザーに適切な権限が付与されます。

    この例では、部門Aの管理者はバケットを作成し、バケットポリシーを設定する必要があります。 したがって、AliyunOSSFullAccessポリシーは、管理者のRAMユーザーグループにアタッチする必要があります。 詳細については、「RAM ユーザーへの権限の付与」をご参照ください。

ステップ 1: バケットの作成

次の手順を実行して、a部門の管理者として中国 (杭州) リージョンにバケットを作成します。

  1. 部門Aの管理者としてOSSコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、バケットリスト をクリックします。 [バケット] ページで、バケットの作成 をクリックします。

  3. では、バケットの作成パネル、パラメータを設定します。

    この例では、バケットの名前はexample-bucketです。 バケットを作成するためのパラメーターの設定方法の詳細については、「バケットの作成」をご参照ください。

  4. クリックOK.

ステップ2: 共有データをアップロードする権限を付与する

部門Aの管理者として次の手順を実行し、部門Aのユーザーがexample-bucketにデータをアップロードできるようにします。

  1. で作成されたバケットの名前をクリックします。ステップ1.

  2. 左側のナビゲーションツリーで、権限管理 > バケット承認ポリシー.

  3. On theGUI で追加のタブバケット承認ポリシータブをクリックします。新規権限.

  4. では、新規権限パネルで、次のパラメータを設定し、他のパラメータのデフォルト設定を保持します。

    パラメーター

    説明

    関連リソース

    バケット全体 を選択して、バケット全体にバケットポリシーを適用します。

    ユーザー

    [RAMユーザー] を選択します。

    [RAMユーザー] ドロップダウンリストから、バケットにデータをアップロードする権限を付与するRAMユーザーを選択します。 検索ボックスにユーザー名またはキーワードを入力して、ファジーマッチで特定のRAMユーザーを検索することもできます。

    許可された操作

    [基本設定] を選択し、読み書き をクリックします。

    このオプションは、許可されたユーザーがバケットに対して読み取りおよび書き込み操作を実行できることを示します。

  5. クリックOK.

    部門Aのユーザーには、バケットにデータをアップロードする権限が付与されます。

ステップ3: 共有データをダウンロードし、共有データの書き込みと削除を拒否する権限を付与する

部門Aの管理者として次の手順を実行し、部門Bのユーザーがexample-bucketから共有データをダウンロードできるようにします。

  1. で作成されたバケットの名前をクリックします。ステップ1.

  2. 左側のナビゲーションツリーで、権限管理 > バケット承認ポリシー.

  3. On theGUI で追加のタブバケット承認ポリシータブをクリックします。新規権限.

  4. では、新規権限パネルで、次のパラメータを設定し、他のパラメータのデフォルト設定を保持します。

    パラメーター

    説明

    関連リソース

    バケット全体 を選択して、バケット全体にバケットポリシーを適用します。

    ユーザー

    [その他のアカウント] を選択します。 共有データのダウンロードを許可するRAMユーザーのUIDを入力します。

    許可された操作

    [基本設定] を選択し、[読み取り専用 (ListObjectを含む)] をクリックします。

    このオプションは、許可されたユーザーがデータの表示、一覧表示、ダウンロードのみでき、example-bucketに保存されているデータの書き込みや削除はできないことを示します。

  5. クリックOK.

    部門Bのユーザーには、バケットからデータをダウンロードする権限が付与されます。 バケットにデータを書き込んだり、バケットからデータを削除したりすることはできません。

ステップ4: バケットにデータをアップロードする

次の手順を実行して、Department aのユーザーとしてexample-bucketにデータをアップロードします。

  1. 部門aのRAMユーザーとしてOSSコンソールにログインします。

  2. オブジェクトのアップロードページを開きます。https://oss.console.aliyun.com/bucket/hangzhou/example-bucket/object/upload.

  3. アップロードページで、データをアップロードするパラメーターを設定します。

    [アップロード先の現在のディレクトリ] を選択します。 アップロードのパラメーター設定の詳細については、「オブジェクトのアップロード」をご参照ください。

  4. [タスクリスト] パネルの [タスクのアップロード] タブで、タスクの進行状況を確認します。 アップロードが完了したら、パネルを閉じます。

    データはexample-bucketにアップロードされます。

ステップ5: 権限の確認

OSSコンソールで次の手順を実行して、部門Bのユーザーがダウンロードできるが、共有データの書き込みや削除はできないことを確認します。

  1. 部門BのRAMユーザーとしてOSSコンソールにログインします。

  2. を開きます。Open theオブジェクトのページhttps://oss.console.aliyun.com/bucket/hangzhou/example-bucket/object.

  3. [オブジェクト] ページで、次の権限チェックを実行します。

    1. 共有データに対する部門Bのユーザーのダウンロード権限を確認します。

      example-bucketバケットでオブジェクトを検索し、[操作] 列でmore > ダウンロードを選択します。

      • オブジェクトをダウンロードできない場合、ダウンロード権限が正しく設定されていません。

      • オブジェクトがダウンロードされると、ダウンロード権限は正しく設定されます。

    2. 共有データに対する部門Bのユーザーのアップロード権限を確認します。

      手順4に従って、example-bucketにデータをアップロードします。

      • アップロード操作が失敗した場合、目的のアップロード権限は正しく設定されています。

      • アップロード操作が成功すると、意図したアップロード権限が正しく設定されていません。

    3. 共有データに対する部門Bのユーザーの削除権限を確認します。

      サンプルバケットでオブジェクトを検索し、[操作] 列の more > [削除] を選択します。

      • 削除操作が失敗した場合、意図した削除権限は正しく設定されています。

      • 削除操作が成功した場合、意図した削除権限が正しく設定されていません。