Zephyrnet Logosu

Bir VPC içinde Amazon OpenSearch Hizmeti etki alanları için SAML kimlik federasyonu oluşturun | Amazon Web Hizmetleri

Tarih:

Amazon Açık Arama Hizmeti sanal bir özel bulut (VPC) içinde çalıştırılabilen, Apache Lucene arama kitaplığı tarafından desteklenen, tam olarak yönetilen bir arama ve analiz hizmetidir. VPC, AWS hesabınıza ayrılmış bir sanal ağdır. AWS Cloud'daki diğer sanal ağlardan mantıksal olarak yalıtılmıştır. OpenSearch Hizmeti etki alanını bir VPC'ye yerleştirmek, OpenSearch Hizmeti ile VPC içindeki diğer hizmetler arasında bir internet ağ geçidine, NAT cihazına veya VPN bağlantısına gerek kalmadan güvenli bir iletişim sağlar. Tüm trafik AWS Cloud'da güvenli bir şekilde kalır ve verileriniz için güvenli bir ortam sağlanır. Kurumsal müşteriler, özel bir VPC içinde çalışan bir OpenSearch Hizmeti etki alanına bağlanmak için mevcut iki seçenekten birini kullanır: ya VPC'lerini VPN aracılığıyla kurumsal ağlarıyla entegre edin ya da AWS Doğrudan Bağlanveya küme uç noktasını ters proxy aracılığıyla genel olarak erişilebilir hale getirin. Bakınız Amazon Cognito kimlik doğrulamasını kullanarak OpenSearch Kontrol Panellerine VPC'nin dışından nasıl erişebilirim? Mevcut seçeneklerin ve bunlara karşılık gelen artı ve eksilerin ayrıntılı bir değerlendirmesi için.

OpenSearch Hizmeti, kurumsal müşterilerin ortamlarındaki OpenSearch Kontrol Panellerine erişimi yönetmek için, tekli oturum açma (SSO) olanağı sunmak üzere müşterinin mevcut kimlik sağlayıcılarıyla (IdP'ler) Güvenlik Onaylama İşaretleme Dili (SAML) entegrasyonunu destekler. Herkese açık OpenSearch Dashboard'lar için SAML entegrasyonu kutudan çıktığı gibi çalışsa da, bir VPC'de OpenSearch Dashboard'lar için SAML'yi etkinleştirmek, çeşitli yapılandırmalarla dikkatli bir tasarım gerektirir.

Bu gönderi, bir VPC'de çalışan OpenSearch Hizmeti etki alanları için SAML kimlik doğrulamasını entegre etmeye yönelik uçtan uca bir çözümü özetlemektedir. Adım adım bir dağıtım kılavuzu sağlar ve beraberinde AWS Bulut Geliştirme Kiti (AWS CDK) gerekli tüm yapılandırmaları otomatikleştiren uygulamalar.

Çözüme genel bakış

Aşağıdaki şemada, SAML kimlik federasyonunu kullanarak SSO aracılığıyla özel bir OpenSearch Hizmeti etki alanına erişim için adım adım kimlik doğrulama akışı açıklanmaktadır. Erişim, üzerinde çalışan özel NGINX ters proxy sunucuları aracılığıyla genel internet üzerinden etkinleştirilir. Amazon Elastik Konteyner Hizmeti (Amazon ECS) yüksek kullanılabilirlik için.

Çözüme genel bakış

İş akışı aşağıdaki adımlardan oluşur:

  1. Kullanıcı, tarayıcısında OpenSearch Kontrol Panelleri URL'sine gider.
  2. Tarayıcı, alan IP adresini çözer ve isteği gönderir.
  3. AWS WAF'ı kurallar, yalnızca listelenen IP adresi aralıklarına izin verilmesine izin verilmesini sağlar.
  4. Application Load Balancer, isteği NGINX ters proxy'ye iletir.
  5. NGINX gerekli başlıkları ekler ve isteği OpenSearch Kontrol Panellerine iletir.
  6. OpenSearch Kontrol Panelleri isteğin kimliğinin doğrulanmadığını algılar. Kimlik doğrulama için entegre SAML IdP'ye bir yönlendirmeyle yanıt verir.
  7. Kullanıcı SSO giriş sayfasına yönlendirilir.
  8. IdP, kullanıcının kimliğini doğrular ve bir SAML onay jetonu oluşturur.
  9. Kullanıcı tekrar OpenSearch Kontrol Panelleri URL'sine yönlendirilir.
  10. İstek, OpenSearch'e ulaşana kadar 1-5. Adımlardan tekrar geçer. Bu kez OpenSearch Kontrol Panelleri, eşlik eden SAML iddiasını algılar ve isteğe izin verir.

Aşağıdaki bölümlerde, VPC özel alt ağlarında konuşlandırılan bir etki alanı için OpenSearch Kontrol Panellerine erişim sağlamak amacıyla özel alt ağlarda bir NGINX ters proxy kuruyoruz. Daha sonra, bir SAML 2.0 uygulaması kullanarak OpenSearch Kontrol Panelleri için SAML kimlik doğrulamasını etkinleştiriyoruz ve SAML kimlik doğrulamasını çalışırken görmek amacıyla OpenSearch Kontrol Panellerine erişmek için özel bir etki alanı uç noktası kullanıyoruz.

Önkoşullar

Başlamadan önce bu bölümdeki önkoşul adımları tamamlayın.

Gerekli araçları yükleyin

Öncelikle AWS CDK'yı yükleyin. Daha fazla bilgi için bkz. AWS CDK v2 Geliştirici Kılavuzu.

Gerekli AWS kaynaklarını hazırlayın

AWS kaynaklarınızı ayarlamak için aşağıdaki adımları tamamlayın:

  1. Bir AWS hesabı oluşturun.
  2. Bir oluşturma Amazon Rota 53 gibi kamuya açık barındırılan bölge mydomain.com İnternet trafiğini alan adınıza yönlendirmek için kullanılacak. Talimatlar için bkz. Herkese açık bir barındırılan bölge oluşturma.
  3. talep bir AWS Sertifika Yöneticisi (ACM) barındırılan bölge için genel sertifika. Talimatlar için bkz. Genel sertifika isteme.
  4. Genel ve özel alt ağlara sahip bir VPC oluşturun.
  5. etkinleştirme AWS IAM Kimlik Merkezi. Talimatlar için bkz. IAM Kimlik Merkezini Etkinleştir.

OpenSearch Hizmeti kümenizi hazırlayın

Bu gönderiye bağımsız bir AWS CDK uygulaması eşlik etmektedir (opensearch-domain) özel VPC alt ağlarında örnek bir OpenSearch Hizmeti etki alanı dağıtan. Dağıtılan etki alanı yalnızca tanıtım amaçlıdır ve isteğe bağlıdır.

VPC'de SAML entegrasyonu için kullanmak istediğiniz mevcut bir OpenSearch Hizmeti alanınız varsa aşağıdaki yapılandırmaları uygulayın:

  1. Üzerinde Küme yapılandırması sekmesini seçin Düzenle seçin Özel uç noktayı etkinleştir içinde Özel uç nokta Bölüm.
  2. İçin Özel ana makine adıgibi tam nitelikli bir alan adı (FQDN) girin. opensearch.mydomain.comkümenize erişmek için kullanmak istediğiniz . Sağlanan FQDN'nin alan adının (örneğin, mydomain.com) daha önce oluşturduğunuz genel olarak barındırılan bölgeyle aynı olmalıdır.
  3. İçin AWS sertifikası, daha önce oluşturduğunuz SSL sertifikasını seçin.
  4. içinde Özet bölümünde isteğe bağlı olarak deneme analizini etkinleştirin ve kuru çalışma veya seçimini kaldırın ve seçin Değişiklikleri Kaydet.

Aksi takdirde, beraberindekileri indirin opensearch-domain AWS CDK uygulamasını açın ve sıkıştırın. Daha sonra şunu düzenleyin: cdk.json sıkıştırılmış klasörün kökündeki dosyayı açın ve gerekli parametreleri yapılandırın:

  • vpc_cidr – VPC'nin oluşturulacağı CIDR bloğu. Varsayılan değer olan 10.0.0.0/16'yı bırakabilirsiniz.
  • opensearch_cluster_name – OpenSearch Hizmeti kümesinin adı. Varsayılan değerini bırakabilirsiniz opensearch. Ayrıca aşağıdakilerle birlikte kullanılacaktır: hosted_zone_name Özel etki alanı URL'sinin FQDN'sini oluşturmak için parametre.
  • barındırılan_bölge_id – Route 53 genel barındırılan bölge kimliği.
  • barındırılan_bölge_adı – Route 53 genel barındırılan bölge adı (örneğin, mydomain.com). Varsayılan örnek değerlere sahip sonuç FQDN'si daha sonra şu şekilde olacaktır: opensearch.mydomain.com.

Son olarak AWS CDK uygulamasını dağıtmak için aşağıdaki komutları çalıştırın:

cd opensearch-domain

# Create a Python environment and install the reuired dependencies
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
pip install -r requirements.txt

# Deploy the CDK application
cdk deploy

Önkoşullar yerine getirildikten sonra bu çözümün dağıtımına ilişkin adım adım kılavuz için aşağıdaki bölümlere bakın.

SAML 2.0 uygulaması oluşturma

SAML entegrasyonumuz için kimlik kaynağı olarak IAM Identity Center'ı kullanıyoruz. Aynı yapılandırma diğer SAML 2.0 uyumlu IdP'ler için de geçerli olmalıdır. IdP belgelerinize bakın.

  1. IAM Kimlik Merkezi konsolunda, Gruplar Gezinti bölmesinde.
  2. adında yeni bir grup oluşturun Opensearch Adminve buna kullanıcıları ekleyin.
    Bu, OpenSearch Kontrol Panellerinde tüm izinleri alan SAML grubu olacaktır. Grup kimliğini not edin.OpenSearch Yönetici Grubu
  3. Klinik Uygulamalar Gezinti bölmesinde.
  4. Yeni bir özel SAML 2.0 uygulaması oluşturun.SAML uygulaması oluştur
  5. Daha sonraki bir adımda kullanmak için IAM Identity Center SAML meta veri dosyasını indirin.IAM Kimlik Merkezi SAML meta verileri
  6. İçin Uygulama başlangıç ​​URL'si, girmek [Custom Domain URL]/_dashboards/.
    Özel etki alanı URL'si, iletişim protokolünden (https://) ve ardından önkoşullarda OpenSearch Hizmeti kümeniz için kullandığınız FQDN'den (örneğin, https://opensearch.mydomain.com) oluşur. Şüpheniz varsa OpenSearch Hizmeti küme yapılandırmalarınızın altına bakın.
  7. İçin Uygulama ACS URL'si, girmek [Custom Domain URL]/_dashboards/_opendistro/_security/saml/acs.
  8. İçin Uygulama SAML kitlesi, girmek [Custom Domain URL] (sonunda herhangi bir eğik çizgi olmadan).
    OpenSearch alanı SAML özellikleri
  9. Klinik Gönder.
  10. içinde atanan kullanıcılar bölümünde, seçin Opensearch Yöneticisi Ve seç Kullanıcı Ata.Yönetici grubunu SAML uygulamasına atayın
  11. Üzerinde İşlemler menü seç Öznitelik eşlemelerini düzenle.SAML uygulamasının özellik eşlemesini düzenleyin
  12. Özellik eşlemelerini aşağıdaki ekran görüntüsünde gösterildiği gibi tanımlayın ve Değişiklikleri Kaydet.SAML uygulamasının öznitelik eşlemelerini yapılandırma

AWS CDK uygulamasını dağıtın

AWS CDK uygulamasını dağıtmak için aşağıdaki adımları tamamlayın:

  1. İndir ve unzip opensearch-domain-saml-entegrasyonu AWS CDK uygulaması.
  2. Özel SSL anahtarınızı ve sertifikanızı ekleyin AWS Sırları Yöneticisi ve iki sır yarat denilen Key ve Crt. Örneğin, aşağıdaki koda bakın:
    KEY=$(cat private.key | base64) && aws secretsmanager create-secret --name Key --secret-string $KEY
    CRT=$(cat certificate.crt | base64) && aws secretsmanager create-secret --name Crt --secret-string $CRT

    Kendinden imzalı bir sertifika oluşturmak için aşağıdaki komutu kullanabilirsiniz. Bu yalnızca test amaçlıdır; bunu üretim ortamları için kullanmayın.

    openssl req -new -newkey rsa:4096 -days 1095 -nodes -x509 -subj '/' -keyout private.key -out certificate.crt

  3. Düzenle cdk.json dosyalayın ve iç içe geçmiş dosyanın içinde gerekli parametreleri ayarlayın. config nesne:
  • aws_region – Dağıtımınız için hedef AWS Bölgesi (örneğin, eu-central-1).
  • vpc_id – OpenSearch Hizmeti etki alanının dağıtıldığı VPC'nin kimliği.
  • opensearch_cluster_security_group_id – OpenSearch Hizmeti etki alanı tarafından kullanılan güvenlik grubunun kimliği veya 80 ve 443 numaralı bağlantı noktasında bu etki alanına gelen bağlantılara izin veren başka bir güvenlik grubu. Bu grup kimliği, trafiği OpenSearch Hizmeti etki alanınıza iletmek için Application Load Balancer tarafından kullanılacaktır. .
  • barındırılan_bölge_id – Route 53 genel barındırılan bölge kimliği.
  • barındırılan_bölge – Route 53 genel barındırılan bölge adı (örneğin, mydomain.com).
  • opensearch_custom_domain_name – Şunun gibi bir FQDN: opensearch.mydomain.comkümenize erişmek için kullanmak istediğiniz . Sağlanan FQDN'nin alan adının (mydomain.com) ile aynı olmalıdır hosted_zone parametre.
  • opensearch_custom_domain_certificate_arn – ACM'de saklanan sertifikanın ARN'si.
  • opensearch_domain_endpoint – OpenSearch Hizmeti VPC etki alanı uç noktası (örneğin, vpc-opensearch-abc123.eu-central-1.es.amazonaws.com).
  • vpc_dns_resolver – Bu 10.0.0 olmalıdır. VPC CIDR'niz 10.0.0.0/16 ise. Görmek Amazon DNS sunucusu daha fazla detay için.
  • alb_waf_ip_whitelist_cidrs – Bu, OpenSearch Hizmeti etki alanına erişime izin vermek için AWS WAF'ta otomatik olarak listelenmesine izin verilecek sıfır veya daha fazla IP CIDR aralığının isteğe bağlı bir listesidir. Belirtilmediği takdirde dağıtımdan sonra erişime izin vermek için ilgili IP CIDR aralıklarını AWS WAF IP setine manuel olarak eklemeniz gerekecektir. Örneğin, ["1.2.3.4/32", "5.6.7.0/24"].
  1. OpenSearch Hizmeti etki alanı SAML entegrasyonu AWS CDK uygulamasını dağıtın:
    cd opensearch-domain-saml-integration
    
    # Create a Python environment and install the required dependencies
    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements-dev.txt
    pip install -r requirements.txt
    
    # Deploy the CDK application
    cdk deploy

OpenSearch Hizmeti kümeniz için SAML kimlik doğrulamasını etkinleştirin

Uygulama dağıtımı tamamlandığında kümeniz için SAML kimlik doğrulamasını etkinleştirin:

  1. OpenSearch Hizmeti konsolunda alanınıza gidin.
  2. Üzerinde Güvenlik yapılandırması sekmesini seçin Düzenle.OpenSearch alanı için SAML kimlik doğrulamasını etkinleştirin
  3. seç SAML kimlik doğrulamasını etkinleştir.
  4. Klinik XML dosyasından içe aktar ve daha önceki bir adımda indirdiğiniz IAM Identity Center SAML meta veri dosyasını içe aktarın.
  5. İçin SAML ana arka uç rolü, daha önce kaydettiğiniz grup kimliğini kullanın.
  6. genişletmek Ek ayarlar bölüm ve için Roller, daha önce AWS Identity Center'da SAML 2.0 uygulamasını oluşturduğunuzda eşlediğiniz SAML 2.0 öznitelik adını girin.
  7. Etki alanı erişim ilkesini yapılandırma SAML entegrasyonu için.
  8. Değişiklikleri gönderin ve bir sonraki bölüme geçmeden önce OpenSearch Hizmetinin yapılandırmaları uygulamasını bekleyin.

Çözümü test edin

Çözümü çalışırken görmek için aşağıdaki adımları tamamlayın:

  1. IAM Kimlik Merkezi konsolunda, Kullanıcı Paneli Gezinti bölmesinde.
  2. içinde Ayarlar özeti bölümünde aşağıdaki bağlantıyı seçin AWS erişim portalı URL'si.IAM Kimlik Merkezi'ne giriş yapın
  3. Kullanıcı adınız ve şifrenizle giriş yapın (ilk girişinizse şifrenizi kaydedin).
    Hesabınız yönetici grubuna başarıyla eklendiyse SAML uygulama logosu görünür.
  4. Klinik Özel SAML 2.0 uygulaması herhangi bir ek oturum açma girişimine gerek kalmadan SSO aracılığıyla OpenSearch Hizmeti kontrol panellerine yönlendirilmek.SAML uygulamasını aç
    Alternatif olarak, erişim portalında oturum açmayı atlayabilir ve tarayıcınızı doğrudan OpenSearch Kontrol Panelleri URL'sine yönlendirebilirsiniz. Bu durumda, OpenSearch Kontrol Panelleri sizi ilk olarak oturum açmak için erişim portalına yönlendirecektir; bu da sizi başarılı bir oturum açma işleminden sonra tekrar OpenSearch Kontrol Panelleri Kullanıcı Arayüzü'ne yönlendirecek ve aşağıdaki ekran görüntüsünde gösterilenle aynı sonuca yol açacaktır.Başarılı oturum açmanın ardından OpenSearch Kontrol Panelleri Kullanıcı Arayüzü

Sorun giderme

Herkese açık IP'nizin AWS WAF kuralı tarafından izin verilenler listesinde yer alması gerekir, aksi takdirde 403 Yasak hatası döndürülür. AWS CDK aracılığıyla IP CIDR aralığınızın izin verilenler listesine eklenmesi alb_waf_ip_whitelist_cidrs özelliğini kurulum kılavuzunda açıklandığı gibi kullanın ve değişikliklerin etkili olması için AWS CDK uygulamasını yeniden dağıtın.

Temizlemek

Bu yapılandırmayı tamamladığınızda, gelecekteki ücretlendirmelerden kaçınmak için kaynakları temizleyin.

  1. OpenSearch Hizmeti konsolunda şuraya gidin: Güvenlik yapılandırması OpenSearch Hizmeti alan adınızın sekmesini seçin ve Düzenle.
  2. Kaldırın SAML kimlik doğrulamasını etkinleştir Ve seç Değişiklikleri Kaydet.
  3. Amazon SAML entegrasyonu devre dışı bırakıldıktan sonra opensearch-domain-saml-integration kullanarak yığın cdk destroy.
  4. İsteğe bağlı olarak, sağlanan OpenSearch Hizmeti örnek AWS CDK yığınını kullandıysanız (opensearch-domain), kullanarak silin cdk destroy.

Sonuç

OpenSearch Hizmeti, kurumsal müşterilerin, AWS'nin en iyi uygulamalarına uygun olarak özel VPC alt ağlarında çalışan kümeler için IAM Identity Center'ı kullanarak SAML gibi tercih ettikleri birleştirilmiş IdP'leri kullanmalarına olanak tanır.

Bu yayında, IAM Identity Center'ı kullanarak OpenSearch Kontrol Panellerine SSO erişimi için bir VPC içindeki bir OpenSearch Hizmeti alanını mevcut bir SAML IdP ile nasıl entegre edeceğinizi gösterdik. Sağlanan çözüm, erişimi yalnızca yetkili ağ bölümlerine veya belirli IP adreslerine kısıtlamak için AWS WAF'ı kullanarak kaynaklara ağ erişimini güvenli bir şekilde yönetir.

Başlamak için bkz. Amazon Cognito kimlik doğrulamasını kullanarak OpenSearch Kontrol Panellerine VPC'nin dışından nasıl erişebilirim? özel VPC erişim modellerinde OpenSearch Hizmeti alanının daha ayrıntılı karşılaştırması için.


Yazarlar Hakkında

Mehdi İbrahimi Amazon Web Services'te Kıdemli Bulut Altyapı Mimarıdır. Dağıtılmış, yüksek kullanılabilirliğe sahip yazılım sistemleri tasarlama konusunda uzmandır. Mehdi, otomotiv endüstrisinde hızla gelişen ortamda müşterilerine yenilik yapma gücü veren son teknoloji çözümler sunmaya kendini adamıştır.

Dmytro Protsiv Amazon Web Services'te Bulut Uygulamaları Mimarıdır. Müşterilerin uygulama modernizasyonuyla ilgili iş zorluklarını çözmelerine yardımcı olma konusunda tutkulu.

Luca Menichetti Amazon Web Services'te Büyük Veri Mimarıdır. Müşterilerin verileri uygun ölçekte işlemek için performanslı ve yeniden kullanılabilir çözümler geliştirmelerine yardımcı oluyor. Luca, kuruluşun veri mimarisini yönetme, veri analitiğini ve makine öğrenimini etkinleştirme konusunda tutkuludur. On yıldır Hadoop ekosistemi üzerinde çalışmış olduğundan NoSQL ortamlarındaki sorunlarla uğraşmayı gerçekten seviyor.

Krithivasan Balasubramaniyan Amazon Web Services'in Baş Danışmanıdır. Küresel kurumsal müşterilerin dijital dönüşüm yolculuklarına olanak sağlıyor ve bulut yerel çözümlerinin tasarlanmasına yardımcı oluyor.

Muthu Pitchaimani Amazon OpenSearch Hizmetinde bir Arama Uzmanıdır. Büyük ölçekli arama uygulamaları ve çözümleri geliştiriyor. Muthu, ağ oluşturma ve güvenlik konularıyla ilgileniyor ve Austin, Teksas merkezli.

spot_img

En Son İstihbarat

spot_img