

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

# チュートリアル: Amazon OpenSearch Serverless でのセキュリティの開始方法 (コンソール)
<a name="gsg-serverless"></a>

このチュートリアルでは、Amazon OpenSearch Serverless コンソールを使用してセキュリティポリシーを作成および管理するための基本的な手順を説明します。

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

1. [アクセス許可を設定](#gsgpermissions)

1. [暗号化ポリシーを作成](#gsg-encryption)

1. [ネットワークポリシーを作成する](#gsg-network)

1. [データアクセスポリシーを設定する](#gsg-data-access)

1. [コレクションを作成](#gsgcreate-collection)

1. [データをアップロードおよび検索する](#gsgindex-collection)

このチュートリアルでは、 を使用してコレクションを設定する方法について説明します AWS マネジメントコンソール。を使用した同じ手順については AWS CLI、「」を参照してください[チュートリアル: Amazon OpenSearch Serverless (CLI) でのセキュリティの開始方法](gsg-serverless-cli.md)。

## ステップ 1: アクセス許可を設定する
<a name="gsgpermissions"></a>

**注記**  
`Action":"aoss:*"` や `Action":"*"` など、より広範な ID ベースのポリシーを既に使用している場合は、この手順をスキップできます。ただし本番環境では、最小特権の原則に従い、作業を完了するのに最低限必要なアクセス許可を割り当てることをお勧めします。

このチュートリアルを完了するためには、適切な IAM のアクセス許可を持っている必要があります。ユーザーまたはロールには、以下の最低限の許可を含む [ID ベースのポリシー](security-iam-serverless.md#security-iam-serverless-id-based-policies)が、アタッチされている必要があります。

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

****  

```
{
  "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 向けの アイデンティティとアクセス管理](security-iam-serverless.md)」を参照してください。

## ステップ 2: 暗号化ポリシーを作成する
<a name="gsg-encryption"></a>

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

**暗号化ポリシーを作成するには**

1. [https://console.aws.amazon.com/aos/home](https://console.aws.amazon.com/aos/home ) で Amazon OpenSearch Service コンソールを開きます。

1. 左側のナビゲーションペインで **[Serverless]** を展開し、**[Encryption policies]** (暗号化ポリシー) を選択します。

1. **[Create encryption policy]** (暗号化ポリシーを作成) を選択します。

1. ポリシーに「**books-policy**」と名前を付けます。説明には、「**Encryption policy for books collection**」(books コレクションの暗号化ポリシー) と入力します。

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

1. **暗号化**では、**Use AWS owned key** を選択したままにします。

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

## ステップ 3: ネットワークポリシーを作成する
<a name="gsg-network"></a>

[ネットワークポリシー](serverless-network.md)では、コレクションにパブリックネットワークからインターネット経由でアクセス可能にするか、OpenSearch Serverless が管理する VPC エンドポイント経由でのアクセスが必要にするかを決定できます。このチュートリアルでは、パブリックアクセスを設定します。

**ネットワークポリシーを作成するには**

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

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

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

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

1. コレクションには、OpenSearch Dashboards からアクセスします。ダッシュボードが機能するために、ダッシュボード*および* OpenSearch エンドポイントのネットワークアクセスを設定する必要があります。

   リソースタイプは、**[Access to OpenSearch endpoints]** (OpenSearch エンドポイントへのアクセス)と **[Access to OpenSearch Dashboards]** (OpenSearch Dashboardsへのアクセス) の両方を有効にします。

1. 両方の入力ボックスに、「**Collection Name = books**」(コレクション名 = books) と入力します。このように設定すると、ポリシーの範囲が狭くなり 1 つのコレクション (`books`) にのみ適用されるようになります。ルールは次のようになります。  
![\[Search interface showing two input fields for collection or prefix term selection, both set to "books".\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/serverless-tutorial-network.png)

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

## ステップ 4: データアクセスポリシーを作成する
<a name="gsg-data-access"></a>

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

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

**データアクセスポリシーを作成するには**

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

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

1. ポリシーの定義方法として **[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 人のユーザーに提供します。

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

## ステップ 5: コレクションを作成する
<a name="gsgcreate-collection"></a>

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

**OpenSearch Serverless コレクションを作成するには**

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

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

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

1. **[Encryption]** (暗号化) で、OpenSearch Serverless によりコレクション名が `books-policy` 暗号化ポリシーと一致することが通知されます。

1. **[Network access settings]** (ネットワークアクセス設定) で、OpenSearch Serverless によりコレクション名が `books-policy` ネットワークポリシーと一致することが通知されます。

1. [**次へ**] を選択します。

1. **[Data access policy options]** (データアクセスポリシーのオプション) で、OpenSearch Serverless によりコレクション名が `books-policy` データアクセスポリシーと一致することが通知されます。

1. [**次へ**] を選択します。

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

## ステップ 6: データをアップロードおよび検索する
<a name="gsgindex-collection"></a>

OpenSearch Serverless コレクションへのデータのアップロードには、Postman または curl が使用できます。簡潔に言うと、これらの例では OpenSearch Dashboards** コンソール内の開発ツールを使用しています**。

**コレクション内のデータをインデックス化して検索するには**

1. 左側のナビゲーションペインで **[Collections]** (コレクション) を選択し、**books** コレクションを選択して詳細ページを開きます。

1. コレクションの OpenSearch Dashboards URL を選択します。この URL の形式は、`https://collection-id.us-east-1.aoss.amazonaws.com/_dashboards` になります。

1. データアクセスポリシーで指定したプリンシパルの [AWS アクセスキーとシークレットキー](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-appendix-sign-up.html)を使用して、OpenSearch Dashboards にサインインします。

1. OpenSearch Dashboards 内で左側のナビゲーションメニューを開き、**[Dev Tools]** (開発ツール) を選択します。

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

   ```
   PUT books-index 
   ```  
![\[OpenSearch Dashboards console showing PUT request for books-index with JSON response.\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/serverless-createindex.png)

1. 単一のドキュメントを *books-index* にインデックス化するには、次のコマンドを実行します。

   ```
   PUT books-index/_doc/1
   { 
     "title": "The Shining",
     "author": "Stephen King",
     "year": 1977
   }
   ```

1. OpenSearch Dashboards 内でデータを検索するためには、少なくとも 1 つのインデックスパターンを設定する必要があります。OpenSearch は、そのパターンを使用して、分析する対象のインデックスを特定します。Dashboards のメインメニューを開き、[**スタック管理**] を選択し、[**インデックスパターン**] を選択してから、[**インデックスパターンを作成する**] を選択します。このチュートリアルでは、「*books-index*」と入力します。

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

1. データの検索を開始するには、メインメニューをもう一度開き **[Discover]** (検出) を選択するか、[検索 API](https://opensearch.org/docs/latest/opensearch/rest-api/search/) を使用します。