チュートリアル: 内部ユーザーデータベースと HTTP 基本認証でドメインを設定する - Amazon OpenSearch サービス

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

チュートリアル: 内部ユーザーデータベースと HTTP 基本認証でドメインを設定する

このチュートリアルでは、内部ユーザーデータベースのマスターユーザーと OpenSearch Dashboards の HTTP 基本認証という、別の一般的なきめ細かなアクセスコントロールのユースケースについて説明します。その後、マスターユーザーは OpenSearch Dashboards にサインインし、内部ユーザーを作成し、そのユーザーをロールにマッピングし、きめ細かなアクセスコントロールを使用してユーザーのアクセス許可を制限できます。

このチュートリアルでは、次の手順を実行します。

ステップ 1: ドメインを作成する

Amazon OpenSearch Service コンソール (https://console.aws.amazon.com/aos/home/) に移動し、次の設定でドメインを作成します。

  • OpenSearch 1.0 以降、またはElasticsearch 7.9 以降

  • パブリックアクセス

  • 内部ユーザーデータベース内のマスターユーザーによるきめ細かなアクセスコントロール (このチュートリアルの残りの部分では TheMasterUser)

  • Dashboards の Amazon Cognito 認証が無効にされました

  • 以下のアクセスポリシー:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-id}:root" }, "Action": [ "es:ESHttp*" ], "Resource": "arn:aws:es:{region}:{account-id}:domain/{domain-name}/*" } ] }
  • ドメインへのすべてのトラフィックに HTTPS を必須とする

  • ノード間の暗号化

  • 保管中のデータの暗号化

ステップ 2: OpenSearch Dashboards で内部ユーザーを作成する

ドメインを取得したので、OpenSearch Dashboards にサインインして内部ユーザーを作成できます。

  1. OpenSearch Service コンソールに戻り、作成したドメインの OpenSearch Dashboards URL に移動します。URL はこの形式に従います: domain-endpoint/_dashboards/

  2. TheMasterUser でサインインします。

  3. [Add sample data] (サンプルデータを追加) を選択し、サンプルフライトデータを追加します。

  4. 左側のナビゲーションペインで、[セキュリティ][内部ユーザー][内部ユーザーの作成] を選択します。

  5. ユーザーに new-user という名前を付け、パスワードを指定します。次に [作成] を選択します。

ステップ 3: OpenSearch Dashboards でロールをマッピングします

ユーザーが設定されたので、ユーザーをロールにマップできます。

  1. 次も、OpenSearch Dashboards の [セキュリティ] セクションで [ロール][ロールの作成] を選択します。

  2. ロールに new-role という名前を付けます。

  3. [インデックス] には、インデックスパターンに opensearch_dashboards_sample_data_fli* (Elasticsearch ドメインの kibana_sample_data_fli*) を指定します。

  4. アクショングループで、[読み取り] を選択します。

  5. [ドキュメントレベルのセキュリティ] で、以下のクエリを指定します。

    { "match": { "FlightDelay": true } }
  6. フィールドレベルのセキュリティでは、[除外] を選択し、FlightNum を指定します。

  7. [匿名化] では、Dest を指定します。

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

  9. [マッピングされたユーザー][マッピングの管理] を選択します。次に、new-user を [ユーザー] に追加し、[マップ] を選択します。

  10. ロールのリストに戻り、[opensearch_dashboards_user] を選択します。[マッピングされたユーザー][マッピングの管理] を選択します。次に、new-user を [ユーザー] に追加し、[マップ] を選択します。

ステップ 4: アクセス許可をテストします

ロールが正しくマッピングされると、制限付きユーザーとしてサインインし、アクセス許可をテストできます。

  1. 新しいプライベートブラウザウィンドウで、ドメインの OpenSearch Dashboards URL に移動し、new-user 認証情報を使用してサインインして、[Explore on my own] (自力で調べる) を選択します。

  2. [開発ツール] に進み、デフォルトの検索を実行します。

    GET _search { "query": { "match_all": {} } }

    許可エラーに注意してください。new-user には、クラスター全体の検索を実行する許可がありません。

  3. 別の検索を実行します。

    GET dashboards_sample_data_flights/_search { "query": { "match_all": {} } }

    一致するすべてのドキュメントでは、[FlightDelay] フィールドが true であり、Dest フィールドが匿名化されて、FlightNum フィールドはありません。

  4. 元のブラウザウィンドウで、TheMasterUser としてサインインし、[開発ツール] を選択して、同じ検索を実行します。許可、ヒット数、一致するドキュメント、含まれるフィールドが異なっています。