View a markdown version of this page

Akses data lintas wilayah ke domain OpenSearch - OpenSearch Layanan Amazon

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

Akses data lintas wilayah ke domain OpenSearch

Anda dapat mengonfigurasi aplikasi OpenSearch UI Anda Wilayah AWS menjadi satu untuk mengakses OpenSearch domain di Wilayah AWS s yang berbeda. Ini memungkinkan Anda membuat dasbor terpadu yang mengumpulkan data dari OpenSearch domain di beberapa Wilayah AWS s dalam partisi yang sama. Dukungan sumber data lintas wilayah memerlukan kontrol akses berbutir halus untuk diaktifkan pada domain target. Kontrol akses berbutir halus menyediakan lapisan otorisasi tambahan di luar kebijakan akses domain, memungkinkan Anda mengontrol akses ke indeks, dokumen, dan bidang individual.

Konsep utama

Wilayah Aplikasi

Wilayah AWS Tempat aplikasi OpenSearch UI Anda di-host.

Wilayah Target

Di Wilayah AWS mana OpenSearch domain berada. Ini bisa berupa Wilayah mana pun dalam partisi yang sama, terlepas dari apakah OpenSearch UI tersedia di Wilayah itu.

Peran lintas akun

Peran IAM dalam akun target yang digunakan selama asosiasi sumber data saja. OpenSearch UI mengasumsikan peran ini untuk memanggiles:DescribeDomain, yang mengambil titik akhir domain dan memverifikasi bahwa kontrol akses berbutir halus diaktifkan. Peran ini hanya diperlukan ketika domain berada di akun yang berbeda dari aplikasi. Untuk informasi selengkapnya, lihat Akses data lintas akun ke domain OpenSearch.

Peran aplikasi IAM Identity Center

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

Wilayah yang Didukung (untuk domain VPC)

Untuk domain VPC, Anda harus mengizinkan daftar tempat aplikasi OpenSearch UI Anda di-host saat Wilayah AWS mengotorisasi titik akhir VPC. Daftar yang diizinkan ini diperlukan agar OpenSearch UI dapat melakukan panggilan ke domain VPC.

Prasyarat

Sebelum Anda mengatur akses data lintas wilayah, pastikan Anda memiliki yang berikut:

  • AWS CLI diinstal dan dikonfigurasi

  • Akses ke Akun AWS di Wilayah aplikasi dan Wilayah target

  • OpenSearch domain dengan kontrol akses berbutir halus diaktifkan. Asosiasi sumber data multi-wilayah hanya didukung untuk domain dengan kontrol akses berbutir halus diaktifkan.

  • Untuk skenario lintas akun: Akses ke sumber dan target s Akun AWS

  • Untuk alur Pusat Identitas IAM: Sebuah contoh AWS IAM Identity Center organisasi. Aplikasi OpenSearch UI harus berada di Region yang sama dengan instance IAM Identity Center.

Skenario

Pilih skenario yang cocok dengan metode otentikasi dan konfigurasi domain Anda:

Setiap skenario mencakup akses lintas wilayah akun yang sama. Untuk akses lintas wilayah lintas akun, gabungkan langkah-langkah dalam skenario ini dengan pengaturan peran lintas akun yang dijelaskan dalam. Akses data lintas akun ke domain OpenSearch

Skenario 1: Pengguna IAM mengakses domain publik di Wilayah yang berbeda

Dalam skenario ini, Anda membuat aplikasi OpenSearch UI di satu Wilayah dan menghubungkannya ke OpenSearch domain publik di Wilayah yang berbeda dalam akun yang sama.

Langkah 1: Buat OpenSearch domain (Wilayah target)

Buat OpenSearch domain di Wilayah target dengan kontrol akses berbutir halus diaktifkan. Cakupan kebijakan akses ke root akun atau prinsip IAM tertentu.

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":"arn:aws:iam::account-id:root"},"Action":"es:ESHttp*","Resource":"arn:aws:es:target-region:account-id:domain/domain-name/*"}]}' \ --region target-region

Tunggu status domain menjadi Active sebelum melanjutkan.

Langkah 2: Buat aplikasi OpenSearch UI (Wilayah aplikasi)

Buat aplikasi di wilayah aplikasi dengan sumber data lintas wilayah. Wilayah diekstraksi dari sumber data ARN secara otomatis.

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

Langkah 3: Verifikasi dan akses

Ambil detail aplikasi untuk mendapatkan URL endpoint:

aws opensearch get-application \ --region application-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 dan pemetaan peran backend mengontrol data apa yang dapat diakses pengguna.

Skenario 2: Pengguna IAM Identity Center mengakses domain publik di Wilayah yang berbeda

Dalam skenario ini, Anda membuat aplikasi OpenSearch UI dengan autentikasi IAM Identity Center di satu Wilayah dan menghubungkannya ke OpenSearch domain publik di Wilayah yang berbeda dalam akun yang sama.

Langkah 1: Buat OpenSearch domain dengan IAM Identity Center diaktifkan (Wilayah target)

Buat OpenSearch domain di Wilayah target dengan kontrol akses berbutir halus dan integrasi Pusat Identitas IAM diaktifkan. Gunakan --identity-center-options parameter dengan IdentityCenterInstanceRegion untuk menentukan Wilayah di mana instans Pusat Identitas IAM Anda berada. Wilayah ini harus sama dengan tempat aplikasi OpenSearch UI di-host.

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"}' \ --identity-center-options '{"EnabledAPIAccess":true,"IdentityCenterInstanceARN":"arn:aws:sso:::instance/ssoins-instance-id","IdentityCenterInstanceRegion":"idc-region","RolesKey":"GroupId","SubjectKey":"UserId"}' \ --access-policies '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::account-id:role/NeoIdCAppRole"},"Action":"es:ESHttp*","Resource":"arn:aws:es:target-region:account-id:domain/domain-name/*"}]}' \ --region target-region

Tunggu status domain menjadi Active sebelum melanjutkan.

Langkah 2: Buat peran IAM untuk aplikasi IAM Identity Center

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

Untuk membuat peran aplikasi IAM Identity Center
  1. Buat kebijakan kepercayaan hanya dengan sts:AssumeRole pernyataan. Anda akan memperbarui kebijakan ini untuk menambahkan sts:SetContext pernyataan setelah membuat aplikasi di langkah berikutnya.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "application.opensearchservice.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Membuat kebijakan izin:

    { "Version": "2012-10-17", "Statement": [{ "Sid": "OpenSearchDomain", "Effect": "Allow", "Action": ["es:ESHttp*"], "Resource": "arn:aws:es:target-region:account-id:domain/domain-name/*" }] }
  3. 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 3: Buat aplikasi OpenSearch UI dengan IAM Identity Center (Region aplikasi)

catatan

Pastikan instans IAM Identity Center berada di Region yang sama dengan Region aplikasi OpenSearch UI.

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

Setelah aplikasi dibuat, perhatikan ID aplikasi SSO dari respons. Kemudian perbarui kebijakan kepercayaan pada peran aplikasi Pusat Identitas IAM untuk menambahkan sts:SetContext pernyataan:

{ "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::account-id:oidc-provider/portal.sso.idc-region.amazonaws.com/apl/application-id" } } } ] }
aws iam update-assume-role-policy \ --role-name NeoIdCAppRole \ --policy-document file://updated-trust-policy.json

Langkah 4: Buat dan tetapkan pengguna dan grup IAM Identity Center

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::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 -XPATCH "https://domain-endpoint/_plugins/_security/api/rolesmapping/all_access" \ -u admin:master-password \ -H 'Content-Type: application/json' \ -d '[{"op": "add", "path": "/backend_roles", "value": ["group-id"]}]'

Langkah 5: Verifikasi dan akses

Ambil detail aplikasi untuk mendapatkan URL endpoint:

aws opensearch get-application \ --region application-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.

  • Pemetaan peran backend pada izin akses data kontrol domain.

Skenario 3: Pengguna IAM mengakses domain VPC di Wilayah yang berbeda

Dalam skenario ini, Anda membuat aplikasi OpenSearch UI di satu Wilayah dan menghubungkannya ke OpenSearch domain VPC di Wilayah yang berbeda dalam akun yang sama. Domain VPC memerlukan konfigurasi jaringan tambahan dan otorisasi titik akhir VPC eksplisit dengan dukungan lintas wilayah.

Langkah 1: Siapkan VPC (Wilayah target)

Lewati langkah ini jika VPC sudah ada di Wilayah target.

# Create VPC aws ec2 create-vpc \ --cidr-block 10.0.0.0/16 \ --region target-region # Create subnet aws ec2 create-subnet \ --vpc-id vpc-id \ --cidr-block 10.0.1.0/24 \ --availability-zone target-regiona \ --region target-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 target-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 target-region

Pelajari lebih lanjut tentang pembuatan domain VPC.

Langkah 2: Buat domain VPC (Wilayah target)

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":"arn:aws:iam::account-id:root"},"Action":"es:ESHttp*","Resource":"arn:aws:es:target-region:account-id:domain/vpc-domain-name/*"}]}' \ --region target-region

Tunggu status domain menjadi Active sebelum melanjutkan.

Langkah 3: Otorisasi titik akhir VPC untuk OpenSearch prinsip layanan UI dengan dukungan lintas wilayah (Wilayah target)

# Authorize the service principal with cross-region support aws opensearch authorize-vpc-endpoint-access \ --domain-name vpc-domain-name \ --service "application.opensearchservice.amazonaws.com" \ --service-options '{"SupportedRegions":["target-region","application-region"]}' \ --region target-region # Verify authorization aws opensearch list-vpc-endpoint-access \ --domain-name vpc-domain-name \ --region target-region

Tanggapan yang diharapkan:

{ "AuthorizedPrincipalList": [ { "PrincipalType": "AWS_SERVICE", "Principal": "application.opensearchservice.amazonaws.com", "ServiceOptions": { "SupportedRegions": ["target-region", "application-region"] } } ] }

Langkah 4: Buat aplikasi OpenSearch UI (Wilayah aplikasi)

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

Langkah 5: Verifikasi dan akses

Ambil detail aplikasi untuk mendapatkan URL endpoint:

aws opensearch get-application \ --region application-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 dan pemetaan peran backend mengontrol data apa yang dapat diakses pengguna.

Skenario 4: Pengguna IAM Identity Center mengakses domain VPC di Wilayah yang berbeda

Dalam skenario ini, Anda membuat aplikasi OpenSearch UI dengan autentikasi IAM Identity Center di satu Wilayah dan menghubungkannya ke OpenSearch domain VPC di Wilayah yang berbeda dalam akun yang sama.

Langkah 1: Siapkan VPC (Wilayah target)

Lewati langkah ini jika VPC sudah ada di Wilayah target.

# Create VPC aws ec2 create-vpc \ --cidr-block 10.0.0.0/16 \ --region target-region # Create subnet aws ec2 create-subnet \ --vpc-id vpc-id \ --cidr-block 10.0.1.0/24 \ --availability-zone target-regiona \ --region target-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 target-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 target-region

Pelajari lebih lanjut tentang pembuatan domain VPC.

Langkah 2: Buat domain VPC dengan IAM Identity Center diaktifkan (Wilayah target)

Buat OpenSearch domain di Wilayah target dengan kontrol akses berbutir halus, integrasi Pusat Identitas IAM, dan konfigurasi VPC diaktifkan. Perbarui kebijakan akses untuk mengizinkan peran aplikasi Pusat Identitas IAM dan tambahkan --identity-center-options parameter:

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"}' \ --identity-center-options '{"EnabledAPIAccess":true,"IdentityCenterInstanceARN":"arn:aws:sso:::instance/ssoins-instance-id","IdentityCenterInstanceRegion":"idc-region","RolesKey":"GroupId","SubjectKey":"UserId"}' \ --access-policies '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::account-id:role/NeoIdCAppRole"},"Action":"es:ESHttp*","Resource":"arn:aws:es:target-region:account-id:domain/vpc-domain-name/*"}]}' \ --region target-region

Tunggu status domain menjadi Active sebelum melanjutkan.

Langkah 3: Otorisasi titik akhir VPC untuk OpenSearch prinsip layanan UI dengan dukungan lintas wilayah (Wilayah target)

penting

Ini adalah langkah penting yang unik untuk domain VPC dengan akses lintas wilayah. Layanan OpenSearch UI harus secara eksplisit diizinkan untuk mengakses titik akhir VPC, dan Anda harus menyertakan Wilayah aplikasi dalam daftar. SupportedRegions

# Authorize the service principal with cross-region support aws opensearch authorize-vpc-endpoint-access \ --domain-name vpc-domain-name \ --service "application.opensearchservice.amazonaws.com" \ --service-options '{"SupportedRegions":["target-region","application-region"]}' \ --region target-region # Verify authorization aws opensearch list-vpc-endpoint-access \ --domain-name vpc-domain-name \ --region target-region

Tanggapan yang diharapkan:

{ "AuthorizedPrincipalList": [ { "PrincipalType": "AWS_SERVICE", "Principal": "application.opensearchservice.amazonaws.com", "ServiceOptions": { "SupportedRegions": ["target-region", "application-region"] } } ] }

Langkah 4: Buat peran IAM untuk aplikasi IAM Identity Center

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

Untuk membuat peran aplikasi IAM Identity Center
  1. Buat kebijakan kepercayaan hanya dengan sts:AssumeRole pernyataan. Anda akan memperbarui kebijakan ini untuk menambahkan sts:SetContext pernyataan setelah membuat aplikasi di langkah berikutnya.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "application.opensearchservice.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Membuat kebijakan izin:

    { "Version": "2012-10-17", "Statement": [{ "Sid": "OpenSearchDomain", "Effect": "Allow", "Action": ["es:ESHttp*"], "Resource": "arn:aws:es:target-region:account-id:domain/vpc-domain-name/*" }] }
  3. 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 5: Buat aplikasi OpenSearch UI dengan IAM Identity Center (Region aplikasi)

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

Setelah aplikasi dibuat, perhatikan ID aplikasi SSO dari respons. Kemudian perbarui kebijakan kepercayaan pada peran aplikasi Pusat Identitas IAM untuk menambahkan sts:SetContext pernyataan:

{ "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::account-id:oidc-provider/portal.sso.idc-region.amazonaws.com/apl/application-id" } } } ] }
aws iam update-assume-role-policy \ --role-name NeoIdCAppRole \ --policy-document file://updated-trust-policy.json

Langkah 6: Buat dan tetapkan pengguna dan grup IAM Identity Center

Ikuti langkah yang sama seperti Langkah 4: Buat dan tetapkan pengguna dan grup IAM Identity Center membuat pengguna, grup, menetapkannya ke aplikasi, dan mengonfigurasi pemetaan peran backend pada domain target.

Langkah 7: Verifikasi dan akses

Ambil detail aplikasi untuk mendapatkan URL endpoint:

aws opensearch get-application \ --region application-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.

  • Pemetaan peran backend pada izin akses data kontrol domain.

Mengelola aplikasi

Perbarui aplikasi dengan sumber data lintas wilayah

Jalankan perintah berikut. Ganti placeholder values dengan informasi Anda sendiri.

aws opensearch update-application \ --region application-region \ --id application-id \ --data-sources '[{ "dataSourceArn":"arn:aws:es:target-region-1:account-id:domain/domain-1", "dataSourceDescription":"Domain in target Region 1" },{ "dataSourceArn":"arn:aws:es:target-region-2:account-id:domain/domain-2", "dataSourceDescription":"Domain in target Region 2" }]'
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 application-region
Menghapus sebuah aplikasi

Jalankan perintah berikut:

aws opensearch delete-application \ --region application-region \ --id application-id
Mencabut akses titik akhir VPC untuk Wilayah tertentu

Untuk mencabut akses lintas wilayah untuk Wilayah AWS s tertentu sambil mempertahankan yang lain, gunakan --service-options parameter dengan Wilayah untuk mencabut:

aws opensearch revoke-vpc-endpoint-access \ --domain-name vpc-domain-name \ --service "application.opensearchservice.amazonaws.com" \ --service-options '{"SupportedRegions":["region-to-revoke"]}' \ --region target-region

Referensi cepat

Tabel berikut merangkum perbedaan utama antara jenis domain, metode otentikasi, dan akses wilayah yang sama versus lintas wilayah.

Domain publik dibandingkan dengan domain VPC
Aspek Domain publik Domain VPC
Otorisasi titik akhir VPC Tidak diperlukan Wajib — harus mengotorisasi dengan application.opensearchservice.amazonaws.com SupportedRegions
Pengaturan jaringan Tidak ada VPC, subnet, grup keamanan dengan HTTPS (443) masuk
Kebijakan akses IAM Diperlukan Diperlukan
Pengguna IAM dibandingkan dengan pengguna IAM Identity Center
Aspek Pengguna IAM Pengguna Pusat Identitas IAM
Kredensial bidang data Kredensi IAM milik pengguna sendiri Peran aplikasi IAM Identity Center
Kontrol akses Kebijakan akses domain dan pemetaan peran backend Kebijakan akses domain dan pemetaan peran backend
Kendala Wilayah Aplikasi Wilayah mana saja Harus berada di Region yang sama dengan instans IAM Identity Center
Konfigurasi domain Standar Membutuhkan --identity-center-options dengan IdentityCenterInstanceRegion
Pengaturan tambahan Tidak ada Peran aplikasi IAM Identity Center, user/group pembuatan, penugasan aplikasi, pemetaan peran backend
Wilayah yang sama dibandingkan dengan lintas wilayah
Aspek Wilayah yang sama Lintas wilayah
Sumber data ARN Wilayah yang sama dengan aplikasi Wilayah yang berbeda dari aplikasi (partisi yang sama)
Otorisasi titik akhir VPC Hilangkan --service-options Sertakan --service-options dengan SupportedRegions
Konfigurasi domain Pusat Identitas IAM IdentityCenterInstanceRegionopsional IdentityCenterInstanceRegiondiperlukan
Dukungan lintas-partisi N/A Tidak didukung - sumber data harus berada di partisi yang sama

Catatan penting

  • Asosiasi sumber data lintas wilayah memerlukan kontrol akses berbutir halus untuk diaktifkan pada domain target.

  • Sumber data lintas wilayah harus berada dalam partisi yang sama. Akses lintas partisi (misalnya, dari aws keaws-cn) tidak didukung.

  • Wilayah sumber data diekstraksi dari sumber data ARN secara otomatis. Tidak ada parameter Wilayah tambahan yang diperlukan di CreateApplication or UpdateApplication APIs.

  • Untuk sumber data lintas wilayah akun yang sama, iamRoleForDataSourceArn tidak diperlukan. Ini hanya diperlukan untuk sumber data lintas akun.

  • Untuk domain VPC, Anda harus menyertakan Wilayah aplikasi dalam SupportedRegions parameter saat memanggil. AuthorizeVpcEndpointAccess Menghilangkan --service-options otorisasi hanya akses wilayah yang sama.

  • Untuk alur IAM Identity Center, aplikasi OpenSearch UI harus berada di Region yang sama dengan instance IAM Identity Center.

  • Untuk alur Pusat Identitas IAM dengan domain lintas wilayah, domain target harus disertakan --identity-center-options untuk mengaktifkan IdentityCenterInstanceRegion introspeksi token lintas wilayah.

  • Versi mesin yang didukung: OpenSearch 1.3 dan di atas.

Pemecahan masalah

Isu Resolusi
Pembuatan aplikasi gagal dengan “Tidak dapat mengakses domain” Verifikasi bahwa domain ada di Wilayah target dan kontrol akses berbutir halus diaktifkan. Untuk skenario lintas akun, verifikasi peran lintas akun memiliki es:DescribeDomain izin dan kebijakan kepercayaan memungkinkan akun sumber.
Akses domain VPC gagal untuk lintas wilayah Pastikan bahwa titik akhir VPC diotorisasi application.opensearchservice.amazonaws.com dengan Wilayah aplikasi yang disertakan di dalamnya. SupportedRegions
Akses pesawat data ditolak untuk pengguna IAM Periksa apakah kebijakan akses domain target memungkinkan pengguna IAM atau kepala peran, dan bahwa pemetaan peran backend kontrol akses berbutir halus memberikan izin yang sesuai.
Akses pesawat data ditolak untuk pengguna IAM Identity Center Verifikasi bahwa pemetaan peran backend menyertakan ID grup Pusat Identitas IAM, kebijakan domain mengizinkan peran aplikasi Pusat Identitas IAM, dan IdentityCenterInstanceRegion disetel dengan benar ke Wilayah yang sama dengan aplikasi OpenSearch UI pada domain.
Sumber data partisi silang ditolak Akses lintas partisi tidak didukung. Pastikan ARN sumber data berada di partisi yang sama dengan aplikasi.
Autentikasi Pusat Identitas IAM gagal untuk domain lintas wilayah Verifikasi bahwa IdentityCenterInstanceRegion disetel ke Wilayah yang benar di mana instans Pusat Identitas IAM Anda diaktifkan. Aplikasi OpenSearch UI juga harus berada di Wilayah yang sama ini.