View a markdown version of this page

教學課程:開始使用 Amazon OpenSearch Serverless 中的安全功能 (主控台) - Amazon OpenSearch Service

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

教學課程:開始使用 Amazon OpenSearch Serverless 中的安全功能 (主控台)

在本教學課程中,您會使用 Amazon OpenSearch Serverless 主控台建立和管理安全政策。

您完成本教學課程中的下列步驟:

本教學課程說明如何使用 設定集合 AWS 管理主控台。如需使用 的相同步驟 AWS CLI,請參閱 教學課程:開始使用 Amazon OpenSearch Serverless (CLI) 中的安全功能

步驟 1:設定許可

注意

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

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

JSON
{ "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 Serverless 許可的完整清單,請參閱 Amazon OpenSearch Serverless 的身分和存取管理

步驟 2:建立加密政策

加密政策會 AWS KMS 指定 OpenSearch Serverless 用來加密集合的金鑰。您可以使用 AWS 受管金鑰 或不同的金鑰來加密集合。為了簡化本教學課程,您可以使用 加密集合 AWS 受管金鑰。

建立加密政策
  1. 開啟位於 https://https://console.aws.amazon.com/aos/home 的 Amazon OpenSearch Service 主控台。

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

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

  4. 將政策命名為 books-policy。針對描述,輸入 Encryption policy for books collection

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

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

  7. 選擇建立

步驟 3:建立網路政策

網路政策會決定集合是否可透過網際網路從公用網路存取,或者是否必須透過 OpenSearch Serverless 受管 VPC 端點進行存取。在本教學課程中,您會設定公有存取。

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

  2. 將政策命名為 books-policy。針對描述,輸入 Network policy for books collection

  3. 規則 1 下,命名規則 Public access for books collection

  4. 為了簡化本教學課程,請設定書籍集合的公有存取權。對於存取類型,選取 Public (公用)。

  5. 您可以從 OpenSearch Dashboards 存取集合。若要這樣做,您需要設定 Dashboards OpenSearch 端點的網路存取,否則 Dashboards 將無法運作。

    對於資源類型,請同時啟用 OpenSearch 端點的存取權OpenSearch Dashboards 的存取權

  6. 在兩個輸入方塊中,輸入 Collection Name = books。此設定會縮減政策的範圍,使該政策僅套用至單一集合 (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 Dashboards 和索引資料之帳戶的 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 Serverless 會自動套用安全設定。

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

  2. 無伺服器產生欄位中,如果尚未在 Classic 上,請選擇切換至 Classic。

  3. 針對集合名稱,輸入 books

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

  5. Encryption (加密) 下,OpenSearch Serverless 會告知您集合名稱與 books-policy 加密政策相符。

  6. Network access settings (網路存取設定) 下,OpenSearch Serverless 會告知您集合名稱與 books-policy 網路政策相符。

  7. 選擇下一步

  8. Data access policy options (資料存取政策選項) 下,OpenSearch Serverless 會通知您集合名稱符合 books-policy 資料存取政策。

  9. 選擇下一步

  10. 設定 OpenSearch UI 下,為您的集合設定 OpenSearch 應用程式和工作區。選擇選取現有的 OpenSearch 應用程式建立新的 OpenSearch 應用程式,然後選取或建立工作區。選擇下一步

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

注意

本教學課程使用 Classic 集合建立流程,示範如何在集合建立期間自動比對預先設定的安全政策。如需使用 NextGen 流程建立集合的資訊,請參閱 建立集合

步驟 6:上傳並搜尋資料

您可以使用 Postman 或 curl,將資料上傳至 OpenSearch Serverless 集合。為了簡潔起見,這些範例使用 OpenSearch Dashboards 主控台中的 Dev Tools (開發工具)。

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

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

  3. 使用您在資料存取政策中指定之主體的 AWS 存取金鑰和私密金鑰登入 OpenSearch Dashboards。

  4. 在 OpenSearch Dashboards 中,開啟左側導覽選單,然後選擇 Dev Tools (開發工具)。

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

    PUT books-index
    OpenSearch 儀表板主控台顯示具有 JSON 回應之 books-index 的 PUT 請求。
  6. 若要將單一文件的索引編製為 books-index,請執行下列命令:

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

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

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