教學課程:Amazon OpenSearch 無伺服器 (主控台) 中的安全性入門 - Amazon OpenSearch 服務

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

教學課程:Amazon OpenSearch 無伺服器 (主控台) 中的安全性入門

本教學將引導您完成使用 Amazon OpenSearch 無伺服器主控台建立和管理安全政策的基本步驟。

在本教學課程中,您將完成下列步驟:

本教學課程會帶您逐步了解如何使用 AWS Management Console 來設定集合。如需使用 AWS CLI 的相同步驟,請參閱 教學課程:Amazon OpenSearch 無伺服器 (CLI) 中的安全性入門

步驟 1:設定許可

注意

如果您已經使用更廣泛的身分型政策,例如 Action":"aoss:*"Action":"*",則可以略過此步驟。不過,在生產環境中,我們建議您遵循最低權限原則,並且僅指派任務完成所需的最低許可。

為完成本教學課程,您必須具備正確的 IAM 許可。使用者或角色必須連接身分型政策,該政策包含以下最低許可:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "aoss:ListCollections", "aoss:BatchGetCollection", "aoss:CreateCollection", "aoss:CreateSecurityPolicy", "aoss:GetSecurityPolicy", "aoss:ListSecurityPolicies", "aoss:CreateAccessPolicy", "aoss:GetAccessPolicy", "aoss:ListAccessPolicies" ], "Effect": "Allow", "Resource": "*" } ] }

如需 OpenSearch 無伺服器權限的完整清單,請參閱適用於 Amazon OpenSearch 無伺服器的 Identity and Access Management

步驟 2:建立加密政策

加密原則會指定 OpenSearch 無伺服器將用來加密集合的AWS KMS金鑰。您可以使用 AWS 受管金鑰 或不同的金鑰來加密集合。為確保本教學課程簡單易懂,我們將使用 AWS 受管金鑰 加密集合。

建立加密政策
  1. 在以下位置打開 Amazon OpenSearch 服務控制台 https://console.aws.amazon.com/aos/home

  2. 在左側導覽窗格中,展開 Serverless (無伺服器),然後選擇 Encryption policies (加密政策)。

  3. 選擇 Create encryption policy (建立加密政策)。

  4. 將政策命名為 books-policy。如需相關描述,請輸入 Encryption policy for books collection (書籍集合的加密政策)。

  5. Resources (資源) 下,輸入 books (書籍),這就是您將為集合命名的名稱。如果您想要更廣泛的名稱,可以包含星號 (books*),以便將政策套用至以「書籍」一詞開頭的所有集合。

  6. 對於加密,請保持選取使用AWS擁有的金鑰

  7. 選擇建立

步驟 3:建立網路原則

網路原則會決定您的集合是否可透過網際網路從公用網路存取,或是否必須透過 OpenSearch 無伺服器管理的 VPC 端點存取該集合。在本教學課程中,我們將設定公用存取權。

建立網路政策
  1. 在左側導覽窗格中,選擇 Network policies (網路政策),然後選擇 Create network policy (建立網路政策)。

  2. 將政策命名為 books-policy。如需相關描述,請輸入 Network policy for books collection (書籍集合的網路政策)。

  3. Rule 1 (規則 1) 下,將規則命名為 Public access for books collection (書籍集合的公用存取權)。

  4. 為確保本教學課程簡單易懂,我們將為書籍集合設定公用存取權。對於存取類型,選取 Public (公用)。

  5. 我們要從 OpenSearch 儀表板存取集合。為此,您需要為儀表板 OpenSearch 端點設定網路存取權,否則儀表板將無法運作。

    對於資源類型,同時啟用 OpenSearch端點存取 OpenSearch控制面板存取

  6. 在兩個輸入方塊中,輸入 Collection Name = books (集合名稱 = 書籍)。此設定會縮減政策的範圍,使該政策僅套用至單一集合 (books)。您的規則應如下所示:

    Search interface showing two input fields for collection or prefix term selection, both set to "books".
  7. 選擇建立

步驟 4:建立資料存取原則

在您設定資料存取之前,將無法存取集合資料。資料存取政策與您在步驟 1 中設定的 IAM 身分型政策不同。資料存取政策允許使用者存取集合中的實際資料。

在本教學課程中,我們將為單一使用者提供將資料索引編製為書籍集合所需的許可。

建立資料存取政策
  1. 在左側導覽窗格中,選擇 Data access policies (資料存取政策),然後選擇 Create access policy (建立存取政策)。

  2. 將政策命名為 books-policy。如需相關描述,請輸入 Data access policy for books collection (書籍集合的資料存取政策)。

  3. 選取 JSON 作為政策定義方法,並將下列政策貼到 JSON 編輯器中。

    將主體 ARN 取代為您將用來登入 OpenSearch 儀表板和索引資料的帳戶的 ARN。

    [ { "Rules":[ { "ResourceType":"index", "Resource":[ "index/books/*" ], "Permission":[ "aoss:CreateIndex", "aoss:DescribeIndex", "aoss:ReadDocument", "aoss:WriteDocument", "aoss:UpdateIndex", "aoss:DeleteIndex" ] } ], "Principal":[ "arn:aws:iam::123456789012:user/my-user" ] } ]

    此政策為單一使用者提供在書籍集合中建立索引、為某些資料編製索引以及進行搜尋所需的最低許可。

  4. 選擇建立

步驟 5:建立商品系列

現在您已設定加密和網路政策,您可以建立相符的集合,而且安全設定會自動套用至該集合。

建立 OpenSearch 無伺服器集合
  1. 在左側導覽窗格中選擇 Collections (集合),然後選擇 Create collection (建立集合)。

  2. 將該集合命名為 books (書籍)。

  3. 對於集合類型,選擇 Search (搜尋)。

  4. 在「加密」下,「 OpenSearch 無伺服器」會通知您集合名稱符合books-policy加密原則。

  5. 在 [網路存取設定] 底下, OpenSearch 無伺服器會通知您集合名稱符合books-policy網路原則。

  6. 選擇下一步

  7. 在 [資料存取原則選項] 底下, OpenSearch 無伺服器會通知您收集名稱符合books-policy資料存取原則。

  8. 選擇下一步

  9. 檢閱集合組態,然後選擇 Submit (提交)。集合初始化所需的時間通常不到一分鐘。

步驟 6:上傳並搜尋資料

您可以使用郵遞員或 curl 將資料上傳至 OpenSearch 無伺服器集合。為了簡潔起見,這些示例使用 OpenSearch 儀表板控制台中的開發工具

在集合中為資料編製索引和進行搜尋
  1. 在左側導覽窗格中選擇 Collections (集合),然後選擇 books (書籍) 集合以開啟其詳細資訊頁面。

  2. 選擇集合的 OpenSearch 儀表板 URL。URL 採用的格式為 https://collection-id.us-east-1.aoss.amazonaws.com/_dashboards

  3. 使用您在資料AWS存取原則中指定之主體的存取金鑰和秘密金鑰登入 OpenSearch 儀表板。

  4. 在 OpenSearch 儀表板中,開啟左側導覽功能表,然後選擇 [開發工具]。

  5. 若要建立名為 books-index 的單一索引,請執行下列命令:

    PUT books-index
    OpenSearch Dashboards console showing PUT request for books-index with JSON response.
  6. 若要將單一文件的索引編製為 books-index,請執行下列命令:

    PUT books-index/_doc/1 { "title": "The Shining", "author": "Stephen King", "year": 1977 }
  7. 要搜索 OpenSearch 儀表板中的數據,您需要配置至少一個索引模式。 OpenSearch 使用這些模式來識別您要分析的索引。開啟 Dashboards 主選單,選擇 Stack Management (堆疊管理),選擇 Index Patterns (索引模式),然後選擇 Create index pattern (建立索引模式)。在本教學課程中,輸入 books-index

  8. 選擇 Next step (下一步),然後選擇 Create index pattern (建立索引模式)。建立模式之後,您可以檢視各種文件欄位,例如 authortitle

  9. 若要開始搜尋資料,請再次開啟主選單,然後選擇 Discover (探索),或使用搜尋 API