

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon OpenSearch Serverless 中的 FIPS 合規
<a name="fips-compliance-opensearch-serverless"></a>

Amazon OpenSearch Serverless 支援聯邦資訊處理標準 (FIPS) 140-2，這是美國和加拿大政府標準，可指定保護敏感資訊之密碼編譯模組的安全需求。當您使用 OpenSearch Serverless 連線至已啟用 FIPS 的端點時，密碼編譯操作會使用 FIPS 驗證的密碼編譯程式庫進行。

OpenSearch Serverless FIPS 端點可在支援 FIPS AWS 區域 的 中使用。這些端點使用 TLS 1.2 或更新版本，以及 FIPS 驗證的密碼編譯演算法進行所有通訊。如需詳細資訊，請參閱*AWS 《 驗證存取使用者指南*》中的 [FIPS 合規](https://docs.aws.amazon.com/verified-access/latest/ug/fips-compliance.html)。

**Topics**
+ [搭配 OpenSearch Serverless 使用 FIPS 端點](#using-fips-endpoints-opensearch-serverless)
+ [使用具有 AWS SDKs FIPS 端點](#using-fips-endpoints-aws-sdks)
+ [設定 VPC 端點的安全群組](#configuring-security-groups-vpc-endpoints)
+ [使用 FIPS VPC 端點](#using-fips-vpc-endpoint)
+ [驗證 FIPS 合規](#verifying-fips-compliance)
+ [解決私有託管區域中的 FIPS 端點連線問題](serverless-fips-endpoint-issues.md)

## 搭配 OpenSearch Serverless 使用 FIPS 端點
<a name="using-fips-endpoints-opensearch-serverless"></a>

在支援 FIPS AWS 區域 的情況下，OpenSearch Serverless 集合可透過標準和 FIPS 相容端點存取。如需詳細資訊，請參閱*AWS 《 驗證存取使用者指南*》中的 [FIPS 合規](https://docs.aws.amazon.com/verified-access/latest/ug/fips-compliance.html)。

在下列範例中，將 *collection\$1id* 和 取代*AWS 區域*為您的集合 ID 及其 AWS 區域。
+ **標準端點** – **https://*collection\$1id*.*AWS 區域*.aoss.amazonaws.com**。
+ **FIPS 相容端點** – **https://*collection\$1id*.*AWS 區域*.aoss-fips.amazonaws.com**。

同樣地，OpenSearch Dashboards 可透過標準和 FIPS 相容端點存取：
+ **標準儀表板端點** – **https://*collection\$1id*.*AWS 區域*.aoss.amazonaws.com/\$1dashboards**。
+ **符合 FIPS 標準的儀表板端點** – **https://*collection\$1id*.*AWS 區域*.aoss-fips.amazonaws.com/\$1dashboards**。

**注意**  
在啟用 FIPS 的區域中，標準和 FIPS 相容的端點都提供 FIPS 相容的密碼編譯。FIPS 特定的端點可協助您滿足合規要求，這些要求特別強制在名稱中使用具有 **FIPS** 的端點。

## 使用具有 AWS SDKs FIPS 端點
<a name="using-fips-endpoints-aws-sdks"></a>

使用 AWS SDKs時，您可以在建立用戶端時指定 FIPS 端點。在下列範例中，將 *collection\$1id* 和 取代*AWS 區域*為您的集合 ID 及其 AWS 區域。

```
# Python SDK example
from opensearchpy import OpenSearch, RequestsHttpConnection, AWSV4SignerAuth
import boto3
host = '"https://collection_id.AWS 區域.aoss-fips.amazonaws.com"
region = 'us-west-2'
service = 'aoss'
credentials = boto3.Session().get_credentials()
auth = AWSV4SignerAuth(credentials, region, service)
client = OpenSearch(
    hosts = [{'host': host, 'port': 443}],
    http_auth = auth,
    use_ssl = True,
    verify_certs = True,
    connection_class = RequestsHttpConnection,
    pool_maxsize = 20
)
```

## 設定 VPC 端點的安全群組
<a name="configuring-security-groups-vpc-endpoints"></a>

為了確保與 FIPS 相容的 Amazon VPC (VPC) 端點進行適當通訊，請建立或修改安全群組，以允許來自您 VPC 中需要存取 OpenSearch Serverless 資源的傳入 HTTPS 流量 (TCP 連接埠 443)。然後在建立期間或在建立之後修改端點，將此安全群組與您的 VPC 端點建立關聯。如需詳細資訊，請參閱《*Amazon VPC 使用者指南*》的[建立安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html)。

## 使用 FIPS VPC 端點
<a name="using-fips-vpc-endpoint"></a>

建立 FIPS 相容 VPC 端點後，您可以使用它從 VPC 中的資源存取 OpenSearch Serverless。若要使用 API 操作的端點，請將 SDK 設定為使用區域 FIPS 端點，如 [搭配 OpenSearch Serverless 使用 FIPS 端點](#using-fips-endpoints-opensearch-serverless)一節中所述。對於 OpenSearch Dashboards 存取，請使用集合特定的 Dashboards URL，從 VPC 內存取時，會自動透過 FIPS 相容 VPC 端點路由。如需詳細資訊，請參閱[搭配使用 OpenSearch Dashboards 與 Amazon OpenSearch Service](dashboards.md)。

## 驗證 FIPS 合規
<a name="verifying-fips-compliance"></a>

若要驗證您對 OpenSearch Serverless 的連線是否使用 FIPS 相容密碼編譯，請使用 AWS CloudTrail 來監控對 OpenSearch Serverless 發出的 API 呼叫。檢查 CloudTrail 日誌中的 `eventSource` 欄位是否顯示 API `aoss-fips.amazonaws.com` 呼叫。

對於 OpenSearch Dashboards 存取，您可以使用瀏覽器開發人員工具來檢查 TLS 連線詳細資訊，並確認正在使用符合 FIPS 規範的密碼套件。

# 解決私有託管區域中的 FIPS 端點連線問題
<a name="serverless-fips-endpoint-issues"></a>

FIPS 端點適用於具有公有存取權的 Amazon OpenSearch Serverless 集合。對於使用新建立的 VPC 端點的新建立 VPC 集合，FIPS 端點會如預期運作。對於其他 VPC 集合，您可能需要執行手動設定，以確保 FIPS 端點正確運作。

**在 Amazon Route 53 中設定 FIPS 私有託管區域**

1. 請在 [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/) 開啟 Route 53 主控台。

1. 檢閱您的託管區域：

   1. 找出 AWS 區域 集合所在的託管區域。

   1. 驗證託管區域命名模式：
      + 非 FIPS 格式：`region.aoss.amazonaws.com`。
      + FIPS 格式：`region.aoss-fips.amazonaws.com`。

   1. 確認所有託管區域的**類型**設定為**私有託管區域**。

1. 如果缺少 FIPS 私有託管區域：

   1. 選取對應的非 FIPS 私有託管區域。

   1. 複製**相關聯的 VPCs**資訊。例如：`vpc-1234567890abcdef0 | us-east-2`。

   1. 尋找萬用字元網域記錄。例如：`*.us-east-2.aoss.amazonaws.com`。

   1. 將**值/路由流量**複製到資訊。例如：`uoc1c1qsw7poexampleewjeno1pte3rw.3ym756xh7yj.aoss.searchservices.aws`。

1. 建立 FIPS 私有託管區域：

   1. 使用 FIPS 格式建立新的私有託管區域。例如：`us-east-2.aoss-fips.amazonaws.com`。

   1. 針對**關聯的 VPCs**，輸入您從非 FIPS 私有託管區域複製的 VPC 資訊。

1. 使用下列設定新增記錄：

   1. 記錄名稱：\$1

   1. 記錄類型：CNAME

   1. 值：輸入您先前複製資訊**的值/路由流量**。

## 常見問題
<a name="serverless-fips-endpoint-common-problems"></a>

如果您遇到與 FIPS 相容之 VPC 端點的連線問題，請使用下列資訊來協助解決問題。
+ DNS 解析失敗 - 您無法解析 VPC 中的 FIPS 端點網域名稱
+ 連線逾時 - 您對 FIPS 端點的請求逾時
+ 存取遭拒錯誤 - 使用 FIPS 端點時身分驗證或授權失敗
+ 缺少僅限 VPC 集合的私有託管區域記錄

**疑難排解 FIPS 端點連線**

1. 驗證您的私有託管區域組態：

   1. 確認 FIPS 端點網域 (`*.region.aoss-fips.amazonaws.com`.

   1. 確認私有託管區域與正確的 VPC 相關聯。

      如需詳細資訊，請參閱《*Amazon Route 53 開發人員指南*》中的[私有託管區域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted- zones-private.html)，以及《 *AWS PrivateLink 指南*》中的[管理 DNS 名稱](https://docs.aws.amazon.com/vpc/latest/privatelink/manage-dns-names.html)。

1. 測試 DNS 解析：

   1. 連線至 VPC 中的 EC2 執行個體。

   1. 執行以下命令：

      ```
      nslookup collection-id.region.aoss-fips.amazonaws.com
      ```

   1. 確認回應包含 VPC 端點的私有 IP 地址。

      如需詳細資訊，請參閱《*Amazon VPC 使用者指南*》中的[端點政策和](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints- access.html#endpoint-dns-verification) [DNS 屬性](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc- dns-troubleshooting)。

1. 檢查您的安全群組設定：

   1. 確認連接至 VPC 端點的安全群組允許來自 資源的 HTTPS 流量 （連接埠 443)。

   1. 確認 資源的安全群組允許傳出流量到 VPC 端點。

   如需詳細資訊，請參閱《 *AWS PrivateLink 指南*》中的[端點政策](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#vpc-endpoint-security-groups)，以及《*Amazon VPC 使用者指南*》中的[安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html#SecurityGroupRules)。

1. 檢閱您的網路 ACL 組態：

   1. 確認網路 ACLs資源與 VPC 端點之間的流量。

     如需詳細資訊，請參閱「Amazon VPC 使用者指南」**中的[網路 ACL](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network- acls.html#nacl-troubleshooting)。

1. 檢閱您的端點政策：

   1. 檢查 VPC 端點政策是否允許 OpenSearch Serverless 資源上的必要動作。

     如需詳細資訊，請參閱《 *AWS PrivateLink 指南*》中的[所需 VPC 端點許可](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html#serverless-vpc-permissions)和[端點政策](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints- access.html#vpc-endpoint-policies)。

**提示**  
如果您在 VPC 中使用自訂 DNS 解析程式，請將它們設定為將`*.amazonaws.com`網域的請求轉送至 AWS 伺服器。