View a markdown version of this page

OpenSearch UI アプリケーションのネットワークアクセスコントロール設定リファレンス - Amazon OpenSearch Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

OpenSearch UI アプリケーションのネットワークアクセスコントロール設定リファレンス

以下のセクションでは、OpenSearch UI がサポートする各ネットワークアクセスコントロールのポリシー例を示します。各例には、適用する AWS Command Line Interface (AWS CLI) コマンドが含まれています。OpenSearch UI がこれらのポリシーを評価する方法の説明と、最も一般的なタスクのステップバイステップのチュートリアルについては、「」を参照してくださいOpenSearch UI アプリケーションへのネットワークアクセスの制限

保護するスコープとユーザーが接続するネットワークパスに基づいて例を選択します。

スコープ コントロール ログインページをブロックします
単一のプリンシパル ID ベースのポリシー いいえ
単一の VPC エンドポイント VPC エンドポイントポリシー いいえ
組織内のすべてのアカウント リソースコントロールポリシー (RCP) はい
注記

認証前にネットワーク外のユーザーをopensearch:ViewLoginPageブロックすることを拒否するリソースコントロールポリシーのみ。アイデンティティベースのエンドポイントポリシーと VPC エンドポイントポリシーは、ユーザーがサインインした後に適用されます。

プリンシパルを VPC エンドポイントに制限する

次のアイデンティティベースのポリシーは、リクエストが指定されたインターフェイス VPC エンドポイント経由で到着しない限り、OpenSearch UI アプリケーションへのユーザーまたはロールのアクセスを拒否します。アプリケーションにアクセスする IAM プリンシパルにアタッチします。プレースホルダー値を独自の VPC エンドポイント ID に置き換えます。

プリンシパルを VPC エンドポイントに制限するには
  1. 次のポリシーを という名前のローカルファイルに保存しますpolicy.json

    { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyOpenSearchUIAccessOutsideVpce", "Effect": "Deny", "Action": "opensearch:ApplicationAccessAll", "Resource": "arn:aws:opensearch:*:*:application/*", "Condition": { "StringNotEqualsIfExists": { "aws:SourceVpce": "vpc-endpoint-id" } } } ] }
  2. IAM ポリシーを作成します。

    aws iam create-policy \ --policy-name DenyOpenSearchUIOutsideVpce \ --description "Denies OpenSearch UI access outside the approved VPC endpoint" \ --policy-document file://policy.json

    レスポンスにはポリシー ARN が含まれます。次のステップでは、この値を書き留めます。

  3. アプリケーションにアクセスする IAM ロールまたはユーザーにポリシーをアタッチします。

    aws iam attach-role-policy \ --role-name OpenSearchUIUserRole \ --policy-arn arn:aws:iam::111122223333:policy/DenyOpenSearchUIOutsideVpce

ポリシーが有効になると、プリンシパルは承認された VPC エンドポイントの外部からアプリケーションにアクセスするときに403 forbiddenレスポンスを受け取ります。エンドポイントを介したアクセスは正常に機能します。

プリンシパルを IP アドレス範囲に制限する

次のアイデンティティベースのポリシーは、企業ネットワークのパブリックエグレス範囲など、承認された IP アドレス範囲からリクエストが送信されない限り、アクセスを拒否します。プレースホルダー値を CIDR 表記の独自の IP アドレス範囲に置き換えます。

プリンシパルを IP アドレス範囲に制限するには
  1. 次のポリシーを という名前のローカルファイルに保存しますpolicy.json

    { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyOpenSearchUIAccessOutsideCorpNetwork", "Effect": "Deny", "Action": "opensearch:ApplicationAccessAll", "Resource": "arn:aws:opensearch:*:*:application/*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ "203.0.113.0/24", "198.51.100.0/24" ] } } } ] }
  2. IAM ポリシーを作成します。

    aws iam create-policy \ --policy-name DenyOpenSearchUIExternalAccess \ --description "Denies OpenSearch UI access from outside corporate IP ranges" \ --policy-document file://policy.json
  3. アプリケーションにアクセスする IAM ロールまたはユーザーにポリシーをアタッチします。

    aws iam attach-role-policy \ --role-name OpenSearchUIUserRole \ --policy-arn arn:aws:iam::111122223333:policy/DenyOpenSearchUIExternalAccess
注記

リクエストが VPC エンドポイント経由で到着すると、 aws:SourceIp は存在しません。プライベート (VPC エンドポイント) とパブリック (IP 制限付き) の両方のアクセスパスを使用する場合は、ポリシーで両方の条件キーを考慮し、正当な VPC エンドポイントトラフィックを意図せずに拒否しないようにします。

VPC エンドポイントポリシーによるアクセスの制限

アイデンティティベースのポリシーは、特定のプリンシパルを管理します。接続するプリンシパルに関係なく、ユーザーが VPC エンドポイント経由でアクセスできるアプリケーションを制御するには、インターフェイス VPC エンドポイント自体にポリシーをアタッチします。次のエンドポイントポリシーでは、特定のアプリケーションへのアクセスのみを許可します。プレースホルダーの値を独自の AWS リージョン、アカウント ID、アプリケーション ID に置き換えます。

VPC エンドポイントポリシーを使用してアクセスを制限するには
  1. 次のポリシーを という名前のローカルファイルに保存しますpolicy.json

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowOpenSearchUIApplication", "Effect": "Allow", "Principal": "*", "Action": "opensearch:ApplicationAccessAll", "Resource": "arn:aws:opensearch:region:account-id:application/application-id" } ] }
  2. ポリシーをインターフェイス VPC エンドポイントに適用します。

    aws ec2 modify-vpc-endpoint \ --vpc-endpoint-id vpce-1a2b3c4d5e6f7g8h9 \ --policy-document file://policy.json

OpenSearch UI の VPC エンドポイントポリシーの詳細については、「」を参照してくださいVPC エンドポイントからの OpenSearch UI へのアクセスの管理

組織全体での VPC エンドポイントアクセスの強制

ID ベースのポリシーは特定のプリンシパルを制限し、VPC エンドポイントポリシーは特定のエンドポイントを制限します。組織内のすべてのアカウントでネットワークアクセスを統一し、認証前にネットワーク外のユーザーをブロックするには、リソースコントロールポリシー (RCP) を AWS 組織にアタッチします。

次のリソースコントロールポリシーは、リクエストが指定された VPC エンドポイント経由で到着しない限り、組織内の OpenSearch UI アプリケーションへのすべてのアクセスを拒否します。認証前ログインページ (opensearch:ViewLoginPage) と認証済みアクセス () の両方を拒否しますopensearch:ApplicationAccessAll。承認されたネットワーク外のユーザーは、サインインページをロードすることも、アプリケーションにアクセスすることもできません。プレースホルダー値を独自の VPC エンドポイント ID に置き換えます。

組織全体に VPC エンドポイントアクセスを適用するには
  1. 次のポリシーを という名前のローカルファイルに保存しますpolicy.json

    { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyOpenSearchUIAccessOutsideVpce", "Effect": "Deny", "Principal": "*", "Action": [ "opensearch:ViewLoginPage", "opensearch:ApplicationAccessAll" ], "Resource": "arn:aws:opensearch:*:*:application/*", "Condition": { "StringNotEqualsIfExists": { "aws:SourceVpce": "vpc-endpoint-id" } } } ] }
  2. リソースコントロールポリシーを作成します。組織の管理アカウントまたは委任管理者アカウントからこのコマンドを実行します。

    aws organizations create-policy \ --name DenyOpenSearchUIOutsideVpce \ --description "Denies OpenSearch UI access outside the approved VPC endpoint" \ --type RESOURCE_CONTROL_POLICY \ --content file://policy.json
  3. 保護する範囲に応じて、ポリシーを組織のルート、組織単位、またはアカウントにアタッチします。

    aws organizations attach-policy \ --policy-id p-example12345 \ --target-id 111122223333

    詳細については、「 Organizations ユーザーガイド」の「リソースコントロールポリシーのアタッチとデタッチ」を参照してください。 AWS

ポリシーが有効になると、承認された VPC エンドポイント外のユーザーはアプリケーションにアクセスできなくなります。アプリケーションの認証タイプとリクエストされた URL に応じて、ユーザーはログインページの代わりに403 forbiddenレスポンスを受け取るか、サインインにリダイレクトされてアプリケーションへのアクセスが拒否されます。VPC エンドポイント経由で接続する場合は、ログインページにアクセスし、正常にサインインします。

注記

リソースコントロールポリシーの変更が有効になるまでに最大 1 分かかる場合があります。ポリシーを作成、更新、またはアタッチした直後にテストしても、以前の動作が見られることがあります。

組織全体での VPC アクセスの強制

1 つのエンドポイントに名前を付ける代わりに、VPC 内のすべてのインターフェイス VPC エンドポイントを承認するには、 を使用しますaws:SourceVpc。次のリソースコントロールポリシーは、リクエストが指定された VPC 経由で到着しない限り、組織全体のアクセスを拒否します。プレースホルダー値を独自の VPC ID に置き換えます。

組織全体に VPC アクセスを適用するには
  1. 次のポリシーを という名前のローカルファイルに保存しますpolicy.json

    { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyOpenSearchUIAccessOutsideVpc", "Effect": "Deny", "Principal": "*", "Action": [ "opensearch:ViewLoginPage", "opensearch:ApplicationAccessAll" ], "Resource": "arn:aws:opensearch:*:*:application/*", "Condition": { "StringNotEqualsIfExists": { "aws:SourceVpc": "vpc-id" } } } ] }
  2. リソースコントロールポリシーを作成してアタッチします。

    aws organizations create-policy \ --name DenyOpenSearchUIOutsideVpc \ --description "Denies OpenSearch UI access outside the approved VPC" \ --type RESOURCE_CONTROL_POLICY \ --content file://policy.json aws organizations attach-policy \ --policy-id p-example12345 \ --target-id 111122223333

組織全体での IP アドレス範囲アクセスの強制

次のリソースコントロールポリシーは、企業ネットワークのパブリックエグレス範囲など、承認された IP アドレス範囲からリクエストが送信されない限り、組織全体のアクセスを拒否します。プレースホルダー値を CIDR 表記の独自の IP アドレス範囲に置き換えます。

組織全体で IP アドレス範囲アクセスを適用するには
  1. 次のポリシーを という名前のローカルファイルに保存しますpolicy.json

    { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyOpenSearchUIAccessOutsideCorpNetwork", "Effect": "Deny", "Principal": "*", "Action": [ "opensearch:ViewLoginPage", "opensearch:ApplicationAccessAll" ], "Resource": "arn:aws:opensearch:*:*:application/*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ "203.0.113.0/24", "198.51.100.0/24" ] } } } ] }
  2. リソースコントロールポリシーを作成してアタッチします。

    aws organizations create-policy \ --name DenyOpenSearchUIExternalAccess \ --description "Denies OpenSearch UI access from outside corporate IP ranges" \ --type RESOURCE_CONTROL_POLICY \ --content file://policy.json aws organizations attach-policy \ --policy-id p-example12345 \ --target-id 111122223333
注記

アイデンティティベースの IP の例と同様に、 aws:SourceIpは VPC エンドポイント経由で到着するリクエストには存在しません。プライベートアクセスパスとパブリックアクセスパスの両方を使用する場合は、正当な VPC エンドポイントトラフィックを意図せずに拒否しないように、両方の条件キーを考慮してください。