VPC ポリシーを使用して、承認されたユーザーがアクセスできるリソースを制御します。これをバケットポリシーと組み合わせることで、リソースにアクセスできるユーザーを指定できます。これにより、クラウドデータが安全なネットワーク環境内からのみアクセスされるようになり、不正アクセスのリスクが軽減されます。
前提条件
バケットと同じリージョンに Virtual Private Cloud (VPC) が作成されていること。詳細については、「VPC の作成と管理」をご参照ください。
背景情報
次のアーキテクチャは、ソースと宛先の両方でデータアクセスを制御する方法を示しています。

このアーキテクチャは、次のことを示しています。
許可されたアクセス
信頼できるユーザーは、指定された 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 バケット内のリソースにのみアクセスできるようにします。
VPC コンソールにログインします。
左側のナビゲーションウィンドウで、[エンドポイント] をクリックします。
上部のナビゲーションバーで、ゲートウェイエンドポイントを作成するリージョンを選択します。
[ゲートウェイエンドポイント] タブをクリックし、[エンドポイントの作成] をクリックします。
表示中の[エンドポイントの作成]ページで、次のパラメーターを設定し、[作成]をクリックします。
パラメーター
説明
エンドポイント名
ゲートウェイエンドポイントの名前を入力します。
エンドポイントタイプ
作成するエンド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 リソースへのアクセスをブロックします。
OSS コンソールにログインします。
左側のナビゲーションウィンドウで バケット をクリックし、examplebucket をクリックします。
左側のナビゲーションウィンドウで、権限管理 > バケット承認ポリシー を選択します。
バケット承認ポリシー タブで、構文で追加 をクリックします。
[編集] をクリックし、次のバケットポリシーを入力します。
重要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" }設定 をクリックします。表示されるダイアログボックスで、[OK] をクリックします。