

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kontrol akses data untuk Amazon Tanpa OpenSearch Server
<a name="serverless-data-access"></a>

Dengan kontrol akses data di Amazon OpenSearch Tanpa Server, Anda dapat mengizinkan pengguna mengakses koleksi dan indeks, terlepas dari mekanisme akses atau sumber jaringannya. Anda dapat memberikan akses ke peran IAM dan identitas [SALL](serverless-saml.md).

Anda mengelola izin akses melalui *kebijakan akses data*, yang berlaku untuk koleksi dan sumber daya indeks. Kebijakan akses data membantu Anda mengelola koleksi dalam skala besar dengan secara otomatis menetapkan izin akses ke koleksi dan indeks yang cocok dengan pola tertentu. Beberapa kebijakan akses data dapat diterapkan ke satu sumber daya. Perhatikan bahwa Anda harus memiliki kebijakan akses data untuk koleksi Anda untuk mengakses URL OpenSearch Dasbor Anda.

**Topics**
+ [Kebijakan akses data versus kebijakan IAM](#serverless-data-access-vs-iam)
+ [Izin IAM diperlukan untuk mengonfigurasi kebijakan akses data](#serverless-data-access-permissions)
+ [Sintaksis kebijakan](#serverless-data-access-syntax)
+ [Izin kebijakan yang didukung](#serverless-data-supported-permissions)
+ [Contoh kumpulan data di Dasbor OpenSearch](#serverless-data-sample-index)
+ [Membuat kebijakan akses data (konsol)](#serverless-data-access-console)
+ [Membuat kebijakan akses data (AWS CLI)](#serverless-data-access-cli)
+ [Melihat kebijakan akses data](#serverless-data-access-list)
+ [Memperbarui kebijakan akses data](#serverless-data-access-update)
+ [Menghapus kebijakan akses data](#serverless-data-access-delete)
+ [Akses data lintas akun](#serverless-data-access-cross)

## Kebijakan akses data versus kebijakan IAM
<a name="serverless-data-access-vs-iam"></a>

Kebijakan akses data secara logis terpisah dari kebijakan AWS Identity and Access Management (IAM). Izin IAM mengontrol akses ke [operasi API tanpa server](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/Welcome.html), seperti dan. `CreateCollection` `ListAccessPolicies` Kebijakan akses data mengontrol akses ke [OpenSearch operasi](#serverless-data-supported-permissions) yang didukung OpenSearch Tanpa Server, seperti `PUT <index>` atau. `GET _cat/indices`

Izin IAM yang mengontrol akses ke operasi API kebijakan akses data, seperti `aoss:CreateAccessPolicy` dan `aoss:GetAccessPolicy` (dijelaskan di bagian berikutnya), tidak memengaruhi izin yang ditentukan dalam kebijakan akses data.

Misalnya, kebijakan IAM menyangkal pengguna membuat kebijakan akses data untuk`collection-a`, tetapi memungkinkan mereka membuat kebijakan akses data untuk semua koleksi ()`*`:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "aoss:CreateAccessPolicy"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "aoss:collection": "collection-a"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "aoss:CreateAccessPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Jika pengguna membuat kebijakan akses data yang mengizinkan izin tertentu untuk *semua* koleksi (`collection/*`atau`index/*/*`) kebijakan tersebut akan berlaku untuk semua koleksi, termasuk koleksi A.

**penting**  
Pemberian izin dalam kebijakan akses data tidak cukup untuk mengakses data dalam koleksi Tanpa OpenSearch Server Anda. Prinsipal terkait *juga* harus diberikan akses ke izin `aoss:APIAccessAll` IAM dan. `aoss:DashboardsAccessAll` Kedua izin memberikan akses penuh ke sumber daya koleksi, sementara izin Dasbor juga menyediakan akses ke OpenSearch Dasbor. Jika prinsipal tidak memiliki kedua izin IAM ini, mereka akan menerima 403 kesalahan saat mencoba mengirim permintaan ke koleksi. Untuk informasi selengkapnya, lihat [Menggunakan operasi OpenSearch API](security-iam-serverless.md#security_iam_id-based-policy-examples-data-plane).

## Izin IAM diperlukan untuk mengonfigurasi kebijakan akses data
<a name="serverless-data-access-permissions"></a>

Kontrol akses data untuk OpenSearch Tanpa Server menggunakan izin IAM berikut. Anda dapat menentukan kondisi IAM untuk membatasi pengguna ke nama kebijakan akses tertentu.
+ `aoss:CreateAccessPolicy`— Buat kebijakan akses.
+ `aoss:ListAccessPolicies`— Daftar semua kebijakan akses.
+ `aoss:GetAccessPolicy`— Lihat detail tentang kebijakan akses tertentu.
+ `aoss:UpdateAccessPolicy`— Memodifikasi kebijakan akses.
+ `aoss:DeleteAccessPolicy`— Hapus kebijakan akses.

Kebijakan akses berbasis identitas berikut memungkinkan pengguna untuk melihat semua kebijakan akses, dan memperbarui kebijakan yang berisi pola sumber daya. `collection/logs`

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "aoss:ListAccessPolicies",
                "aoss:GetAccessPolicy"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "aoss:UpdateAccessPolicy"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aoss:collection": [
                        "logs"
                    ]
                }
            }
        }
    ]
}
```

------

**catatan**  
Selain itu, OpenSearch Tanpa Server memerlukan `aoss:DashboardsAccessAll` izin `aoss:APIAccessAll` dan untuk sumber daya pengumpulan. Untuk informasi selengkapnya, lihat [Menggunakan operasi OpenSearch API](security-iam-serverless.md#security_iam_id-based-policy-examples-data-plane).

## Sintaksis kebijakan
<a name="serverless-data-access-syntax"></a>

Kebijakan akses data mencakup seperangkat aturan, masing-masing dengan elemen berikut:


| Elemen | Deskripsi | 
| --- | --- | 
| ResourceType | Jenis sumber daya (koleksi atau indeks) yang diterapkan izin. Izin alias dan template berada di tingkat pengumpulan, sementara izin untuk membuat, memodifikasi, dan mencari data berada pada tingkat indeks. Untuk informasi selengkapnya, lihat [Izin kebijakan yang didukung](#serverless-data-supported-permissions). | 
| Resource | Daftar and/or pola nama sumber daya. Pola adalah awalan yang diikuti oleh wildcard (\$1), yang memungkinkan izin terkait diterapkan ke beberapa sumber daya.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/serverless-data-access.html) | 
| Permission | Daftar izin untuk diberikan untuk sumber daya yang ditentukan. Untuk daftar lengkap izin dan operasi API yang diizinkan, lihat[Operasi dan izin OpenSearch API yang didukung](serverless-genref.md#serverless-operations). | 
| Principal | Daftar satu atau lebih kepala sekolah untuk memberikan akses ke. Kepala sekolah dapat berupa peran ARNs IAM atau identitas SALL. Prinsipal ini harus berada dalam arus. Akun AWS Kebijakan akses data tidak secara langsung mendukung akses lintas akun, tetapi Anda dapat menyertakan peran dalam kebijakan yang Akun AWS dapat diasumsikan oleh pengguna dari akun pemilik koleksi. Untuk informasi selengkapnya, lihat [Akses data lintas akun](#serverless-data-access-cross). | 

Kebijakan contoh berikut memberikan izin alias dan templat ke koleksi yang dipanggil`autopartsinventory`, serta koleksi apa pun yang dimulai dengan awalan. `sales*` Ini juga memberikan izin baca dan tulis ke semua indeks dalam `autopartsinventory` koleksi, dan indeks apa pun dalam `salesorders` koleksi yang dimulai dengan awalan. `orders*`

```
[
   {
      "Description": "Rule 1",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/autopartsinventory",
               "collection/sales*"
            ],
            "Permission":[
               "aoss:CreateCollectionItems",
               "aoss:UpdateCollectionItems",
               "aoss:DescribeCollectionItems"
            ]
         },
         {
            "ResourceType":"index",
            "Resource":[
               "index/autopartsinventory/*",
               "index/salesorders/orders*"
            ],
            "Permission":[
               "aoss:*"
            ]
         }
      ],
      "Principal":[
         "arn:aws:iam::123456789012:user/Dale",
         "arn:aws:iam::123456789012:role/RegulatoryCompliance",
         "saml/123456789012/myprovider/user/Annie",
         "saml/123456789012/anotherprovider/group/Accounting"
      ]
   }
]
```

Anda tidak dapat secara eksplisit menolak akses dalam kebijakan. Oleh karena itu, semua izin kebijakan bersifat aditif. Misalnya, jika satu kebijakan memberikan pengguna`aoss:ReadDocument`, dan kebijakan lain memberikan`aoss:WriteDocument`, pengguna akan memiliki *kedua* izin tersebut. Jika kebijakan ketiga memberikan pengguna yang sama`aoss:*`, maka pengguna dapat melakukan *semua* tindakan pada indeks terkait; izin yang lebih ketat tidak akan mengesampingkan yang kurang membatasi.

## Izin kebijakan yang didukung
<a name="serverless-data-supported-permissions"></a>

Izin berikut didukung dalam kebijakan akses data. Untuk operasi OpenSearch API yang diizinkan oleh setiap izin, lihat[Operasi dan izin OpenSearch API yang didukung](serverless-genref.md#serverless-operations).

**Izin koleksi**
+ `aoss:CreateCollectionItems`
+ `aoss:DeleteCollectionItems`
+ `aoss:UpdateCollectionItems`
+ `aoss:DescribeCollectionItems`
+ `aoss:*`

**Izin indeks**
+ `aoss:ReadDocument`
+ `aoss:WriteDocument`
+ `aoss:CreateIndex`
+ `aoss:DeleteIndex`
+ `aoss:UpdateIndex`
+ `aoss:DescribeIndex`
+ `aoss:*`

## Contoh kumpulan data di Dasbor OpenSearch
<a name="serverless-data-sample-index"></a>

OpenSearch Dasbor menyediakan [contoh kumpulan data](https://opensearch.org/docs/latest/dashboards/quickstart-dashboards/#adding-sample-data) yang dilengkapi dengan visualisasi, dasbor, dan alat lain untuk membantu Anda menjelajahi Dasbor sebelum menambahkan data Anda sendiri. Untuk membuat indeks dari data sampel ini, Anda memerlukan kebijakan akses data yang menyediakan izin ke kumpulan data yang ingin Anda gunakan. Kebijakan berikut menggunakan wildcard (`*`) untuk memberikan izin ke ketiga kumpulan data sampel.

```
[
  {
    "Rules": [
      {
        "Resource": [
          "index/<collection-name>/opensearch_dashboards_sample_data_*"
        ],
        "Permission": [
          "aoss:CreateIndex",
          "aoss:DescribeIndex",
          "aoss:ReadDocument"
        ],
        "ResourceType": "index"
      }
    ],
    "Principal": [
      "arn:aws:iam::<account-id>:user/<user>"
    ]
  }
]
```

## Membuat kebijakan akses data (konsol)
<a name="serverless-data-access-console"></a>

Anda dapat membuat kebijakan akses data menggunakan editor visual, atau dalam format JSON. Setiap koleksi baru yang cocok dengan salah satu pola yang ditentukan dalam kebijakan akan diberikan izin terkait saat Anda membuat koleksi.

**Untuk membuat kebijakan OpenSearch akses data Tanpa Server**

1. Buka konsol OpenSearch Layanan Amazon di [https://console.aws.amazon.com/aos/rumah](https://console.aws.amazon.com/aos/home ).

1. Di panel navigasi kiri, perluas **Tanpa Server** dan di bawah **Keamanan**, pilih Kebijakan akses **data**.

1. Pilih **Buat kebijakan akses**.

1. Berikan nama dan deskripsi untuk kebijakan tersebut.

1. Berikan nama untuk aturan pertama dalam kebijakan Anda. Misalnya, “Akses koleksi log”.

1. Pilih **Tambahkan prinsipal** dan pilih satu atau beberapa peran IAM atau [pengguna dan grup SAFL](serverless-saml.md) untuk menyediakan akses data.
**catatan**  
Untuk memilih prinsipal dari menu tarik-turun, Anda harus memiliki dan izin (untuk kepala sekolah IAM) `iam:ListUsers` dan `iam:ListRoles` izin (untuk identitas SAFL). `aoss:ListSecurityConfigs` 

1. Pilih **Grant** dan pilih alias, template, dan izin indeks untuk memberikan prinsipal terkait. Untuk daftar lengkap izin dan akses yang mereka izinkan, lihat[Operasi dan izin OpenSearch API yang didukung](serverless-genref.md#serverless-operations).

1. (Opsional) Konfigurasikan aturan tambahan untuk kebijakan tersebut.

1. Pilih **Buat**. Mungkin ada sekitar satu menit jeda waktu antara saat Anda membuat kebijakan dan saat izin diberlakukan. Jika dibutuhkan lebih dari 5 menit, hubungi [Dukungan](https://console.aws.amazon.com/support/home).

**penting**  
Jika kebijakan Anda hanya menyertakan izin indeks (dan tidak ada izin pengumpulan), Anda mungkin masih melihat pesan untuk pencocokan koleksi yang menyatakan. `Collection cannot be accessed yet. Configure data access policies so that users can access the data within this collection` Anda dapat mengabaikan peringatan ini. Prinsipal yang diizinkan masih dapat melakukan operasi terkait indeks yang ditetapkan pada koleksi.

## Membuat kebijakan akses data (AWS CLI)
<a name="serverless-data-access-cli"></a>

Untuk membuat kebijakan akses data menggunakan API OpenSearch Tanpa Server, gunakan perintah. `CreateAccessPolicy` Perintah menerima kebijakan inline dan file.json. Kebijakan sebaris harus dikodekan sebagai string lolos [JSON](https://www.freeformatter.com/json-escape.html).

Permintaan berikut membuat kebijakan akses data:

```
aws opensearchserverless create-access-policy \
    --name marketing \
    --type data \
    --policy "[{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection/autopartsinventory\",\"collection/sales*\"],\"Permission\":[\"aoss:UpdateCollectionItems\"]},{\"ResourceType\":\"index\",\"Resource\":[\"index/autopartsinventory/*\",\"index/salesorders/orders*\"],\"Permission\":[\"aoss:ReadDocument\",\"aoss:DescribeIndex\"]}],\"Principal\":[\"arn:aws:iam::123456789012:user/Shaheen\"]}]"
```

Untuk menyediakan kebijakan dalam file.json, gunakan formatnya. `--policy file://my-policy.json`

Prinsipal yang termasuk dalam kebijakan sekarang dapat menggunakan [OpenSearch operasi](#serverless-data-supported-permissions) yang diberikan akses kepada mereka.

## Melihat kebijakan akses data
<a name="serverless-data-access-list"></a>

Sebelum membuat koleksi, Anda mungkin ingin melihat pratinjau kebijakan akses data yang ada di akun Anda untuk melihat mana yang memiliki pola sumber daya yang cocok dengan nama koleksi Anda. [ListAccessPolicies](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListAccessPolicies.html)Permintaan berikut mencantumkan semua kebijakan akses data di akun Anda:

```
aws opensearchserverless list-access-policies --type data
```

Permintaan mengembalikan informasi tentang semua kebijakan akses data yang dikonfigurasi. Untuk melihat aturan pola yang ditentukan dalam satu kebijakan tertentu, cari informasi kebijakan dalam konten `accessPolicySummaries` elemen dalam respons. Perhatikan `name` dan `type` kebijakan ini dan gunakan properti ini dalam [GetAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetAccessPolicy.html)permintaan untuk menerima tanggapan dengan rincian kebijakan berikut: 

```
{
    "accessPolicyDetails": [
        {
            "type": "data",
            "name": "my-policy",
            "policyVersion": "MTY2NDA1NDE4MDg1OF8x",
            "description": "My policy",
            "policy": "[{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection/autopartsinventory\",\"collection/sales*\"],\"Permission\":[\"aoss:UpdateCollectionItems\"]},{\"ResourceType\":\"index\",\"Resource\":[\"index/autopartsinventory/*\",\"index/salesorders/orders*\"],\"Permission\":[\"aoss:ReadDocument\",\"aoss:DescribeIndex\"]}],\"Principal\":[\"arn:aws:iam::123456789012:user/Shaheen\"]}]",
            "createdDate": 1664054180858,
            "lastModifiedDate": 1664054180858
        }
    ]
}
```

Anda dapat menyertakan filter sumber daya untuk membatasi hasil pada kebijakan yang berisi koleksi atau indeks tertentu:

```
aws opensearchserverless list-access-policies --type data --resource "index/autopartsinventory/*"
```

Untuk melihat detail tentang kebijakan tertentu, gunakan [GetAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetAccessPolicy.html)perintah.

## Memperbarui kebijakan akses data
<a name="serverless-data-access-update"></a>

Saat Anda memperbarui kebijakan akses data, semua koleksi terkait akan terpengaruh. **Untuk memperbarui kebijakan akses data di konsol OpenSearch Tanpa Server, pilih **Kontrol akses data**, pilih kebijakan yang akan diubah, dan pilih Edit.** Buat perubahan dan pilih **Simpan**.

Untuk memperbarui kebijakan akses data menggunakan API OpenSearch Tanpa Server, kirim permintaan. `UpdateAccessPolicy` Anda harus menyertakan versi kebijakan, yang dapat Anda ambil menggunakan `GetAccessPolicy` perintah `ListAccessPolicies` atau. Menyertakan versi kebijakan terbaru memastikan bahwa Anda tidak secara tidak sengaja mengesampingkan perubahan yang dilakukan oleh orang lain.

[UpdateAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateAccessPolicy.html)Permintaan berikut memperbarui kebijakan akses data dengan dokumen JSON kebijakan baru:

```
aws opensearchserverless update-access-policy \
    --name sales-inventory \
    --type data \
    --policy-version MTY2NDA1NDE4MDg1OF8x \
    --policy file://my-new-policy.json
```

Mungkin ada jeda waktu beberapa menit antara saat Anda memperbarui kebijakan dan saat izin baru diberlakukan.

## Menghapus kebijakan akses data
<a name="serverless-data-access-delete"></a>

Saat Anda menghapus kebijakan akses data, semua koleksi terkait kehilangan akses yang ditentukan dalam kebijakan. Pastikan bahwa pengguna IAM dan SALL Anda memiliki akses yang sesuai ke koleksi sebelum Anda menghapus kebijakan. **Untuk menghapus kebijakan di konsol OpenSearch Tanpa Server, pilih kebijakan dan pilih Hapus.**

Anda juga dapat menggunakan [DeleteAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteAccessPolicy.html)perintah:

```
aws opensearchserverless delete-access-policy --name my-policy --type data
```

## Akses data lintas akun
<a name="serverless-data-access-cross"></a>

Meskipun Anda tidak dapat membuat kebijakan akses data dengan identitas lintas akun atau koleksi lintas akun, Anda masih dapat mengatur akses lintas akun dengan opsi asumsikan peran. Misalnya, jika `account-a` memiliki koleksi yang `account-b` memerlukan akses ke, pengguna dari `account-b` dapat mengambil peran dalam`account-a`. Peran harus memiliki izin IAM `aoss:APIAccessAll` dan`aoss:DashboardsAccessAll`, dan disertakan dalam kebijakan akses data pada. `account-a`