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 (建立索引模式)。建立模式之後,您可以檢視各種文件欄位,例如 author 和 title。

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