背景・目的
以前の記事で OpenSearch Serverless の基本について整理しました。今回は、その内容をさらに深掘りし、実際の動作を簡単に確認してみます。
まとめ
下記に特徴を整理します
特徴 | 説明 |
---|---|
コレクション | コレクションは、特定のワークロードまたはユースケースをサポートするために連携する OpenSearch インデックスのグループ |
データアクセスポリシーの役割 | ・データアクセスポリシーは、コレクションやインデックスへのアクセス権限を管理するためのもの ・特定のユーザーやグループに対して、どのデータにどのような操作(読み取り、書き込み、削除など)が許可されるかを定義できる |
アクセス制御の適用範囲 | ・データアクセスポリシーは、コレクションやインデックスに対して適用される ・特定のパターンに一致するコレクションやインデックスに対して、自動的にアクセス許可を割り当てることが可能 ・これにより、大規模なコレクションを効率的に管理できる |
概要
Amazon OpenSearch Serverless のデータアクセスコントロール
下記を基に整理します。
Amazon OpenSearch Serverless のデータアクセスコントロールを使用すると、アクセスメカニズムやネットワークソースに関係なく、ユーザーがコレクションやインデックスにアクセスできるようにすることができます。IAM ロールと SAML アイデンティティへのアクセスを提供できます。
アクセス許可は、コレクションとインデックスリソースに適用されるデータアクセスポリシーを通じて管理します。データアクセスポリシーは、特定のパターンに一致するコレクションとインデックスにアクセス許可を自動的に割り当てることにより、大規模なコレクションを管理するのに役立ちます。1 つのリソースに複数のデータアクセスポリシーを適用できます。OpenSearch Dashboards URL にアクセスするには、コレクションのデータアクセスポリシーが必要になります。
- データアクセスポリシーの役割
- データアクセスポリシーは、コレクションやインデックスへのアクセス権限を管理するためのもの
- 特定のユーザーやグループに対して、どのデータにどのような操作(読み取り、書き込み、削除など)が許可されるかを定義できる
- アクセス制御の適用範囲
- データアクセスポリシーは、コレクションやインデックスに対して適用される
- 特定のパターンに一致するコレクションやインデックスに対して、自動的にアクセス許可を割り当てることが可能
- これにより、大規模なコレクションを効率的に管理できる
実践
下記を基に試します。
- AWSにサインインします
ステップ 1: アクセス許可を設定する
- IAMに移動します
- ナビゲーションペインで「ロール」をクリックします
- 使用するIAMロールを選択します
- 許可ポリシーで、「インラインポリシーを作成」をクリックします
- 下記のポリシーを貼り付けて、「次へ」をクリックします
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "aoss:CreateCollection", "aoss:ListCollections", "aoss:BatchGetCollection", "aoss:DeleteCollection", "aoss:CreateAccessPolicy", "aoss:ListAccessPolicies", "aoss:UpdateAccessPolicy", "aoss:CreateSecurityPolicy", "aoss:GetSecurityPolicy", "aoss:UpdateSecurityPolicy", "iam:ListUsers", "iam:ListRoles" ], "Effect": "Allow", "Resource": "*" } ] }
- ポリシー名を入力し、「ポリシーの作成」をクリックします
ステップ 2: コレクションを作成する
-
OpenSearch Serviceに移動します
-
ナビゲーションペインで、ダッシュボードに移動します
-
「コレクションを作成」をクリックします
-
下記を入力します
-
セキュリティで「標準作成」を選択します
-
下記を指定し、「次へ」をクリックします
-
データアクセスの設定では、「スキップして後で設定する」をクリックします
-
確認し「送信」をクリックします
データアクセス管理
-
「アクセスポリシーを作成」をクリックします
-
下記を入力し、「作成」をクリックします
ステップ 3: データをアップロードして検索する
-
作成したコレクションを選択します
-
「OpenSearchダッシュボード」をクリックします
-
下記を入力し、インデックスを作成します
PUT movies-index
-
一つのドキュメントを「movies-index」にインデクスするために、下記を実行します
PUT movies-index/_doc/1 { "title": "Shawshank Redemption", "genre": "Drama", "year": 1994 }
検索する
-
「Create index pattern」をクリックします
-
「Discover」をクリックします
考察
今回は、OpenSearch Serverlessのチュートリアルを試してみました。
次回は、下記のチュートリアルも試してみたいと思います。
参考