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

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

最終更新日:Dec 14, 2023

このトピックでは、バケットポリシーを使用して、一部のユーザーがデータのダウンロードのみを許可し、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ユーザーに関する情報の表示」をご参照ください。

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

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

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

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

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

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

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

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

  4. OK をクリックします。

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

次の手順を実行して、Department AのユーザーにDepartment Aの管理者としてexample-bucketにデータをアップロードする権限を付与します。

  1. 手順1で作成したexample-bucketをクリックします。

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

  3. 表示されるページの GUI で追加 タブで、新規権限 をクリックします。

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

    パラメーター

    説明

    関連リソース

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

    ユーザー

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

    [RAMユーザー] ドロップダウンリストから、バケットにデータをアップロードする権限を付与するRAMユーザーを選択します。 検索ボックスにユーザー名またはキーワードを入力して、特定のRAMユーザーを検索することもできます。 あいまい一致はサポートされていません。

    許可された操作

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

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

  5. OK をクリックします。

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

ステップ3: 共有データをダウンロードするが書き込みまたは削除しない権限を付与する

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

  1. 手順1で作成したexample-bucketをクリックします。

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

  3. 表示されるページの GUI で追加 タブで、新規権限 をクリックします。

  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. アップロードページで、データをアップロードするパラメーターを設定します。

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

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

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

ステップ5: 権限の確認

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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