

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

# チュートリアル: 内部ユーザーデータベースと HTTP 基本認証でドメインを設定する
<a name="fgac-http-auth"></a>

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

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

1. [マスターユーザーでドメインを作成する](#fgac-http-auth-domain)

1. [OpenSearch Dashboards で内部ユーザーを設定する](#fgac-http-auth-dashboards-user)

1. [OpenSearch Dashboards でロールをマッピングする](#fgac-http-auth-dashboards-map)

1. [アクセス許可をテストする](#fgac-http-auth-test)

## ステップ 1: ドメインを作成する
<a name="fgac-http-auth-domain"></a>

[https://console.aws.amazon.com/aos/home/](https://console.aws.amazon.com/aos/home/) の Amazon OpenSearch Service コンソールに移動し、次の設定で[ドメインを作成します](createupdatedomains.md)。
+ OpenSearch 1.0 以降、またはElasticsearch 7.9 以降
+ パブリックアクセス
+ 内部ユーザーデータベース内のマスターユーザーによるきめ細かなアクセスコントロール (このチュートリアルの残りの部分では `TheMasterUser`)
+ Dashboards の Amazon Cognito 認証が*無効にされました*
+ 以下のアクセスポリシー:

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Principal": {
          "AWS": "arn:aws:iam::111122223333:root"
        },
        "Action": [
          "es:ESHttp*"
        ],
        "Resource": "arn:aws:es:us-east-1:111122223333:domain/{domain-name}/*"
      }
    ]
  }
  ```

------
+ ドメインへのすべてのトラフィックに HTTPS を必須とする
+ ノード間の暗号化
+ 保管中のデータの暗号化

## ステップ 2: OpenSearch Dashboards で内部ユーザーを作成する
<a name="fgac-http-auth-dashboards-user"></a>

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

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

1. `TheMasterUser` でサインインします。

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

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

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

## ステップ 3: OpenSearch Dashboards でロールをマッピングします
<a name="fgac-http-auth-dashboards-map"></a>

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

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

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

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

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

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

   ```
   {
     "match": {
       "FlightDelay": true
     }
   }
   ```

1. フィールドレベルのセキュリティでは、[**除外**] を選択し、`FlightNum` を指定します。

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

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

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

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

## ステップ 4: アクセス許可をテストします
<a name="fgac-http-auth-test"></a>

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

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

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

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

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

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

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

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

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