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 應用程式的網路存取

根據您要保護的範圍和使用者連線的網路路徑,選擇範例:

Scope (範圍) 控制項 封鎖登入頁面
單一主體 身分型政策
單一 VPC 端點 VPC 端點政策
組織中的每個帳戶 資源控制政策 (RCP)
注意

只有拒絕 的資源控制政策會在驗證前opensearch:ViewLoginPage封鎖網路外使用者。身分型和 VPC 端點政策會在使用者登入後套用。

將委託人限制為 VPC 端點

下列身分型政策會拒絕使用者或角色存取 OpenSearch UI 應用程式,除非請求透過指定的界面 VPC 端點到達。將它連接到存取應用程式的 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 端點存取

身分型政策會限制特定主體,而 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

    如需詳細資訊,請參閱《 AWS Organizations 使用者指南》中的連接和分離資源控制政策

政策生效後,核准的 VPC 端點以外的使用者無法存取應用程式。根據應用程式的身分驗證類型和請求的 URL,使用者會收到403 forbidden回應而非登入頁面,或重新導向至登入,然後被拒絕存取應用程式。如果您透過 VPC 端點連線,您會到達登入頁面並正常登入。

注意

資源控制政策的變更最多可能需要一分鐘才會生效。如果您在建立、更新或連接政策後立即進行測試,您仍然可能會觀察到先前的行為。

在整個組織中強制執行 VPC 存取

若要核准 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 端點流量。