チュートリアル: Amazon OpenSearch Serverless でのセキュリティの開始方法 (コンソール) - Amazon OpenSearch サービス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

チュートリアル: 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 サーバーレスアクセス許可の完全なリストについては、「」を参照してくださいAmazon OpenSearch Serverless の Identity and Access Management

ステップ 2: 暗号化ポリシーを作成する

暗号化ポリシーは、 OpenSearch Serverless がコレクションの暗号化に使用するAWS KMSキーを指定します。AWS マネージドキー キーまたは別のキーを使用して、コレクションを暗号化できます。このチュートリアルでは、わかりやすくするため AWS マネージドキー でコレクションを暗号化します。

暗号化ポリシーを作成するには
  1. 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」(books コレクションの暗号化ポリシー) と入力します。

  5. [Resources] (リソース) に「books」と入力します。これがコレクションの名前になります。より広範囲にしたい場合は、アスタリスク (books*) を追加します。これにより「books」という単語で始まるすべてのコレクションにポリシーを適用できます。

  6. [暗号化] については、[AWS 所有キーを使用] を選択したままにしておきます。

  7. [作成] を選択します。

ステップ 3: ネットワークポリシーを作成する

ネットワークポリシーは、コレクションにパブリックネットワークからインターネット経由でアクセス可能にするか、 OpenSearch サーバーレスが管理する VPC エンドポイント経由でアクセスする必要があるかを決定します。このチュートリアルでは、パブリックアクセスを設定します。

ネットワークポリシーを作成するには
  1. 左のナビゲーションペインで [Network policies] (ネットワークポリシー) を選択し、[Create network policy] (ネットワークポリシーの作成) を選択します。

  2. ポリシーに「books-policy」と名前を付けます。説明には、「Network policy for books collection」(books コレクションのネットワークポリシー) と入力します。

  3. [Rule 1] (ルール 1) で、ルールに「Public access for books collection」(books コレクションのパブリックアクセス) という名前を付けます。

  4. このチュートリアルでは、わかりやすくするため books コレクションにパブリックアクセスを設定します。アクセスタイプには、[Public] (パブリック) を選択します。

  5. OpenSearch Dashboards からコレクションにアクセスします。そのためには、Dashboards OpenSearch エンドポイントのネットワークアクセスを設定する必要があります。そうしないと、Dashboards は機能しません。

    リソースタイプで、エンドポイントへのアクセス OpenSearchDashboards へのアクセス OpenSearchの両方を有効にします。

  6. 両方の入力ボックスに、「Collection Name = books」(コレクション名 = books) と入力します。このように設定すると、ポリシーの範囲が狭くなり 1 つのコレクション (books) にのみ適用されるようになります。ルールは次のようになります。

    Search interface showing two input fields for collection or prefix term selection, both set to "books".
  7. [作成] を選択します。

ステップ 4: データアクセスポリシーを作成する

コレクションのデータには、データアクセスを設定するまでアクセスできません。データアクセスポリシーは、ステップ 1 で設定した IAM ID ベースのポリシーとは別のものです。このポリシーでは、コレクション内の実際のデータにアクセスできます。

このチュートリアルでは、books コレクションへのデータのインデックス化に必要なアクセス許可を 1 人のユーザーに提供します。

データアクセスポリシーを作成するには
  1. 左のナビゲーションペインで、[Data access policies] (データアクセスポリシー) を選択し、[Create access policy] (アクセスポリシーを作成) を選択します。

  2. ポリシーに「books-policy」と名前を付けます。説明には、「Data access policy for books collection」(books コレクションのデータアクセスポリシー) と入力します。

  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" ] } ]

    このポリシーは、books コレクション内のインデックス作成や一部のデータのインデックス化、および検索に必要な最低限のアクセス許可を 1 人のユーザーに提供します。

  4. [作成] を選択します。

ステップ 5: コレクションを作成する

これで、暗号化ポリシーとネットワークポリシーを設定できました。一致するコレクションを作成すると、セキュリティ設定が自動的に適用されるようになります。

OpenSearch Serverless コレクションを作成するには
  1. 左側のナビゲーションペインで [Collections] (コレクション) 、[Create collection] (コレクションを作成) を選択します。

  2. コレクションに「books」と名前を付けます。

  3. コレクションタイプでは、[Search] (検索) を選択します。

  4. 暗号化 で、 OpenSearch Serverless はコレクション名がbooks-policy暗号化ポリシーと一致することを通知します。

  5. ネットワークアクセス設定 で、 OpenSearch Serverless はコレクション名がbooks-policyネットワークポリシーと一致することを通知します。

  6. [次へ] をクリックします。

  7. データアクセスポリシーオプションで、 OpenSearch Serverless はコレクション名がbooks-policyデータアクセスポリシーと一致することを通知します。

  8. [次へ] をクリックします。

  9. コレクションの設定を確認し、[Submit] (送信) を選択します。通常、コレクションの初期化には 1 分もかかりません。

ステップ 6: データをアップロードおよび検索する

Postman または curl を使用して、 OpenSearch サーバーレスコレクションにデータをアップロードできます。簡潔にするために、これらの例では OpenSearch Dashboards コンソール内で開発ツールを使用しています。

コレクション内のデータをインデックス化して検索するには
  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 で、左側のナビゲーションメニューを開き、開発ツール を選択します。

  5. books-index という単一のインデックスを作成するには、次のコマンドを実行します。

    PUT books-index
    OpenSearch Dashboards console showing PUT request for books-index with JSON response.
  6. 単一のドキュメントを books-index にインデックス化するには、次のコマンドを実行します。

    PUT books-index/_doc/1 { "title": "The Shining", "author": "Stephen King", "year": 1977 }
  7. OpenSearch Dashboards でデータを検索するには、少なくとも 1 つのインデックス pattern. OpenSearch uses これらのパターンを設定して、分析するインデックスを特定する必要があります。Dashboards のメインメニューを開き、[スタック管理] を選択し、[インデックスパターン] を選択してから、[インデックスパターンを作成する] を選択します。このチュートリアルでは、「books-index」と入力します。

  8. [次のステップ] を選択してから、[インデックスパターンの作成] を選択します。パターンが作成されたら、author および title などのさまざまなドキュメントフィールドを表示できます。

  9. データの検索を開始するには、メインメニューをもう一度開き [Discover] (検出) を選択するか、検索 API を使用します。