仮想プライベートクラウド (VPC) ポリシーを設定して、許可されたユーザーがアクセスできるリソースを指定し、バケットポリシーを設定して、リソースにアクセスできるユーザーを指定できます。 このようにして、クラウド内のデータは、安全なネットワーク内の許可されたユーザーがアクセスでき、不正アクセスから保護されます。
前提条件
VPCは、バケットと同じリージョンに作成されます。 詳細については、「VPCの作成と管理」をご参照ください。
背景情報
次の図は、ソースからデスティネーションへのデータアクセスを制御するために使用されるアーキテクチャを示しています。
上記のアーキテクチャに基づいて、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ポリシーを設定します。
VPCコンソールにログインします。
- 左側のナビゲーションウィンドウで、[エンドポイント] をクリックします。
- 上部のナビゲーションバーで、ゲートウェイエンドポイントを作成するリージョンを選択します。
[エンドポイント] ページの エンドポイント タブで、エンドポイントの作成 をクリックします。
エンドポイントの作成 ページで、パラメーターを設定し、OK をクリックします。 次の表にパラメーターを示します。
パラメーター
説明
エンドポイント名
ゲートウェイエンドポイントの名前を入力します。
エンドポイントタイプ
作成するエンドポイントのタイプを選択します。 この例では、ゲートウェイエンドポイントが選択されています。
エンドポイントサービス
サービスの選択 をクリックし、VPCにアクセスするエンドポイントサービスを選択します。
[VPC]
ゲートウェイエンドポイントを作成するVPCを選択します。
ルートテーブル
ゲートウェイエンドポイントに関連付けるルートテーブルを選択します。
リソースグループ
ゲートウェイエンドポイントに関連付けるリソースグループを選択します。
説明
エンドポイントの説明を入力します。
アクセスポリシー
次のアクセスポリシーを入力します。
{ "Statement": [ { "Action": "oss:*", "Effect": "Allow", "Principal": ["174649585760xxxx"] 、 "Resource": ["acs:oss:*:*:examplebucket" 、 "acs:oss:*:*:examplebucket/*"] } ], "バージョン": "1" }
手順2: バケットポリシーの設定
バケットポリシーを設定して、IDがt4nlw426y44rd3iq4 ****
でないVPCから開始されたリクエストがOSSリソースにアクセスしないようにします。
OSSコンソールにログインします。
左側のナビゲーションウィンドウで、バケットリスト をクリックします。 [バケット] ページで、examplebucketを見つけてクリックします。
左側のナビゲーションツリーで、権限管理 > バケット承認ポリシー を選択します。
バケット承認ポリシー ページで、構文で追加 をクリックします。
[編集] をクリックし、次のバケットポリシーを入力します。
{ "ステートメント": [ { "Action": ["oss:*"] 、 "Effect": "Deny", "Principal": ["*"] 、 "リソース": "acs:oss:*:*:*" 、 "Condition": { 「StringNotEquals」: { "acs:SourceVpc": ["t4nlw426y44rd3iq4 ****"] } } } ] , "バージョン": "1" }
設定 をクリックします。 表示されるダイアログボックスで、[OK] をクリックします。