翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
チュートリアル: Amazon OpenSearch Serverless でのセキュリティの開始方法 (コンソール)
このチュートリアルでは、Amazon OpenSearch Serverless コンソールを使用してセキュリティポリシーを作成および管理するための基本的な手順を説明します。
このチュートリアルでは、次の手順を行います。
このチュートリアルでは、AWS Management Console を使用してコレクションを設定する手順を説明します。AWS CLI を使用する同様の手順については、「チュートリアル: Amazon OpenSearch Serverless (CLI) でのセキュリティの開始方法」を参照してください。
ステップ 1: アクセス許可を設定する
注記
Action":"aoss:*"
や Action":"*"
など、より広範な ID ベースのポリシーを既に使用している場合は、この手順をスキップできます。ただし本番環境では、最小特権の原則に従い、作業を完了するのに最低限必要なアクセス許可を割り当てることをお勧めします。
このチュートリアルを完了するためには、適切な IAM のアクセス許可を持っている必要があります。ユーザーまたはロールには、以下の最低限の許可を含む ID ベースのポリシーが、アタッチされている必要があります。
{ "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 の Identity and Access Management」を参照してください。
ステップ 2: 暗号化ポリシーを作成する
暗号化ポリシーは、コレクションを暗号化するために OpenSearch Serverless が使用する AWS KMS キーを指定します。AWS マネージドキー キーまたは別のキーを使用して、コレクションを暗号化できます。このチュートリアルでは、わかりやすくするため AWS マネージドキー でコレクションを暗号化します。
暗号化ポリシーを作成するには
-
Amazon OpenSearch Service コンソール (https://console.aws.amazon.com/aos/home
) を開きます。 -
左側のナビゲーションペインで [Serverless] を展開し、[Encryption policies] (暗号化ポリシー) を選択します。
-
[Create encryption policy] (暗号化ポリシーを作成) を選択します。
-
ポリシーに「books-policy」と名前を付けます。説明には、「Encryption policy for books collection」(books コレクションの暗号化ポリシー) と入力します。
-
[Resources] (リソース) に「books」と入力します。これがコレクションの名前になります。より広範囲にしたい場合は、アスタリスク (
books*
) を追加します。これにより「books」という単語で始まるすべてのコレクションにポリシーを適用できます。 -
[暗号化] については、[AWS 所有キーを使用] を選択したままにしておきます。
-
[Create] (作成) を選択します。
ステップ 3: ネットワークポリシーを作成する
ネットワークポリシーでは、コレクションにパブリックネットワークからインターネット経由でアクセス可能にするか、OpenSearch Serverless が管理する VPC エンドポイント経由でのアクセスが必要にするかを決定できます。このチュートリアルでは、パブリックアクセスを設定します。
ネットワークポリシーを作成するには
-
左のナビゲーションペインで [Network policies] (ネットワークポリシー) を選択し、[Create network policy] (ネットワークポリシーの作成) を選択します。
-
ポリシーに「books-policy」と名前を付けます。説明には、「Network policy for books collection」(books コレクションのネットワークポリシー) と入力します。
-
[Rule 1] (ルール 1) で、ルールに「Public access for books collection」(books コレクションのパブリックアクセス) という名前を付けます。
-
このチュートリアルでは、わかりやすくするため books コレクションにパブリックアクセスを設定します。アクセスタイプには、[Public] (パブリック) を選択します。
-
コレクションには、OpenSearch Dashboards からアクセスします。ダッシュボードが機能するために、ダッシュボードおよび OpenSearch エンドポイントのネットワークアクセスを設定する必要があります。
リソースタイプは、[Access to OpenSearch endpoints] (OpenSearch エンドポイントへのアクセス)と [Access to OpenSearch Dashboards] (OpenSearch Dashboardsへのアクセス) の両方を有効にします。
-
両方の入力ボックスに、「Collection Name = books」(コレクション名 = books) と入力します。このように設定すると、ポリシーの範囲が狭くなり 1 つのコレクション (
books
) にのみ適用されるようになります。ルールは次のようになります。 -
[Create] (作成) を選択します。
ステップ 4: データアクセスポリシーを作成する
コレクションのデータには、データアクセスを設定するまでアクセスできません。データアクセスポリシーは、ステップ 1 で設定した IAM ID ベースのポリシーとは別のものです。このポリシーでは、コレクション内の実際のデータにアクセスできます。
このチュートリアルでは、books コレクションへのデータのインデックス化に必要なアクセス許可を 1 人のユーザーに提供します。
データアクセスポリシーを作成するには
-
左のナビゲーションペインで、[Data access policies] (データアクセスポリシー) を選択し、[Create access policy] (アクセスポリシーを作成) を選択します。
-
ポリシーに「books-policy」と名前を付けます。説明には、「Data access policy for books collection」(books コレクションのデータアクセスポリシー) と入力します。
-
ポリシーの定義方法として [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
" ] } ]このポリシーは、books コレクション内のインデックス作成や一部のデータのインデックス化、および検索に必要な最低限のアクセス許可を 1 人のユーザーに提供します。
-
[Create] (作成) を選択します。
ステップ 5: コレクションを作成する
これで、暗号化ポリシーとネットワークポリシーを設定できました。一致するコレクションを作成すると、セキュリティ設定が自動的に適用されるようになります。
OpenSearch Serverless コレクションを作成するには
-
左側のナビゲーションペインで [Collections] (コレクション) 、[Create collection] (コレクションを作成) を選択します。
-
コレクションに「books」と名前を付けます。
-
コレクションタイプでは、[Search] (検索) を選択します。
-
[Encryption] (暗号化) で、OpenSearch Serverless によりコレクション名が
books-policy
暗号化ポリシーと一致することが通知されます。 -
[Network access settings] (ネットワークアクセス設定) で、OpenSearch Serverless によりコレクション名が
books-policy
ネットワークポリシーと一致することが通知されます。 -
[Next] を選択します。
-
[Data access policy options] (データアクセスポリシーのオプション) で、OpenSearch Serverless によりコレクション名が
books-policy
データアクセスポリシーと一致することが通知されます。 -
[Next] を選択します。
-
コレクションの設定を確認し、[Submit] (送信) を選択します。通常、コレクションの初期化には 1 分もかかりません。
ステップ 6: データをアップロードおよび検索する
OpenSearch Serverless コレクションへのデータのアップロードには、Postman または curl が使用できます。簡潔に言うと、これらの例では OpenSearch Dashboards コンソール内の開発ツールを使用しています。
コレクション内のデータをインデックス化して検索するには
-
左側のナビゲーションペインで [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 内でデータを検索するためには、少なくとも 1 つのインデックスパターンを設定する必要があります。OpenSearch は、そのパターンを使用して、分析する対象のインデックスを特定します。Dashboards のメインメニューを開き、[スタック管理] を選択し、[インデックスパターン] を選択してから、[インデックスパターンを作成する] を選択します。このチュートリアルでは、「books-index」と入力します。
-
[次のステップ] を選択してから、[インデックスパターンの作成] を選択します。パターンが作成されたら、
author
およびtitle
などのさまざまなドキュメントフィールドを表示できます。 -
データの検索を開始するには、メインメニューをもう一度開き [Discover] (検出) を選択するか、検索 API
を使用します。