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

Object Storage Service:VPC ポリシーとバケットポリシーでデータアクセスのセキュリティを制御する

最終更新日:Nov 09, 2025

VPC ポリシーを使用して、承認されたユーザーがアクセスできるリソースを制御します。これをバケットポリシーと組み合わせることで、リソースにアクセスできるユーザーを指定できます。これにより、クラウドデータが安全なネットワーク環境内からのみアクセスされるようになり、不正アクセスのリスクが軽減されます。

前提条件

バケットと同じリージョンに Virtual Private Cloud (VPC) が作成されていること。詳細については、「VPC の作成と管理」をご参照ください。

背景情報

次のアーキテクチャは、ソースと宛先の両方でデータアクセスを制御する方法を示しています。

safety

このアーキテクチャは、次のことを示しています。

  • 許可されたアクセス

    信頼できるユーザーは、指定された VPC 内から AccessKey を使用して、承認されたバケットにアクセスします。

  • アクセス拒否

    • 信頼できないユーザーは、指定された VPC 内から AccessKey を使用して、承認されていないバケットにアクセスします。

    • 信頼できるユーザーは、指定された VPC の外部から AccessKey を使用して、承認されたバケットにアクセスします。

シナリオ

UID が 174649585760xxxx のユーザーが、Object Storage Service (OSS) に examplebucket という名前のバケットを作成して、重要なビジネスデータを保存します。ユーザーは、サービスを実行するために複数の ECS インスタンスも作成します。サービス環境は、ID が t4nlw426y44rd3iq4xxxx の VPC に構築されています。

ユーザーは、指定された VPC のみが OSS リソース examplebucket にアクセスできるようにしたいと考えています。これにより、VPC ソースでのデータストリームへのアクセスが制御されます。ユーザーはまた、この VPC の外部からのすべての OSS アクセスリクエストをブロックする必要があります。これにより、バケットの宛先でのデータストリームへのアクセスが制御されます。

ステップ 1: VPC ポリシーを設定する

VPC ポリシーを使用して、ID が t4nlw426y44rd3iq4xxxx の VPC が OSS の examplebucket バケット内のリソースにのみアクセスできるようにします。

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

  2. 左側のナビゲーションウィンドウで、[エンドポイント] をクリックします。

  3. 上部のナビゲーションバーで、ゲートウェイエンドポイントを作成するリージョンを選択します。

  4. [ゲートウェイエンドポイント] タブをクリックし、[エンドポイントの作成] をクリックします。

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

    パラメーター

    説明

    エンドポイント名

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

    エンドポイントタイプ

    作成するエンドpointのタイプを選択します。このチュートリアルでは、ゲートウェイエンドポイント を使用します。

    エンドポイントサービス

    サービスの選択 をクリックし、OSS のエンドポイントサービスを選択します。

    VPC

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

    ルートテーブル

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

    リソースグループ

    エンドポイントが属するリソースグループを選択します。

    説明

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

    エンドポイントポリシー

    次のエンドポイントポリシーを入力します。

    {
      "Statement":
        [
          {
            "Action": "oss:*",
            "Effect": "Allow",
            "Principal": ["174649585760xxxx"],
            "Resource": ["acs:oss:*:*:examplebucket",
                         "acs:oss:*:*:examplebucket/*"]
          }
        ],
      "Version": "1"
    }
    重要

    VPC ポリシーが設定されていない場合、VPC はデフォルトで同じリージョン内のすべてのバケットにアクセスできます。VPC ポリシーが設定されている場合、VPC はリクエストがポリシーによって明示的に許可されている場合にのみ、同じリージョン内のバケットにアクセスできます。

ステップ 2: バケットポリシーを設定する

バケットポリシーを使用して、ID が t4nlw426y44rd3iq4xxxx の VPC 以外の VPC からの OSS リソースへのアクセスをブロックします。

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

  2. 左側のナビゲーションウィンドウで バケット をクリックし、examplebucket をクリックします。

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

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

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

    重要

    Deny ルールを含むポリシーで Principal* に設定する場合は、VPC がバケットにアクセスできることを確認してください。そうしないと、コンソールにログインするユーザーを含め、どのユーザーもバケットにアクセスできなくなります。テスト目的で、Resource Access Management (RAM) ユーザーを Principal として指定できます。アクセスに関する問題が発生した場合は、Alibaba Cloud アカウントでコンソールにログインしてポリシーを変更できます。

    {
      "Statement" :
        [
          {
            "Action": ["oss:*"],
            "Effect": "Deny",
            "Principal": ["*"],
            "Resource": "acs:oss:*:*:*",
            "Condition":
              {
                "StringNotEquals" :
                  {
                    "acs:SourceVpc": ["vpc-t4nlw426y44rd3iq4xxxx"]
                  }
              }
          }
        ] ,
      "Version": "1"
    }
  6. 設定 をクリックします。表示されるダイアログボックスで、[OK] をクリックします。