UIを使用して、単一のObject Storage バケットへのアクセスを制限する

IBM Cloud IAMリソース・グループとアクセス・ポリシーによって、管理者はさまざまなサービス・インスタンスへのユーザー・アクセスを制限できる。 しかし、IBM Cloud ユーザー・インターフェースを使用していて、サービス・インスタンス内の限られた数のバケットにしかアクセスする必要がない場合はどうでしょうか これは、カスタム・ロールと絞り込んだIAMポリシーを使って実現できる。

このチュートリアルでは、IBM Cloud UI を使ってバケツにアクセスする必要があるユーザに対して、単一の Object Storage バケツへのアクセスを許可する方法を紹介します。

IBM Cloud® Object Storageに馴染みがない場合は、IBM Cloud Object Storage ですぐに概要を知ることができます。 また、IAMに慣れていない場合は、IAMを始める方法 をチェックするとよいでしょう。

開始前に

すでにObject StorageやIAMのインスタンスを管理している場合は、さらに作成する必要はありません。 ただし、このチュートリアルでは作業中のインスタンスを変更および構成するため、アカウントまたはサービスが本番環境で使用されていないことを確認してください。

このチュートリアルでは、新しいアクセスポリシーと新しいカスタムロールを作成します。

このチュートリアルで必要なもの

  • IBM Cloud® プラットフォームアカウント
  • IBM Cloud Object Storage のインスタンス です。 COSインスタンスを持っていない場合は、作成することができます。 このチュートリアルでは、インスタンスの名前を COS-BUCKET-LIMIT-EX とします。
  • ユーザーを拘束するバケツ。 チュートリアル用に新しいインスタンスを作成した場合は、COSインスタンスを作成した後にいくつかのバケットを作成します。 このチュートリアルでは、COSサービスインスタンス内のバケットの1つだけにアクセスを提供する方法を説明します。
  • サービスへのアクセスを管理する手順を完了するには、ユーザーIDがIAMポリシーを設定するために管理者プラットフォーム権限が必要です。 アカウント管理者に連絡するか、一緒に作業する必要があるかもしれません。

個々のユーザーにバケツレベルのアクセスを提供する

  1. カスタムCOSサービスロール を作成し(例えば COS ListBucketsInAccount と呼びます)、アクション cloud-object-storage.account.get_account_buckets をこのカスタムロールに割り当てます。

  2. IAMアクセスグループ を作成し、例えば BUCKET_ACCESS_GROUP_1 と呼ぶ。

  3. その新しいアクセスグループで、インスタンス COS-BUCKET-LIMIT-EX のインスタンスレベルのアクセスポリシーを作成し、プラットフォームロール Viewer と先ほど作成したカスタムロール COS ListBucketsInAccount を割り当てます。

  4. 同じアクセスグループで、インスタンス内のバケットの1つに対してバケットレベルのアクセスポリシーを作成し、COSサービスの役割 Content ReaderObject Writer を割り当てます。

    ここでどのようなレベルのアクセスを求めるかによって、指定するロールが決まります。 この例は、最小限のオブジェクトリストで、アップロードとダウンロードを1つのバケットにまとめたものです。 詳しくは 個々のバケツへのアクセスの割り当て をご覧ください

  5. ユーザーをアカウントに招待する.

  6. ユーザーがアカウントへの招待を受け入れたら、そのユーザーをアクセスグループ BUCKET_ACCESS_GROUP_1 に追加します。

  7. ユーザがログインするとき、すでに他のIBM Cloud®アカウントのメンバーであれば、コンソールヘッダのアカウントセレクタで正しいIBM Cloud®アカウントを選択するようにします。

  8. ユーザーがアカウントセレクタで正しいアカウントを選択すると、コンソールリソースビューでは COS-BUCKET-LIMIT-EX という1つのCOSインスタンスしか表示されません。

  9. インスタンスを選択します。

両方のバケツがリストアップされますが、ユーザは自分がアクセス権を与えられたバケツ内のオブジェクトのみをリストアップすることができ、与えられたアクセス権に応じて、そのバケツからオブジェクトをダウンロードしたり、そのバケツにオブジェクトをアップロードしたりすることができます。

ユーザは他のバケツを選択しているように見えますが、オブジェクトをリストしたり、オブジェクトをダウンロードしたり、他のバケツにアップロードしたりすることはできません。

次のステップ

おめでとうございます。IBM Cloud ユーザー・インターフェースを使用してアクセスする必要がある場合に、ユーザー・アクセスを単一のバケットに制限するポリシーを設定しました。