本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 端點
-
將下列政策儲存至名為 的本機檔案
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" } } } ] } -
建立 IAM 政策。
aws iam create-policy \ --policy-nameDenyOpenSearchUIOutsideVpce\ --description "Denies OpenSearch UI access outside the approved VPC endpoint" \ --policy-document file://policy.json回應包含政策 ARN。請記下下一個步驟的這個值。
-
將政策連接至存取應用程式的 IAM 角色或使用者。
aws iam attach-role-policy \ --role-nameOpenSearchUIUserRole\ --policy-arnarn:aws:iam::111122223333:policy/DenyOpenSearchUIOutsideVpce
政策生效後,主體會在從核准的 VPC 端點外部存取應用程式時收到403 forbidden回應。透過端點存取可正常運作。
將委託人限制為 IP 地址範圍
除非請求來自核准的 IP 地址範圍,例如您公司網路的公有輸出範圍,否則下列身分型政策會拒絕存取。在 CIDR 表示法中將預留位置值取代為您自己的 IP 地址範圍。
將委託人限制為 IP 地址範圍
-
將下列政策儲存至名為 的本機檔案
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" ] } } } ] } -
建立 IAM 政策。
aws iam create-policy \ --policy-nameDenyOpenSearchUIExternalAccess\ --description "Denies OpenSearch UI access from outside corporate IP ranges" \ --policy-document file://policy.json -
將政策連接至存取應用程式的 IAM 角色或使用者。
aws iam attach-role-policy \ --role-nameOpenSearchUIUserRole\ --policy-arnarn:aws:iam::111122223333:policy/DenyOpenSearchUIExternalAccess
注意
當請求透過 VPC 端點抵達時, aws:SourceIp 不存在。如果您同時使用私有 (VPC 端點) 和公有 (IP 限制) 存取路徑,請考量政策中的兩個條件金鑰,以免意外拒絕合法的 VPC 端點流量。
使用 VPC 端點政策限制存取
以身分為基礎的政策會管理特定委託人。若要控制使用者可以透過 VPC 端點到達的應用程式,無論哪個主體連接,請將政策連接到介面 VPC 端點本身。下列端點政策僅允許存取特定應用程式。將預留位置值取代為您自己的 AWS 區域、帳戶 ID 和應用程式 ID。
使用 VPC 端點政策限制存取
-
將下列政策儲存至名為 的本機檔案
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" } ] } -
將政策套用至介面 VPC 端點。
aws ec2 modify-vpc-endpoint \ --vpc-endpoint-idvpce-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 端點存取
-
將下列政策儲存至名為 的本機檔案
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" } } } ] } -
建立資源控制政策。從組織的管理帳戶或從委派管理員帳戶執行此命令。
aws organizations create-policy \ --nameDenyOpenSearchUIOutsideVpce\ --description "Denies OpenSearch UI access outside the approved VPC endpoint" \ --type RESOURCE_CONTROL_POLICY \ --content file://policy.json -
視您要保護的範圍而定,將政策連接至組織根目錄、組織單位或帳戶。
aws organizations attach-policy \ --policy-idp-example12345\ --target-id111122223333如需詳細資訊,請參閱《 AWS Organizations 使用者指南》中的連接和分離資源控制政策。
政策生效後,核准的 VPC 端點以外的使用者無法存取應用程式。根據應用程式的身分驗證類型和請求的 URL,使用者會收到403 forbidden回應而非登入頁面,或重新導向至登入,然後被拒絕存取應用程式。如果您透過 VPC 端點連線,您會到達登入頁面並正常登入。
注意
資源控制政策的變更最多可能需要一分鐘才會生效。如果您在建立、更新或連接政策後立即進行測試,您仍然可能會觀察到先前的行為。
在整個組織中強制執行 VPC 存取
若要核准 VPC 中的每個界面 VPC 端點,而不是命名一個端點,請使用 aws:SourceVpc。除非請求透過指定的 VPC 到達,否則下列資源控制政策會拒絕整個組織的存取。將預留位置值取代為您自己的 VPC ID。
在整個組織中強制執行 VPC 存取
-
將下列政策儲存至名為 的本機檔案
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" } } } ] } -
建立並連接資源控制政策。
aws organizations create-policy \ --nameDenyOpenSearchUIOutsideVpc\ --description "Denies OpenSearch UI access outside the approved VPC" \ --type RESOURCE_CONTROL_POLICY \ --content file://policy.json aws organizations attach-policy \ --policy-idp-example12345\ --target-id111122223333
在整個組織中強制執行 IP 地址範圍存取
下列資源控制政策拒絕整個組織的存取,除非請求來自核准的 IP 地址範圍,例如您公司的網路公有輸出範圍。在 CIDR 表示法中將預留位置值取代為您自己的 IP 地址範圍。
強制跨組織存取 IP 地址範圍
-
將下列政策儲存至名為 的本機檔案
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" ] } } } ] } -
建立並連接資源控制政策。
aws organizations create-policy \ --nameDenyOpenSearchUIExternalAccess\ --description "Denies OpenSearch UI access from outside corporate IP ranges" \ --type RESOURCE_CONTROL_POLICY \ --content file://policy.json aws organizations attach-policy \ --policy-idp-example12345\ --target-id111122223333
注意
如同身分型 IP 範例, aws:SourceIp 不會出現在透過 VPC 端點到達的請求上。如果您同時使用私有和公有存取路徑,請考量這兩個條件金鑰,以免意外拒絕合法的 VPC 端點流量。