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

Object Storage Service:チュートリアル: VPCポリシーとバケットポリシーを使用したデータアクセスの制御

最終更新日:Dec 14, 2023

仮想プライベートクラウド (VPC) ポリシーを設定して、許可されたユーザーがアクセスできるリソースを指定し、バケットポリシーを設定して、リソースにアクセスできるユーザーを指定できます。 このようにして、クラウド内のデータは、安全なネットワーク内の許可されたユーザーがアクセスでき、不正アクセスから保護されます。

前提条件

VPCは、バケットと同じリージョンに作成されます。 詳細については、「VPCの作成と管理」をご参照ください。

背景情報

次の図は、ソースからデスティネーションへのデータアクセスを制御するために使用されるアーキテクチャを示しています。

safety

上記のアーキテクチャに基づいて、Object Storage Service (OSS) は、次のルールに基づいて、ユーザーがリソースにアクセスできるようにするかどうかを決定します。

  • リソースへのアクセスを許可する

    許可されたバケット内のリソースへのアクセスは、許可されたVPCから許可されたユーザーのAccessKeyペアを使用して開始されると許可されます。

  • リソースへのアクセスを拒否する

    • 権限のないバケット内のリソースへのアクセスは、権限のないユーザーのAccessKeyペアを使用して権限のあるVPCから開始された場合、拒否されます。

    • 許可されたバケット内のリソースへのアクセスは、許可されたユーザーのAccessKeyペアを使用して許可されていないVPCから開始されると拒否されます。

シナリオ

UIDが174649585760xxxxのユーザーは、重要なビジネスデータを保存するために、OSSにexamplebucketという名前のバケットを作成します。 また、ユーザーは複数のECS (Elastic Compute Service) インスタンスを購入し、IDがt4nlw426y44rd3iq4 **** であるVPCにこれらのインスタンスをデプロイします。

ソースからのデータアクセスを制御するには、現在のVPCから開始されたリクエストのみがexamplebucketの特定のOSSリソースにアクセスできるようにVPCポリシーを設定します。 宛先へのデータアクセスを制御するには、他のVPCからexamplebucketへのすべてのアクセス要求をブロックするようにバケットポリシーを設定する必要もあります。

ステップ1: VPCポリシーの設定

IDがt4nlw426y44rd3iq4 **** であるVPCから開始されたリクエストがexamplebucketのOSSリソースのみにアクセスできるように、VPCポリシーを設定します。

  1. VPCコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[エンドポイント] をクリックします。
  3. 上部のナビゲーションバーで、ゲートウェイエンドポイントを作成するリージョンを選択します。
  4. [エンドポイント] ページの エンドポイント タブで、エンドポイントの作成 をクリックします。

  5. エンドポイントの作成 ページで、パラメーターを設定し、OK をクリックします。 次の表にパラメーターを示します。

    パラメーター

    説明

    エンドポイント名

    ゲートウェイエンドポイントの名前を入力します。

    エンドポイントタイプ

    作成するエンドポイントのタイプを選択します。 この例では、ゲートウェイエンドポイントが選択されています。

    エンドポイントサービス

    サービスの選択 をクリックし、VPCにアクセスするエンドポイントサービスを選択します。

    [VPC]

    ゲートウェイエンドポイントを作成するVPCを選択します。

    ルートテーブル

    ゲートウェイエンドポイントに関連付けるルートテーブルを選択します。

    リソースグループ

    ゲートウェイエンドポイントに関連付けるリソースグループを選択します。

    説明

    エンドポイントの説明を入力します。

    アクセスポリシー

    次のアクセスポリシーを入力します。

    {
      "Statement":
        [
          {
            "Action": "oss:*",
            "Effect": "Allow",
            "Principal": ["174649585760xxxx"] 、
            "Resource": ["acs:oss:*:*:examplebucket" 、
                         "acs:oss:*:*:examplebucket/*"]
          }
        ],
      "バージョン": "1"
    } 

手順2: バケットポリシーの設定

バケットポリシーを設定して、IDがt4nlw426y44rd3iq4 **** でないVPCから開始されたリクエストがOSSリソースにアクセスしないようにします。

  1. OSSコンソールにログインします。

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

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

  4. バケット承認ポリシー ページで、構文で追加 をクリックします。

  5. [編集] をクリックし、次のバケットポリシーを入力します。

    {
      "ステートメント":
        [
          {
            "Action": ["oss:*"] 、
            "Effect": "Deny",
            "Principal": ["*"] 、
            "リソース": "acs:oss:*:*:*" 、
            "Condition":
              {
                「StringNotEquals」:
                  {
                    "acs:SourceVpc": ["t4nlw426y44rd3iq4 ****"]
                  }
              }
          }
        ] ,
      "バージョン": "1"
    } 
  6. 設定 をクリックします。 表示されるダイアログボックスで、[OK] をクリックします。