このトピックでは、バケットポリシーを使用して、一部のユーザーがデータのダウンロードのみを許可し、Object Storage Service (OSS) へのデータの書き込みや削除を禁止することで、部門またはプロジェクトチーム間でデータを安全に共有する方法について説明します。
背景情報
この例では、部門Aがexample-bucketという名前のバケットにデータを格納し、部門Bのユーザーが共有データをダウンロードできるようにします。 このトピックでは、最小特権の原則に従って共有データへのアクセスを制御する方法を示します。 次の図は、Department AおよびDepartment Bの管理者およびユーザーがexample-bucketバケットにアクセスするために期待される権限を示しています。
承認プロセス
この例では、部門Aの管理者は、次の手順を使用して、バケットに対して異なるアクセス許可を付与するバケットポリシーを設定できます。
部門Aの管理者は、共有データを格納するためにexample-bucketという名前のバケットを作成します。
部門Aの管理者は、たとえばバケットのようなバケットポリシーを設定して、部門aのユーザーがバケットにデータをアップロードできるようにします。
手順3: 共有データをダウンロードし、共有データの書き込みと削除を拒否する権限を付与
部門Aの管理者は、部門Bのユーザーが共有データをダウンロードできるようにするが、共有データの書き込みや削除はできないように、バケットポリシー (例: bucket) を設定します。
次の手順を実行して、Department aのユーザーとしてexample-bucketにデータをアップロードします。
部門Bのユーザーの権限を確認して、ユーザーが共有データのみをダウンロードでき、共有データの書き込みや削除はできないことを確認します。
前提条件
部門Aおよび部門Bの管理者およびユーザーのRAMユーザーは、企業のAlibaba Cloudアカウント内に作成されます。
詳細については、「RAM ユーザーの作成」をご参照ください。
RAMユーザーのUIDが取得されます。 UIDのクエリ方法の詳細については、「RAMユーザーに関する情報の表示」をご参照ください。
RAMユーザーに適切な権限が付与されます。
この例では、部門Aの管理者はバケットを作成し、バケットポリシーを設定する必要があります。 したがって、AliyunOSSFullAccessポリシーは、管理者のRAMユーザーグループにアタッチする必要があります。 詳細については、「RAM ユーザーへの権限の付与」をご参照ください。
ステップ 1: バケットの作成
次の手順を実行して、a部門の管理者として中国 (杭州) リージョンにバケットを作成します。
ステップ2: 共有データをアップロードする権限を付与する
部門Aの管理者として次の手順を実行し、部門Aのユーザーがexample-bucketにデータをアップロードできるようにします。
で作成されたバケットの名前をクリックします。ステップ1.
左側のナビゲーションツリーで、 .
On theGUI で追加のタブバケット承認ポリシータブをクリックします。新規権限.
では、新規権限パネルで、次のパラメータを設定し、他のパラメータのデフォルト設定を保持します。
パラメーター
説明
関連リソース
バケット全体 を選択して、バケット全体にバケットポリシーを適用します。
ユーザー
[RAMユーザー] を選択します。
[RAMユーザー] ドロップダウンリストから、バケットにデータをアップロードする権限を付与するRAMユーザーを選択します。 検索ボックスにユーザー名またはキーワードを入力して、ファジーマッチで特定のRAMユーザーを検索することもできます。
許可された操作
[基本設定] を選択し、読み書き をクリックします。
このオプションは、許可されたユーザーがバケットに対して読み取りおよび書き込み操作を実行できることを示します。
クリックOK.
部門Aのユーザーには、バケットにデータをアップロードする権限が付与されます。
ステップ3: 共有データをダウンロードし、共有データの書き込みと削除を拒否する権限を付与する
部門Aの管理者として次の手順を実行し、部門Bのユーザーがexample-bucketから共有データをダウンロードできるようにします。
で作成されたバケットの名前をクリックします。ステップ1.
左側のナビゲーションツリーで、 .
On theGUI で追加のタブバケット承認ポリシータブをクリックします。新規権限.
では、新規権限パネルで、次のパラメータを設定し、他のパラメータのデフォルト設定を保持します。
パラメーター
説明
関連リソース
バケット全体 を選択して、バケット全体にバケットポリシーを適用します。
ユーザー
[その他のアカウント] を選択します。 共有データのダウンロードを許可するRAMユーザーのUIDを入力します。
許可された操作
[基本設定] を選択し、[読み取り専用 (ListObjectを含む)] をクリックします。
このオプションは、許可されたユーザーがデータの表示、一覧表示、ダウンロードのみでき、example-bucketに保存されているデータの書き込みや削除はできないことを示します。
クリックOK.
部門Bのユーザーには、バケットからデータをダウンロードする権限が付与されます。 バケットにデータを書き込んだり、バケットからデータを削除したりすることはできません。
ステップ4: バケットにデータをアップロードする
次の手順を実行して、Department aのユーザーとしてexample-bucketにデータをアップロードします。
部門aのRAMユーザーとしてOSSコンソールにログインします。
オブジェクトのアップロードページを開きます。
https://oss.console.aliyun.com/bucket/hangzhou/example-bucket/object/upload
.アップロードページで、データをアップロードするパラメーターを設定します。
[アップロード先の現在のディレクトリ] を選択します。 アップロードのパラメーター設定の詳細については、「オブジェクトのアップロード」をご参照ください。
[タスクリスト] パネルの [タスクのアップロード] タブで、タスクの進行状況を確認します。 アップロードが完了したら、パネルを閉じます。
データはexample-bucketにアップロードされます。
ステップ5: 権限の確認
OSSコンソールで次の手順を実行して、部門Bのユーザーがダウンロードできるが、共有データの書き込みや削除はできないことを確認します。
部門BのRAMユーザーとしてOSSコンソールにログインします。
を開きます。Open theオブジェクトのページ
https://oss.console.aliyun.com/bucket/hangzhou/example-bucket/object
.[オブジェクト] ページで、次の権限チェックを実行します。
共有データに対する部門Bのユーザーのダウンロード権限を確認します。
example-bucketバケットでオブジェクトを検索し、[操作] 列で
を選択します。オブジェクトをダウンロードできない場合、ダウンロード権限が正しく設定されていません。
オブジェクトがダウンロードされると、ダウンロード権限は正しく設定されます。
共有データに対する部門Bのユーザーのアップロード権限を確認します。
手順4に従って、example-bucketにデータをアップロードします。
アップロード操作が失敗した場合、目的のアップロード権限は正しく設定されています。
アップロード操作が成功すると、意図したアップロード権限が正しく設定されていません。
共有データに対する部門Bのユーザーの削除権限を確認します。
サンプルバケットでオブジェクトを検索し、[操作] 列の
を選択します。削除操作が失敗した場合、意図した削除権限は正しく設定されています。
削除操作が成功した場合、意図した削除権限が正しく設定されていません。