

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

# Akses data lintas wilayah dan lintas akun
<a name="application-cross-region-cross-account"></a>

OpenSearch UI mendukung akses data dari OpenSearch domain di berbagai Akun AWS s dan Wilayah AWS s. Anda dapat memilih dari dua pendekatan tergantung pada kebutuhan Anda. Tabel berikut membandingkan kedua pendekatan tersebut.

**catatan**  
Akses data lintas akun dan pencarian lintas klaster hanya berfungsi dengan OpenSearch domain. Tidak ada pendekatan yang mendukung OpenSearch koleksi Tanpa Server.


| Aspek | Akses data lintas akun | Pencarian lintas klaster | 
| --- | --- | --- | 
| Fitur | Mengaitkan domain dari akun lain sebagai sumber data langsung di UI OpenSearch  | Kueri data di seluruh domain yang terhubung menggunakan koneksi pencarian lintas-cluster | 
| Mekanisme | Akses langsung — OpenSearch UI terhubung langsung ke domain target di akun lain | Akses tidak langsung — memerlukan domain lokal di akun yang sama dengan OpenSearch UI untuk menyampaikan permintaan ke domain jarak jauh | 
| Dukungan lintas akun | Ya | Ya | 
| Dukungan Lintas Wilayah | Tidak — domain sumber dan target harus sama Wilayah AWS | Ya — domain sumber dan tujuan bisa berbeda Wilayah AWS | 
| Data serikat lintas domain | Tidak — setiap domain ditanyakan secara independen sebagai sumber data terpisah | Ya — satu kueri dapat mengumpulkan hasil dari beberapa domain yang terhubung | 
| Metode autentikasi | IAM dan AWS IAM Identity Center | IAM (dengan kontrol akses berbutir halus) | 
| Kompleksitas pengaturan | Lebih rendah — membutuhkan peran IAM lintas akun untuk validasi | Lebih tinggi — memerlukan koneksi lintas klaster, kebijakan akses pada kedua domain, dan kontrol akses berbutir halus | 
| Visibilitas sumber data di UI OpenSearch  | Setiap domain lintas akun muncul sebagai sumber data terpisah | Domain jarak jauh diakses melalui alias koneksi domain sumber lokal | 
| Menulis akses ke domain jarak jauh | Ya — dikendalikan oleh kebijakan akses domain target | Tidak - pencarian lintas cluster menyediakan akses hanya-baca ke domain jarak jauh | 

**Topics**
+ [Akses data lintas akun ke domain OpenSearch](application-cross-account-data-access-domains.md)
+ [Pencarian lintas klaster](application-cross-cluster-search.md)

# Akses data lintas akun ke domain OpenSearch
<a name="application-cross-account-data-access-domains"></a>

Anda dapat mengonfigurasi aplikasi OpenSearch UI Anda dalam satu akun untuk mengakses OpenSearch domain di akun yang berbeda. Saat Anda membuat aplikasi OpenSearch UI dengan sumber data lintas akun, Anda memberikan `iamRoleForDataSourceArn` yang menunjuk ke peran IAM di akun target. OpenSearch UI memvalidasi permintaan dengan mengasumsikan peran ini dan memanggil `es:DescribeDomain` untuk memverifikasi aksesibilitas domain. Peran lintas akun hanya digunakan untuk validasi bidang kontrol. Akses pesawat data dikendalikan secara terpisah oleh kebijakan akses domain target.

**Kode sampel**  
Contoh kode dalam topik ini hanya untuk tujuan ilustrasi. Mereka menunjukkan fungsionalitas dasar dan mungkin tidak termasuk penanganan kesalahan, praktik terbaik keamanan, atau fitur siap produksi. Sebelum menggunakan kode sampel dalam produksi, tinjau dan modifikasi untuk memenuhi persyaratan spesifik Anda, dan uji secara menyeluruh di lingkungan Anda.

## Konsep utama
<a name="cross-account-key-concepts"></a>

Akun sumber  
Yang Akun AWS meng-host aplikasi OpenSearch UI Anda.

Akun target  
Di Akun AWS mana OpenSearch domain berada.

Peran lintas akun  
Peran IAM dalam akun target yang digunakan untuk validasi bidang kontrol saja. Peran ini hanya membutuhkan `es:DescribeDomain` izin.

Peran aplikasi IAM Identity Center  
Peran IAM dalam akun sumber yang digunakan untuk akses pesawat data pengguna IAM Identity Center.

## Prasyarat
<a name="cross-account-prerequisites"></a>

Sebelum Anda mengatur akses data lintas akun, pastikan Anda memiliki yang berikut:
+ AWS CLI diinstal dan dikonfigurasi
+ Akses ke sumber dan target Akun AWS s
+ Untuk alur Pusat Identitas IAM: Sebuah instance AWS IAM Identity Center organisasi

## Skenario
<a name="cross-account-scenarios"></a>

Pilih skenario yang cocok dengan metode otentikasi dan konfigurasi domain Anda:
+ [Skenario 1: Pengguna IAM mengakses domain publik](#cross-account-scenario-1)
+ [Skenario 2: Pengguna IAM Identity Center mengakses domain publik](#cross-account-scenario-2)
+ [Skenario 3: Pengguna IAM mengakses domain VPC](#cross-account-scenario-3)
+ [Skenario 4: Pengguna Pusat Identitas IAM mengakses domain VPC](#cross-account-scenario-4)

## Skenario 1: Pengguna IAM mengakses domain publik
<a name="cross-account-scenario-1"></a>

### Langkah 1: Buat peran IAM lintas akun (akun target)
<a name="scenario-1-step-1"></a>

Buat peran IAM di akun target yang memungkinkan akun sumber untuk menganggapnya sebagai validasi domain.

**Untuk membuat peran lintas akun**

1. Buat kebijakan kepercayaan yang memungkinkan akun sumber untuk mengambil peran:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [{
       "Effect": "Allow",
       "Principal": {
         "AWS": "arn:aws:iam::source-account-id:root"
       },
       "Action": "sts:AssumeRole"
     }]
   }
   ```

1. Buat peran:

   ```
   aws iam create-role \
     --role-name OpenSearchUIAccessRole \
     --assume-role-policy-document file://trust-policy.json
   ```

1. Buat kebijakan izin hanya dengan `es:DescribeDomain` tindakan:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [{
       "Effect": "Allow",
       "Action": "es:DescribeDomain",
       "Resource": "arn:aws:es:region:target-account-id:domain/*"
     }]
   }
   ```

1. Lampirkan kebijakan izin ke peran:

   ```
   aws iam put-role-policy \
     --role-name OpenSearchUIAccessRole \
     --policy-name ValidationOnly \
     --policy-document file://permissions-policy.json
   ```

### Langkah 2: Buat OpenSearch domain (akun target)
<a name="scenario-1-step-2"></a>

Buat OpenSearch domain di akun target dengan kontrol akses halus dan enkripsi diaktifkan:

```
aws opensearch create-domain \
  --domain-name domain-name \
  --engine-version OpenSearch_2.19 \
  --cluster-config InstanceType=m5.large.search,InstanceCount=1 \
  --ebs-options "EBSEnabled=true,VolumeType=gp3,VolumeSize=100" \
  --advanced-security-options '{"Enabled":true,"InternalUserDatabaseEnabled":true,"MasterUserOptions":{"MasterUserName":"admin","MasterUserPassword":"master-password"}}' \
  --node-to-node-encryption-options '{"Enabled":true}' \
  --encryption-at-rest-options '{"Enabled":true}' \
  --domain-endpoint-options '{"EnforceHTTPS":true,"TLSSecurityPolicy":"Policy-Min-TLS-1-2-2019-07"}' \
  --access-policies '{"Version":"2012-10-17",		 	 	 "Statement":[{"Effect":"Allow","Principal":{"AWS":"*"},"Action":"es:ESHttp*","Resource":"arn:aws:es:region:target-account-id:domain/domain-name/*"}]}' \
  --region region
```

Tunggu status domain menjadi `Active` sebelum melanjutkan.

### Langkah 3: Buat aplikasi OpenSearch UI (akun sumber)
<a name="scenario-1-step-3"></a>

Buat aplikasi di akun sumber dengan sumber data lintas akun:

```
aws opensearch create-application \
  --region region \
  --name "cross-account-iam-app" \
  --data-sources '[{
    "dataSourceArn":"arn:aws:es:region:target-account-id:domain/domain-name",
    "dataSourceDescription":"Cross-account domain",
    "iamRoleForDataSourceArn":"arn:aws:iam::target-account-id:role/OpenSearchUIAccessRole"
  }]' \
  --app-configs '[{"key":"opensearchDashboards.dashboardAdmin.users","value":"[\"*\"]"}]'
```

### Langkah 4: Verifikasi dan akses
<a name="scenario-1-step-4"></a>

Ambil detail aplikasi untuk mendapatkan URL endpoint:

```
aws opensearch get-application \
  --region region \
  --id application-id
```
+ Arahkan ke URL titik akhir aplikasi dari respons.
+ Masuk dengan kredensi IAM.
+ Pengguna IAM menandatangani permintaan pesawat data dengan kredensialnya sendiri.
+ Kebijakan akses domain target mengontrol data apa yang dapat diakses pengguna.

## Skenario 2: Pengguna IAM Identity Center mengakses domain publik
<a name="cross-account-scenario-2"></a>

### Langkah 1: Buat peran IAM lintas akun (akun target)
<a name="scenario-2-step-1"></a>

Buat peran IAM di akun target yang memungkinkan akun sumber untuk menganggapnya sebagai validasi domain.

**Untuk membuat peran lintas akun**

1. Buat kebijakan kepercayaan yang memungkinkan akun sumber untuk mengambil peran:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [{
       "Effect": "Allow",
       "Principal": {
         "AWS": "arn:aws:iam::source-account-id:root"
       },
       "Action": "sts:AssumeRole"
     }]
   }
   ```

1. Buat peran:

   ```
   aws iam create-role \
     --role-name OpenSearchUIAccessRole \
     --assume-role-policy-document file://trust-policy.json
   ```

1. Buat kebijakan izin hanya dengan `es:DescribeDomain` tindakan:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [{
       "Effect": "Allow",
       "Action": "es:DescribeDomain",
       "Resource": "arn:aws:es:region:target-account-id:domain/*"
     }]
   }
   ```

1. Lampirkan kebijakan izin ke peran:

   ```
   aws iam put-role-policy \
     --role-name OpenSearchUIAccessRole \
     --policy-name ValidationOnly \
     --policy-document file://permissions-policy.json
   ```

### Langkah 2: Buat OpenSearch domain (akun target)
<a name="scenario-2-step-2"></a>

Buat OpenSearch domain di akun target. Gunakan perintah yang sama seperti[Langkah 2: Buat OpenSearch domain (akun target)](#scenario-1-step-2), tetapi perbarui kebijakan akses untuk mengizinkan peran aplikasi Pusat Identitas IAM dari akun sumber:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [{
    "Effect": "Allow",
    "Principal": {
      "AWS": "arn:aws:iam::source-account-id:role/NeoIdCAppRole"
    },
    "Action": "es:ESHttp*",
    "Resource": "arn:aws:es:region:target-account-id:domain/domain-name/*"
  }]
}
```

Tunggu status domain menjadi `Active` sebelum melanjutkan.

### Langkah 3: Buat peran IAM untuk aplikasi IAM Identity Center (akun sumber)
<a name="scenario-2-step-3"></a>

Buat peran IAM di akun sumber yang digunakan OpenSearch UI untuk akses pesawat data pengguna IAM Identity Center.

**Untuk membuat peran aplikasi IAM Identity Center**

1. Buat kebijakan kepercayaan:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "application.opensearchservice.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       },
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "application.opensearchservice.amazonaws.com"
         },
         "Action": "sts:SetContext",
         "Condition": {
           "ForAllValues:ArnEquals": {
             "sts:RequestContextProviders": "arn:aws:iam::source-account-id:oidc-provider/portal.sso.region.amazonaws.com/apl/application-id"
           }
         }
       }
     ]
   }
   ```

1. Membuat kebijakan izin:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [{
       "Sid": "OpenSearchDomain",
       "Effect": "Allow",
       "Action": ["es:ESHttp*"],
       "Resource": "*"
     }]
   }
   ```

1. Buat peran dan lampirkan kebijakan:

   ```
   aws iam create-role \
     --role-name NeoIdCAppRole \
     --assume-role-policy-document file://neoidc-trust-policy.json
   
   aws iam put-role-policy \
     --role-name NeoIdCAppRole \
     --policy-name NeoIdCAppPermissions \
     --policy-document file://neoidc-permissions-policy.json
   ```

### Langkah 4: Buat aplikasi OpenSearch UI dengan IAM Identity Center (akun sumber)
<a name="scenario-2-step-4"></a>

```
aws opensearch create-application \
  --region region \
  --name "cross-account-idc-app" \
  --iam-identity-center-options '{
    "enabled":true,
    "iamIdentityCenterInstanceArn":"arn:aws:sso:::instance/ssoins-instance-id",
    "iamRoleForIdentityCenterApplicationArn":"arn:aws:iam::source-account-id:role/NeoIdCAppRole"
  }' \
  --data-sources '[{
    "dataSourceArn":"arn:aws:es:region:target-account-id:domain/domain-name",
    "dataSourceDescription":"Cross-account domain",
    "iamRoleForDataSourceArn":"arn:aws:iam::target-account-id:role/OpenSearchUIAccessRole"
  }]' \
  --app-configs '[{"key":"opensearchDashboards.dashboardAdmin.users","value":"[\"*\"]"}]'
```

### Langkah 5: Buat dan tetapkan pengguna dan grup IAM Identity Center
<a name="scenario-2-step-5"></a>

**Buat pengguna Pusat Identitas IAM**  
Jalankan perintah berikut. Ganti *placeholder values* dengan informasi Anda sendiri.

```
aws identitystore create-user \
  --identity-store-id d-directory-id \
  --user-name user-email \
  --display-name "display-name" \
  --name Formatted=string,FamilyName=last-name,GivenName=first-name \
  --emails Value=user-email,Type=work,Primary=true
```

**Buat grup Pusat Identitas IAM dan tambahkan pengguna**  
Jalankan perintah berikut:

```
aws identitystore create-group \
  --identity-store-id d-directory-id \
  --display-name "OpenSearchUsers" \
  --description "Users with OpenSearch access"

aws identitystore create-group-membership \
  --identity-store-id d-directory-id \
  --group-id group-id \
  --member-id UserId=user-id
```

**Tetapkan pengguna atau grup ke aplikasi**  
Jalankan perintah berikut:

```
aws sso-admin create-application-assignment \
  --application-arn "arn:aws:sso:::source-account-id:application/ssoins-instance-id/apl-application-id" \
  --principal-id user-id-or-group-id \
  --principal-type USER
```

**Konfigurasikan pemetaan peran backend pada domain target**  
Petakan grup Pusat Identitas IAM ke peran OpenSearch keamanan pada domain target:

```
curl -XPUT "https://domain-endpoint/_plugins/_security/api/rolesmapping/all_access" \
  -u admin:master-password \
  -H 'Content-Type: application/json' \
  -d '{
    "backend_roles": ["group-id"],
    "hosts": [],
    "users": []
  }'
```

### Langkah 6: Verifikasi dan akses
<a name="scenario-2-step-6"></a>

```
aws opensearch get-application \
  --region region \
  --id application-id
```
+ Arahkan ke URL titik akhir aplikasi.
+ Masuk dengan kredensi pengguna IAM Identity Center.
+ Permintaan data pengguna IAM Identity Center ditandatangani dengan peran aplikasi IAM Identity Center, bukan peran lintas akun.
+ Pemetaan peran backend pada izin akses data kontrol domain.

## Skenario 3: Pengguna IAM mengakses domain VPC
<a name="cross-account-scenario-3"></a>

### Langkah 1: Buat peran IAM lintas akun (akun target)
<a name="scenario-3-step-1"></a>

Buat peran IAM di akun target yang memungkinkan akun sumber untuk menganggapnya sebagai validasi domain.

**Untuk membuat peran lintas akun**

1. Buat kebijakan kepercayaan yang memungkinkan akun sumber untuk mengambil peran:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [{
       "Effect": "Allow",
       "Principal": {
         "AWS": "arn:aws:iam::source-account-id:root"
       },
       "Action": "sts:AssumeRole"
     }]
   }
   ```

1. Buat peran:

   ```
   aws iam create-role \
     --role-name OpenSearchUIAccessRole \
     --assume-role-policy-document file://trust-policy.json
   ```

1. Buat kebijakan izin hanya dengan `es:DescribeDomain` tindakan:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [{
       "Effect": "Allow",
       "Action": "es:DescribeDomain",
       "Resource": "arn:aws:es:region:target-account-id:domain/*"
     }]
   }
   ```

1. Lampirkan kebijakan izin ke peran:

   ```
   aws iam put-role-policy \
     --role-name OpenSearchUIAccessRole \
     --policy-name ValidationOnly \
     --policy-document file://permissions-policy.json
   ```

### Langkah 2: Siapkan VPC (akun target)
<a name="scenario-3-step-2"></a>

Lewati langkah ini jika VPC sudah ada di akun target.

```
# Create VPC
aws ec2 create-vpc \
  --cidr-block 10.0.0.0/16 \
  --region region

# Create subnet
aws ec2 create-subnet \
  --vpc-id vpc-id \
  --cidr-block 10.0.1.0/24 \
  --availability-zone regiona \
  --region region

# Create security group
aws ec2 create-security-group \
  --group-name opensearch-vpc-sg \
  --description "Security group for OpenSearch VPC domain" \
  --vpc-id vpc-id \
  --region region

# Allow inbound HTTPS
aws ec2 authorize-security-group-ingress \
  --group-id security-group-id \
  --protocol tcp \
  --port 443 \
  --cidr 10.0.0.0/16 \
  --region region
```

Pelajari lebih lanjut tentang [pembuatan domain VPC](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html).

### Langkah 3: Buat domain VPC (akun target)
<a name="scenario-3-step-3"></a>

```
aws opensearch create-domain \
  --domain-name vpc-domain-name \
  --engine-version OpenSearch_2.19 \
  --cluster-config InstanceType=m5.large.search,InstanceCount=1 \
  --ebs-options "EBSEnabled=true,VolumeType=gp3,VolumeSize=100" \
  --vpc-options "SubnetIds=subnet-id,SecurityGroupIds=security-group-id" \
  --advanced-security-options '{"Enabled":true,"InternalUserDatabaseEnabled":true,"MasterUserOptions":{"MasterUserName":"admin","MasterUserPassword":"master-password"}}' \
  --node-to-node-encryption-options '{"Enabled":true}' \
  --encryption-at-rest-options '{"Enabled":true}' \
  --domain-endpoint-options '{"EnforceHTTPS":true,"TLSSecurityPolicy":"Policy-Min-TLS-1-2-2019-07"}' \
  --access-policies '{"Version":"2012-10-17",		 	 	 "Statement":[{"Effect":"Allow","Principal":{"AWS":"*"},"Action":"es:ESHttp*","Resource":"arn:aws:es:region:target-account-id:domain/vpc-domain-name/*"}]}' \
  --region region
```

Tunggu status domain menjadi `Active` sebelum melanjutkan.

### Langkah 4: Otorisasi titik akhir VPC untuk OpenSearch prinsipal layanan UI (akun target)
<a name="scenario-3-step-4"></a>

**penting**  
Ini adalah langkah penting yang unik untuk domain VPC. Layanan OpenSearch UI harus diotorisasi secara eksplisit untuk mengakses titik akhir VPC.

```
# Authorize the service principal
aws opensearch authorize-vpc-endpoint-access \
  --domain-name vpc-domain-name \
  --service "application.opensearchservice.amazonaws.com" \
  --region region

# Verify authorization
aws opensearch list-vpc-endpoint-access \
  --domain-name vpc-domain-name \
  --region region
```

Tanggapan yang diharapkan:

```
{
  "AuthorizedPrincipalList": [
    {
      "PrincipalType": "AWS_SERVICE",
      "Principal": "application.opensearchservice.amazonaws.com"
    }
  ]
}
```

### Langkah 5: Buat aplikasi OpenSearch UI (akun sumber)
<a name="scenario-3-step-5"></a>

```
aws opensearch create-application \
  --region region \
  --name "cross-account-vpc-iam-app" \
  --data-sources '[{
    "dataSourceArn":"arn:aws:es:region:target-account-id:domain/vpc-domain-name",
    "dataSourceDescription":"Cross-account VPC domain",
    "iamRoleForDataSourceArn":"arn:aws:iam::target-account-id:role/OpenSearchUIAccessRole"
  }]' \
  --app-configs '[{"key":"opensearchDashboards.dashboardAdmin.users","value":"[\"*\"]"}]'
```

### Langkah 6: Verifikasi dan akses
<a name="scenario-3-step-6"></a>

Ambil detail aplikasi untuk mendapatkan URL endpoint:

```
aws opensearch get-application \
  --region region \
  --id application-id
```
+ Arahkan ke URL titik akhir aplikasi dari respons.
+ Masuk dengan kredensi IAM.
+ Pengguna IAM menandatangani permintaan pesawat data dengan kredensialnya sendiri.
+ Kebijakan akses domain target mengontrol data apa yang dapat diakses pengguna.

## Skenario 4: Pengguna Pusat Identitas IAM mengakses domain VPC
<a name="cross-account-scenario-4"></a>

### Langkah 1: Buat peran IAM lintas akun (akun target)
<a name="scenario-4-step-1"></a>

Buat peran IAM di akun target yang memungkinkan akun sumber untuk menganggapnya sebagai validasi domain.

**Untuk membuat peran lintas akun**

1. Buat kebijakan kepercayaan yang memungkinkan akun sumber untuk mengambil peran:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [{
       "Effect": "Allow",
       "Principal": {
         "AWS": "arn:aws:iam::source-account-id:root"
       },
       "Action": "sts:AssumeRole"
     }]
   }
   ```

1. Buat peran:

   ```
   aws iam create-role \
     --role-name OpenSearchUIAccessRole \
     --assume-role-policy-document file://trust-policy.json
   ```

1. Buat kebijakan izin hanya dengan `es:DescribeDomain` tindakan:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [{
       "Effect": "Allow",
       "Action": "es:DescribeDomain",
       "Resource": "arn:aws:es:region:target-account-id:domain/*"
     }]
   }
   ```

1. Lampirkan kebijakan izin ke peran:

   ```
   aws iam put-role-policy \
     --role-name OpenSearchUIAccessRole \
     --policy-name ValidationOnly \
     --policy-document file://permissions-policy.json
   ```

### Langkah 2: Siapkan VPC (akun target)
<a name="scenario-4-step-2"></a>

Lewati langkah ini jika VPC sudah ada di akun target.

```
# Create VPC
aws ec2 create-vpc \
  --cidr-block 10.0.0.0/16 \
  --region region

# Create subnet
aws ec2 create-subnet \
  --vpc-id vpc-id \
  --cidr-block 10.0.1.0/24 \
  --availability-zone regiona \
  --region region

# Create security group
aws ec2 create-security-group \
  --group-name opensearch-vpc-sg \
  --description "Security group for OpenSearch VPC domain" \
  --vpc-id vpc-id \
  --region region

# Allow inbound HTTPS
aws ec2 authorize-security-group-ingress \
  --group-id security-group-id \
  --protocol tcp \
  --port 443 \
  --cidr 10.0.0.0/16 \
  --region region
```

Pelajari lebih lanjut tentang [pembuatan domain VPC](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html).

### Langkah 3: Buat domain VPC (akun target)
<a name="scenario-4-step-3"></a>

Gunakan perintah yang sama seperti[Langkah 3: Buat domain VPC (akun target)](#scenario-3-step-3), tetapi perbarui kebijakan akses untuk mengizinkan peran aplikasi Pusat Identitas IAM dari akun sumber:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [{
    "Effect": "Allow",
    "Principal": {
      "AWS": "arn:aws:iam::source-account-id:role/NeoIdCAppRole"
    },
    "Action": "es:ESHttp*",
    "Resource": "arn:aws:es:region:target-account-id:domain/vpc-domain-name/*"
  }]
}
```

Tunggu status domain menjadi `Active` sebelum melanjutkan.

### Langkah 4: Otorisasi titik akhir VPC untuk OpenSearch prinsipal layanan UI (akun target)
<a name="scenario-4-step-4"></a>

**penting**  
Ini adalah langkah penting yang unik untuk domain VPC. Layanan OpenSearch UI harus diotorisasi secara eksplisit untuk mengakses titik akhir VPC.

```
# Authorize the service principal
aws opensearch authorize-vpc-endpoint-access \
  --domain-name vpc-domain-name \
  --service "application.opensearchservice.amazonaws.com" \
  --region region

# Verify authorization
aws opensearch list-vpc-endpoint-access \
  --domain-name vpc-domain-name \
  --region region
```

Tanggapan yang diharapkan:

```
{
  "AuthorizedPrincipalList": [
    {
      "PrincipalType": "AWS_SERVICE",
      "Principal": "application.opensearchservice.amazonaws.com"
    }
  ]
}
```

### Langkah 5: Buat peran IAM untuk aplikasi IAM Identity Center (akun sumber)
<a name="scenario-4-step-5"></a>

Buat peran IAM di akun sumber yang digunakan OpenSearch UI untuk akses pesawat data pengguna IAM Identity Center.

**Untuk membuat peran aplikasi IAM Identity Center**

1. Buat kebijakan kepercayaan:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "application.opensearchservice.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       },
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "application.opensearchservice.amazonaws.com"
         },
         "Action": "sts:SetContext",
         "Condition": {
           "ForAllValues:ArnEquals": {
             "sts:RequestContextProviders": "arn:aws:iam::source-account-id:oidc-provider/portal.sso.region.amazonaws.com/apl/application-id"
           }
         }
       }
     ]
   }
   ```

1. Membuat kebijakan izin:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [{
       "Sid": "OpenSearchDomain",
       "Effect": "Allow",
       "Action": ["es:ESHttp*"],
       "Resource": "*"
     }]
   }
   ```

1. Buat peran dan lampirkan kebijakan:

   ```
   aws iam create-role \
     --role-name NeoIdCAppRole \
     --assume-role-policy-document file://neoidc-trust-policy.json
   
   aws iam put-role-policy \
     --role-name NeoIdCAppRole \
     --policy-name NeoIdCAppPermissions \
     --policy-document file://neoidc-permissions-policy.json
   ```

### Langkah 6: Buat aplikasi OpenSearch UI dengan IAM Identity Center (akun sumber)
<a name="scenario-4-step-6"></a>

```
aws opensearch create-application \
  --region region \
  --name "cross-account-vpc-idc-app" \
  --iam-identity-center-options '{
    "enabled":true,
    "iamIdentityCenterInstanceArn":"arn:aws:sso:::instance/ssoins-instance-id",
    "iamRoleForIdentityCenterApplicationArn":"arn:aws:iam::source-account-id:role/NeoIdCAppRole"
  }' \
  --data-sources '[{
    "dataSourceArn":"arn:aws:es:region:target-account-id:domain/vpc-domain-name",
    "dataSourceDescription":"Cross-account VPC domain",
    "iamRoleForDataSourceArn":"arn:aws:iam::target-account-id:role/OpenSearchUIAccessRole"
  }]' \
  --app-configs '[{"key":"opensearchDashboards.dashboardAdmin.users","value":"[\"*\"]"}]'
```

### Langkah 7: Buat dan tetapkan pengguna dan grup IAM Identity Center
<a name="scenario-4-step-7"></a>

**Buat pengguna Pusat Identitas IAM**  
Jalankan perintah berikut. Ganti *placeholder values* dengan informasi Anda sendiri.

```
aws identitystore create-user \
  --identity-store-id d-directory-id \
  --user-name user-email \
  --display-name "display-name" \
  --name Formatted=string,FamilyName=last-name,GivenName=first-name \
  --emails Value=user-email,Type=work,Primary=true
```

**Buat grup Pusat Identitas IAM dan tambahkan pengguna**  
Jalankan perintah berikut:

```
aws identitystore create-group \
  --identity-store-id d-directory-id \
  --display-name "OpenSearchUsers" \
  --description "Users with OpenSearch access"

aws identitystore create-group-membership \
  --identity-store-id d-directory-id \
  --group-id group-id \
  --member-id UserId=user-id
```

**Tetapkan pengguna atau grup ke aplikasi**  
Jalankan perintah berikut:

```
aws sso-admin create-application-assignment \
  --application-arn "arn:aws:sso:::source-account-id:application/ssoins-instance-id/apl-application-id" \
  --principal-id user-id-or-group-id \
  --principal-type USER
```

**Konfigurasikan pemetaan peran backend pada domain target**  
Petakan grup Pusat Identitas IAM ke peran OpenSearch keamanan pada domain target:

```
curl -XPUT "https://domain-endpoint/_plugins/_security/api/rolesmapping/all_access" \
  -u admin:master-password \
  -H 'Content-Type: application/json' \
  -d '{
    "backend_roles": ["group-id"],
    "hosts": [],
    "users": []
  }'
```

### Langkah 8: Verifikasi dan akses
<a name="scenario-4-step-8"></a>

```
aws opensearch get-application \
  --region region \
  --id application-id
```
+ Arahkan ke URL titik akhir aplikasi.
+ Masuk dengan kredensi pengguna IAM Identity Center.
+ Permintaan data pengguna IAM Identity Center ditandatangani dengan peran aplikasi IAM Identity Center, bukan peran lintas akun.
+ Pemetaan peran backend pada izin akses data kontrol domain.

## Mengelola aplikasi
<a name="cross-account-managing-applications"></a>

**Perbarui aplikasi dengan sumber data lintas akun**  
Jalankan perintah berikut. Ganti *placeholder values* dengan informasi Anda sendiri.

```
aws opensearch update-application \
  --region region \
  --id application-id \
  --data-sources '[{
    "dataSourceArn":"arn:aws:es:region:target-account-id:domain/domain-1",
    "dataSourceDescription":"First cross-account domain",
    "iamRoleForDataSourceArn":"arn:aws:iam::target-account-id:role/OpenSearchUIAccessRole"
  },{
    "dataSourceArn":"arn:aws:es:region:target-account-id:domain/domain-2",
    "dataSourceDescription":"Second cross-account domain",
    "iamRoleForDataSourceArn":"arn:aws:iam::target-account-id:role/OpenSearchUIAccessRole"
  }]'
```

**penting**  
Operasi pembaruan menggantikan seluruh array sumber data. Sertakan semua sumber data yang ingin Anda simpan.

**Daftar aplikasi**  
Jalankan perintah berikut:

```
aws opensearch list-applications \
  --region region
```

**Menghapus sebuah aplikasi**  
Jalankan perintah berikut:

```
aws opensearch delete-application \
  --region region \
  --id application-id
```

**Cabut akses titik akhir VPC**  
Jalankan perintah berikut:

```
aws opensearch revoke-vpc-endpoint-access \
  --domain-name vpc-domain-name \
  --service "application.opensearchservice.amazonaws.com" \
  --region region
```

## Referensi cepat
<a name="cross-account-quick-reference"></a>

Tabel berikut merangkum perbedaan utama antara jenis domain dan metode otentikasi.


**Domain publik dibandingkan dengan domain VPC**  

| Aspek | Domain publik | Domain VPC | 
| --- | --- | --- | 
| Otorisasi titik akhir VPC | Tidak diperlukan | Wajib — harus mengotorisasi application.opensearchservice.amazonaws.com | 
| Pengaturan jaringan | Tidak ada | VPC, subnet, grup keamanan dengan HTTPS (443) masuk | 
| Kebijakan akses IAM | Diperlukan | Diperlukan | 
| Peran lintas akun | Diperlukan untuk cross-account | Diperlukan untuk cross-account | 


**Pengguna IAM dibandingkan dengan pengguna IAM Identity Center**  

| Aspek | Pengguna IAM | Pengguna Pusat Identitas IAM | 
| --- | --- | --- | 
| Kredensial bidang data | Kredensi IAM milik pengguna | Peran aplikasi IAM Identity Center | 
| Kontrol akses | Kebijakan akses domain | Kebijakan akses domain dan pemetaan peran backend | 
| Pengaturan tambahan | Tidak ada | Peran aplikasi IAM Identity Center, user/group pembuatan, penugasan aplikasi, pemetaan peran backend | 
| OpenSearch Konfigurasi aplikasi UI | Tidak ada opsi Pusat Identitas IAM | --iam-identity-center-optionsdiperlukan | 

## Catatan penting
<a name="cross-account-important-notes"></a>
+ `iamRoleForDataSourceArn`Harus dalam akun yang sama dengan`dataSourceArn`.
+ Hanya `iamRoleForDataSourceArn` diperlukan untuk sumber data lintas akun. Hilangkan untuk sumber data akun yang sama.
+ Peran lintas akun hanya membutuhkan `es:DescribeDomain` izin. Ini tidak pernah digunakan untuk akses pesawat data.
+ Untuk domain VPC, kebijakan IAM dan otorisasi titik akhir VPC harus dikonfigurasi.
+ Versi mesin yang didukung: OpenSearch 1.3 dan di atas.

## Pemecahan masalah
<a name="cross-account-troubleshooting"></a>


| Isu | Resolusi | 
| --- | --- | 
| Pembuatan aplikasi gagal dengan “Tidak dapat mengakses domain” | Verifikasi bahwa peran lintas akun memiliki es:DescribeDomain izin dan kebijakan kepercayaan mengizinkan akun sumber. | 
| Asosiasi domain VPC gagal | Pastikan titik akhir VPC diotorisasi. application.opensearchservice.amazonaws.com | 
| Akses pesawat data ditolak untuk pengguna IAM | Periksa apakah kebijakan akses domain target memungkinkan pengguna IAM atau kepala peran. | 
| Akses pesawat data ditolak untuk pengguna IAM Identity Center | Verifikasi bahwa pemetaan peran backend menyertakan ID grup Pusat Identitas IAM, dan kebijakan domain mengizinkan peran aplikasi Pusat Identitas IAM. | 
| Kesalahan ketidakcocokan akun | Pastikan itu iamRoleForDataSourceArn berada di akun yang sama dengan domain didataSourceArn. | 

# Pencarian lintas klaster
<a name="application-cross-cluster-search"></a>

Menggunakan [penelusuran lintas klaster](cross-cluster-search.md) di Amazon OpenSearch Tanpa Server, Anda dapat melakukan kueri dan agregasi di beberapa domain yang terhubung. 

*Pencarian lintas cluster di Amazon OpenSearch Tanpa Server menggunakan konsep *domain sumber dan domain tujuan*.* Permintaan pencarian lintas cluster berasal dari domain sumber. Domain tujuan dapat berbeda Akun AWS atau Wilayah AWS (atau keduanya) untuk domain sumber untuk kueri. Menggunakan pencarian lintas klaster, Anda dapat mengonfigurasi domain sumber untuk dikaitkan dengan OpenSearch UI Anda di akun yang sama dan kemudian membuat koneksi ke domain tujuan. Akibatnya, Anda dapat menggunakan OpenSearch UI dengan data dari domain tujuan meskipun mereka berada di akun atau Wilayah yang berbeda. 

Anda membayar [biaya transfer AWS data standar](https://aws.amazon.com/opensearch-service/pricing/) untuk data yang ditransfer masuk dan keluar dari OpenSearch Layanan Amazon. Anda tidak dikenakan biaya untuk data yang ditransfer antar node dalam domain OpenSearch Layanan Anda. Untuk informasi selengkapnya tentang biaya “masuk” dan “keluar” data, lihat [Transfer Data](https://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer) di halaman Harga *Sesuai Permintaan Amazon EC2*.

Anda dapat menggunakan pencarian lintas klaster sebagai mekanisme agar OpenSearch UI dikaitkan dengan cluster di akun lain atau Wilayah yang berbeda. Permintaan antar domain dienkripsi dalam perjalanan secara default sebagai bagian dari enkripsi. node-to-node 

**catatan**  
 OpenSearch Alat open source juga mendokumentasikan [pencarian lintas cluster](https://opensearch.org/docs/latest/search-plugins/cross-cluster-search/). Perhatikan bahwa penyiapan untuk alat open source berbeda secara signifikan untuk kluster open source dibandingkan dengan domain Amazon Tanpa OpenSearch Server yang dikelola.  
Terutama, di Amazon OpenSearch Tanpa Server, Anda mengonfigurasi koneksi lintas-cluster menggunakan Konsol Manajemen AWS alih-alih menggunakan permintaan. `cURL` Layanan terkelola menggunakan AWS Identity and Access Management (IAM) untuk otentikasi lintas-cluster selain kontrol akses berbutir halus.   
Oleh karena itu, sebaiknya gunakan konten dalam topik ini untuk mengonfigurasi pencarian lintas klaster untuk domain Anda, bukan dokumentasi sumber OpenSearch terbuka.

**Perbedaan fungsional saat menggunakan pencarian lintas cluster**  
Dibandingkan dengan domain biasa, domain tujuan yang dibuat menggunakan pencarian Cross-cluster memiliki perbedaan dan persyaratan fungsional berikut:
+ Anda tidak dapat menulis atau menjalankan `PUT` perintah ke cluster jarak jauh. Akses Anda ke cluster jarak jauh *hanya-baca*. 
+ Domain sumber dan tujuan harus berupa OpenSearch domain. Anda tidak dapat menghubungkan domain Elasticsearch atau cluster OpenSearch /Elasticsearch yang dikelola sendiri untuk UI. OpenSearch 
+ Sebuah domain dapat memiliki maksimal 20 koneksi ke domain lain. Ini termasuk koneksi keluar dan masuk.
+ Domain sumber harus pada versi yang sama atau lebih tinggi OpenSearch dari domain tujuan. Jika Anda ingin mengatur koneksi dua arah antara dua domain, kedua domain harus dalam versi yang sama. Kami merekomendasikan untuk memutakhirkan kedua domain ke versi terbaru sebelum membuat koneksi. Jika Anda perlu memperbarui domain setelah mengatur koneksi dua arah, Anda harus terlebih dahulu menghapus koneksi, dan kemudian membuatnya kembali setelahnya. 
+ Anda tidak dapat menggunakan kamus kustom atau SQL dengan cluster jarak jauh.
+ Anda tidak dapat menggunakan CloudFormation untuk menghubungkan domain.
+ Anda tidak dapat menggunakan pencarian lintas klaster pada instance M3 atau burstable (T2 dan T3).
+ Pencarian lintas cluster tidak berfungsi untuk koleksi Amazon Tanpa OpenSearch Server. 

**Prasyarat pencarian lintas-cluster untuk UI OpenSearch**  
Sebelum menyiapkan penelusuran lintas klaster dengan dua OpenSearch domain, pastikan domain Anda memenuhi persyaratan berikut: 
+ Kontrol akses berbutir halus diaktifkan untuk kedua domain
+ Node-to-node enkripsi diaktifkan untuk kedua domain

**Topics**
+ [Menyiapkan izin akses untuk akses data lintas wilayah dan lintas akun dengan pencarian lintas klaster](#cross-cluster-search-security)
+ [Membuat koneksi antar domain](#cross-cluster-search-create-connection)
+ [Menguji pengaturan keamanan Anda untuk akses data lintas wilayah dan lintas akun dengan pencarian lintas klaster](#cross-cluster-search-security-testing)
+ [Menghapus koneksi](#cross-cluster-search-deleting-connection)

## Menyiapkan izin akses untuk akses data lintas wilayah dan lintas akun dengan pencarian lintas klaster
<a name="cross-cluster-search-security"></a>

Saat Anda mengirim permintaan penelusuran lintas klaster ke domain sumber, domain akan mengevaluasi permintaan tersebut berdasarkan kebijakan akses domainnya. Pencarian lintas-cluster memerlukan kontrol akses berbutir halus. Berikut ini adalah contoh dengan kebijakan akses terbuka pada domain sumber.

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

****  

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

------

**catatan**  
Jika Anda menyertakan indeks jarak jauh di jalur, Anda harus mengkodekan URL URI di domain ARN.  
Misalnya, gunakan format ARN berikut:   
`:arn:aws:es:us-east-1:111222333444:domain/my-domain/local_index,dst%3Aremote_index`  
Jangan gunakan format ARN berikut:  
`arn:aws:es:us-east-1:111222333444:domain/my-domain/local_index,dst:remote_index.`

Jika Anda memilih untuk menggunakan kebijakan akses terbatas selain kontrol akses berbutir halus, kebijakan Anda minimal harus mengizinkan akses ke. `es:ESHttpGet` Berikut ini adalah contohnya:

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

****  

```
{
"Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::111222333444:user/john-doe"
        ]
      },
      "Action": "es:ESHttpGet",
      "Resource": "arn:aws:es:us-east-1:111122223333:domain/my-domain/*"
    }
  ]
}
```

------

[Kontrol akses berbutir halus](fgac.md) pada domain sumber mengevaluasi permintaan untuk menentukan apakah permintaan tersebut ditandatangani dengan kredensi dasar IAM atau HTTP yang valid. Jika ya, kontrol akses berbutir halus selanjutnya mengevaluasi apakah pengguna memiliki izin untuk melakukan pencarian dan mengakses data.

Berikut ini adalah persyaratan izin untuk pencarian:
+ Jika permintaan hanya mencari data pada domain tujuan (misalnya`dest-alias:dest-index/_search)`, izin hanya diperlukan pada domain tujuan. 
+ Jika permintaan mencari data di kedua domain (misalnya`source-index,dest-alias:dest-index/_search)`, izin diperlukan pada kedua domain. 
+ Untuk menggunakan kontrol akses berbutir halus, izin `indices:admin/shards/search_shards` diperlukan selain izin baca atau pencarian standar untuk indeks yang relevan.

Sumber domain melewati permintaan ke domain tujuan. Domain tujuan mengevaluasi permintaan ini terhadap kebijakan akses domainnya. Untuk mendukung semua fitur di OpenSearch UI, seperti mengindeks dokumen dan melakukan pencarian standar, izin penuh harus ditetapkan. Berikut ini adalah contoh kebijakan yang kami rekomendasikan tentang domain tujuan:

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

****  

```
{
"Version":"2012-10-17",		 	 	 
 "Statement": [
    {
       "Effect": "Allow",
       "Principal": {
         "AWS": [
           "*"
        ]
      },
      "Action": [
        "es:ESHttp*"
      ],
      "Resource": "arn:aws:es:us-east-2:111222333444:domain/my-destination-domain/*"
    },
    {
    "Effect": "Allow",
        "Principal": {
    "AWS": "*"
      },
      "Action": "es:ESCrossClusterGet",
      "Resource": "arn:aws:es:us-east-2:111222333444:domain/"
    }
  ]
}
```

------

Jika Anda hanya ingin melakukan penelusuran dasar, persyaratan kebijakan minimum adalah `es:ESCrossClusterGet` izin yang akan diterapkan untuk domain tujuan tanpa dukungan wildcard. Misalnya, dalam kebijakan sebelumnya, Anda akan menentukan nama domain sebagai */my-destination-domain* dan bukan. */my-destination-domain/\$1*

Dalam hal ini, domain tujuan melakukan pencarian dan mengembalikan hasilnya ke domain sumber. Sumber domain menggabungkan hasil sendiri (jika ada) dengan hasil dari domain tujuan dan mengembalikannya kepada Anda.

## Membuat koneksi antar domain
<a name="cross-cluster-search-create-connection"></a>

Koneksi pencarian lintas cluster searah dari domain sumber ke domain tujuan. Ini berarti bahwa domain tujuan (di akun atau Wilayah yang berbeda) tidak dapat menanyakan domain sumber, yang bersifat lokal ke OpenSearch UI. Domain sumber membuat koneksi *keluar* ke domain tujuan. Domain tujuan menerima permintaan koneksi *masuk* dari domain sumber. 

![\[Gambar ini menggambarkan bahwa koneksi pencarian lintas cluster searah dari domain sumber ke domain tujuan.\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/ui-oubound-inbound-connections.png)


**Untuk membuat koneksi antar domain**

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

1. Di navigasi kiri, pilih **Domain**.

1. Pilih nama domain untuk dijadikan domain sumber, lalu pilih tab **Connections**. 

1. Di area **Koneksi keluar**, pilih **Permintaan**. 

1. Untuk **alias Koneksi**, masukkan nama untuk koneksi Anda. Alias koneksi digunakan di OpenSearch UI untuk memilih domain tujuan. 

1. Untuk **mode Koneksi**, pilih **Langsung** untuk pencarian atau replikasi lintas klaster.

1. Untuk menentukan bahwa koneksi harus melewati kluster yang tidak tersedia selama pencarian, pilih kotak **Lewati kluster yang tidak tersedia**. Memilih opsi ini memastikan bahwa kueri lintas klaster Anda mengembalikan sebagian hasil terlepas dari kegagalan pada satu atau beberapa cluster jarak jauh.

1. Untuk **tujuan klaster**, pilih antara **Connect to a cluster di this Akun AWS** dan **Connect to a cluster di cluster lain Akun AWS**. 

1. Untuk **Remote domain ARN**, masukkan Amazon Resource Name (ARN) untuk cluster. Domain ARN dapat ditemukan di area **informasi umum** halaman detail domain.

   Domain harus memenuhi persyaratan berikut:
   + ARN harus dalam format. `arn:partition:es:regionaccount-id:type/domain-id` Contoh:

     `arn:aws:es:us-east-2:111222333444:domain/my-domain`
   + Domain harus dikonfigurasi untuk menggunakan OpenSearch versi 1.0 (atau yang lebih baru) atau Elasticsearch versi 6.7 (atau yang lebih baru). 
   + Kontrol akses berbutir halus harus diaktifkan pada domain.
   + Domain harus berjalan OpenSearch.

1. Pilih **Minta**.

Pencarian lintas-cluster pertama memvalidasi permintaan koneksi untuk memastikan prasyarat terpenuhi. Jika domain tidak kompatibel, permintaan koneksi memasuki status. `Validation failed` 

Jika permintaan koneksi berhasil divalidasi, itu dikirim ke domain tujuan, di mana itu harus disetujui. Sampai persetujuan ini diberikan, koneksi tetap dalam `Pending acceptance` keadaan. Ketika permintaan koneksi diterima di domain tujuan, status berubah `Active` dan domain tujuan menjadi tersedia untuk kueri. 

Halaman domain menunjukkan kesehatan domain secara keseluruhan dan detail kesehatan instans domain tujuan Anda. Hanya pemilik domain yang memiliki fleksibilitas untuk membuat, melihat, menghapus, dan memantau koneksi ke atau dari domain mereka.

Setelah koneksi dibuat, lalu lintas yang mengalir di antara simpul dari domain yang terhubung dienkripsi. Saat Anda menghubungkan domain VPC ke domain non-VPC dan domain non-VPC adalah titik akhir publik yang dapat menerima lalu lintas dari internet, lalu lintas lintas cluster antar domain masih terenkripsi dan aman.

## Menguji pengaturan keamanan Anda untuk akses data lintas wilayah dan lintas akun dengan pencarian lintas klaster
<a name="cross-cluster-search-security-testing"></a>

Setelah menyiapkan izin akses untuk akses data lintas wilayah dan lintas akun dengan penelusuran lintas klaster, sebaiknya uji penyiapan menggunakan platform pihak ketiga untuk [https://www.postman.com/](https://www.postman.com/)pengembangan API kolaboratif.

**Untuk mengatur pengaturan keamanan Anda menggunakan Postman**

1. Pada domain tujuan, indeks dokumen. Berikut ini adalah permintaan sampel:

   ```
   POST https://dst-domain.us-east-1.es.amazonaws.com/books/_doc/1
   {
   "Dracula": "Bram Stoker"
   }
   ```

1. Untuk melakukan kueri indeks ini dari domain sumber, sertakan alias koneksi domain tujuan dalam kueri. Anda dapat menemukan alias koneksi di tab Connections di dasbor domain Anda. Berikut ini adalah permintaan sampel dan respons terpotong:

   ```
   GET https://src-domain.us-east-1.es.amazonaws.com/connection_alias:books/_search
   {
   ...
     "hits": [
   {
   "_index": "source-destination:books",
     "_type": "_doc",
     "_id": "1",
     "_score": 1,
     "_source": {
   "Dracula": "Bram Stoker"
     }
   }
     ]
   }
   ```

1. (Opsional) Anda dapat membuat konfigurasi yang mencakup beberapa domain dalam satu pencarian. Misalnya, katakan bahwa Anda mengatur yang berikut:

   Koneksi antara `domain-a` ke`domain-b`, dengan alias koneksi bernama `cluster_b`

   Koneksi antara `domain-a` ke`domain-c`, dengan alias koneksi bernama `cluster_c`

   Dalam hal ini, pencarian Anda mencakup konten`domain-a`,`domain-b`, dan`domain-c`. Berikut ini adalah contoh permintaan dan tanggapan:

   Permintaan

   ```
   GET https://src-domain.us-east-1.es.amazonaws.com/local_index,cluster_b:b_index,cluster_c:c_index/_search
   {
     "query": {
   "match": {
     "user": "domino"
   }
     }
   }
   ```

   Respons:

   ```
   {
   "took": 150,
     "timed_out": false,
     "_shards": {
   "total": 3,
   "successful": 3,
   "failed": 0,
   "skipped": 0
     },
     "_clusters": {
   "total": 3,
   "successful": 3,
   "skipped": 0
     },
     "hits": {
   "total": 3,
   "max_score": 1,
   "hits": [
     {
   "_index": "local_index",
       "_type": "_doc",
       "_id": "0",
       "_score": 1,
       "_source": {
   "user": "domino",
         "message": "This is message 1",
         "likes": 0
       }
     },
     {
   "_index": "cluster_b:b_index",
       "_type": "_doc",
       "_id": "0",
       "_score": 2,
       "_source": {
   "user": "domino",
         "message": "This is message 2",
         "likes": 0
       }
     },
     {
   "_index": "cluster_c:c_index",
       "_type": "_doc",
       "_id": "0",
       "_score": 3,
       "_source": {
   "user": "domino",
         "message": "This is message 3",
         "likes": 0
       }
     }
   ]
     }
   }
   ```

Jika Anda tidak memilih untuk melewati kluster yang tidak tersedia dalam pengaturan koneksi, semua kluster tujuan yang Anda cari harus tersedia agar permintaan pencarian Anda berjalan dengan sukses. Jika tidak, seluruh permintaan gagal—bahkan jika salah satu domain tidak tersedia, tidak ada hasil pencarian yang dikembalikan.

## Menghapus koneksi
<a name="cross-cluster-search-deleting-connection"></a>

Menghapus koneksi menghentikan operasi pencarian lintas klaster di domain tujuan.

Anda dapat melakukan prosedur berikut pada domain sumber atau tujuan untuk menghapus koneksi. Setelah Anda menghapus koneksi, itu tetap terlihat dengan status `Deleted` selama 15 hari.

Anda tidak dapat menghapus domain dengan koneksi lintas klaster yang aktif. Untuk menghapus domain, pertama-tama hapus semua koneksi masuk dan keluar dari domain tersebut. Ini memastikan Anda memperhitungkan pengguna domain lintas cluster sebelum menghapus domain.

**Untuk menghapus koneksi**

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

1. Di navigasi kiri, pilih **Domain**.

1. Pilih nama domain yang akan dihapus, lalu pilih tab **Connections**. 

1. Pilih nama koneksi yang akan dihapus.

1. Pilih **Hapus**, lalu konfirmasikan penghapusan.