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