本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:開始使用 Amazon OpenSearch Serverless 中的安全功能 (主控台)
在本教學課程中,您會使用 Amazon OpenSearch Serverless 主控台建立和管理安全政策。
您完成本教學課程中的下列步驟:
本教學課程說明如何使用 設定集合 AWS 管理主控台。如需使用 的相同步驟 AWS CLI,請參閱 教學課程:開始使用 Amazon OpenSearch Serverless (CLI) 中的安全功能。
步驟 1:設定許可
注意
如果您已經使用更廣泛的身分型政策,例如 Action":"aoss:*" 或 Action":"*",則可以略過此步驟。不過,在生產環境中,請遵循最低權限原則,並僅指派完成任務所需的最低許可。
若要完成本教學課程,您必須擁有正確的 IAM 許可。使用者或角色必須連接身分型政策,該政策包含以下最低許可:
如需 OpenSearch Serverless 許可的完整清單,請參閱 Amazon OpenSearch Serverless 的身分和存取管理。
步驟 2:建立加密政策
加密政策會 AWS KMS 指定 OpenSearch Serverless 用來加密集合的金鑰。您可以使用 AWS 受管金鑰 或不同的金鑰來加密集合。為了簡化本教學課程,您可以使用 加密集合 AWS 受管金鑰。
建立加密政策
-
開啟位於 https://https://console.aws.amazon.com/aos/home
的 Amazon OpenSearch Service 主控台。 -
在左側導覽窗格中,展開 Serverless (無伺服器),然後選擇 Encryption policies (加密政策)。
-
選擇 Create encryption policy (建立加密政策)。
-
將政策命名為
books-policy。針對描述,輸入Encryption policy for books collection。 -
在資源下,輸入
books,這是您命名集合的名稱。如果您想要更廣泛,可以包含星號 (books*),讓政策適用於以「書籍」一詞開頭的所有集合。 -
對於加密,請保持選取使用 AWS 擁有的金鑰。
-
選擇建立。
步驟 3:建立網路政策
網路政策會決定集合是否可透過網際網路從公用網路存取,或者是否必須透過 OpenSearch Serverless 受管 VPC 端點進行存取。在本教學課程中,您會設定公有存取。
建立網路政策
-
在左側導覽窗格中,選擇 Network policies (網路政策),然後選擇 Create network policy (建立網路政策)。
-
將政策命名為
books-policy。針對描述,輸入Network policy for books collection。 -
在規則 1 下,命名規則
Public access for books collection。 -
為了簡化本教學課程,請設定書籍集合的公有存取權。對於存取類型,選取 Public (公用)。
-
您可以從 OpenSearch Dashboards 存取集合。若要這樣做,您需要設定 Dashboards 和 OpenSearch 端點的網路存取,否則 Dashboards 將無法運作。
對於資源類型,請同時啟用 OpenSearch 端點的存取權和 OpenSearch Dashboards 的存取權。
-
在兩個輸入方塊中,輸入
Collection Name = books。此設定會縮減政策的範圍,使該政策僅套用至單一集合 (books)。您的規則應如下所示:
-
選擇建立。
步驟 4:建立資料存取政策
您必須先設定資料存取,才能存取集合資料。資料存取政策與您在步驟 1 中設定的 IAM 身分型政策不同。資料存取政策允許使用者存取集合中的實際資料。
在本教學課程中,您會為單一使用者提供將資料編製索引至書籍集合所需的許可。
建立資料存取政策
-
在左側導覽窗格中,選擇 Data access policies (資料存取政策),然後選擇 Create access policy (建立存取政策)。
-
將政策命名為
books-policy。針對描述,輸入Data access policy for books collection。 -
選取 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" ] } ]此政策為單一使用者提供在書籍集合中建立索引、為某些資料編製索引以及進行搜尋所需的最低許可。
-
選擇建立。
步驟 5:建立集合
現在您已設定加密和網路政策,您可以建立符合它們的集合。OpenSearch Serverless 會自動套用安全設定。
建立 OpenSearch Serverless 集合
-
在左側導覽窗格中選擇 Collections (集合),然後選擇 Create collection (建立集合)。
-
在無伺服器產生欄位中,如果尚未在 Classic 上,請選擇切換至 Classic。
-
針對集合名稱,輸入
books。 -
對於集合類型,選擇 Search (搜尋)。
-
在 Encryption (加密) 下,OpenSearch Serverless 會告知您集合名稱與
books-policy加密政策相符。 -
在 Network access settings (網路存取設定) 下,OpenSearch Serverless 會告知您集合名稱與
books-policy網路政策相符。 -
選擇下一步。
-
在 Data access policy options (資料存取政策選項) 下,OpenSearch Serverless 會通知您集合名稱符合
books-policy資料存取政策。 -
選擇下一步。
-
在設定 OpenSearch UI 下,為您的集合設定 OpenSearch 應用程式和工作區。選擇選取現有的 OpenSearch 應用程式或建立新的 OpenSearch 應用程式,然後選取或建立工作區。選擇下一步。
-
檢閱集合組態,然後選擇 Submit (提交)。集合初始化所需的時間通常不到一分鐘。
注意
本教學課程使用 Classic 集合建立流程,示範如何在集合建立期間自動比對預先設定的安全政策。如需使用 NextGen 流程建立集合的資訊,請參閱 建立集合。
步驟 6:上傳並搜尋資料
您可以使用 Postman 或 curl,將資料上傳至 OpenSearch Serverless 集合。為了簡潔起見,這些範例使用 OpenSearch Dashboards 主控台中的 Dev Tools (開發工具)。
在集合中為資料編製索引和進行搜尋
-
在左側導覽窗格中選擇 Collections (集合),然後選擇 books (書籍) 集合以開啟其詳細資訊頁面。
-
選擇集合的 OpenSearch Dashboards URL。URL 採用的格式為
https://。collection-id.us-east-1.aoss.amazonaws.com/_dashboards -
使用您在資料存取政策中指定之主體的 AWS 存取金鑰和私密金鑰登入 OpenSearch Dashboards。
-
在 OpenSearch Dashboards 中,開啟左側導覽選單,然後選擇 Dev Tools (開發工具)。
-
若要建立名為 books-index 的單一索引,請執行下列命令:
PUT books-index
-
若要將單一文件的索引編製為 books-index,請執行下列命令:
PUT books-index/_doc/1 { "title": "The Shining", "author": "Stephen King", "year": 1977 } -
若要在 OpenSearch Dashboards 中搜尋資料,您需要設定至少一個索引模式。OpenSearch 使用這些模式來識別您要分析的索引。開啟 Dashboards 主選單,選擇 Stack Management (堆疊管理),選擇 Index Patterns (索引模式),然後選擇 Create index pattern (建立索引模式)。在本教學課程中,輸入 books-index。
-
選擇 Next step (下一步),然後選擇 Create index pattern (建立索引模式)。建立模式之後,您可以檢視各種文件欄位,例如
author和title。 -
若要開始搜尋資料,請再次開啟主選單,然後選擇 Discover (探索),或使用搜尋 API
。