Zephyrnet Logosu

Okta ile Amazon Redshift sorgu düzenleyicisi v2'ye birleşik tek oturum açma erişimi

Tarih:

Amazon Redshift sorgu düzenleyicisi v2 üzerinde sorgu yazmak ve çalıştırmak için kullanabileceğiniz web tabanlı bir SQL istemci uygulamasıdır. Amazon Kırmızıya Kaydırma Veri deposu. Sorgu sonuçlarını grafiklerle görselleştirebilir ve sorguları ekibinizin üyeleriyle paylaşarak işbirliği yapabilirsiniz. Veritabanları, şemalar, tablolar oluşturmak ve aşağıdakilerden veri yüklemek için v2 sorgu düzenleyicisini kullanabilirsiniz. Amazon Basit Depolama Hizmeti (Amazon S3) COPY komutunu kullanarak veya bir sihirbaz kullanarak. Amazon Redshift veri ambarınızda veya veri gölünüzde birden çok veritabanına göz atabilir ve sorgular çalıştırabilir ya da aşağıdakiler gibi operasyonel veritabanlarında birleşik sorgular çalıştırabilirsiniz. Amazon Aurora'sı. Amazon Redshift sorgu düzenleyicisi v2, tarayıcınızda yönetilen bir SQL düzenleyicisi olduğundan ve tek oturum açma (SSO) sağlayıcınızla entegre olduğundan, daha hızlı içgörü elde etmeniz için ilk sorguya giden adım sayısını azaltır.

Kimlik sağlayıcınızla (IdP) Amazon Redshift sorgu düzenleyicisi v2 entegrasyonu, kullanıcının tarayıcısını otomatik olarak Amazon Redshift konsolu yerine sorgu düzenleyicisi v2 konsoluna yönlendirir. Bu, kullanıcılarınızın veritabanı kullanıcılarını ve parolalarını yönetmeden birleşik kimlik bilgilerini kullanarak sorgu düzenleyici v2 aracılığıyla Amazon Redshift kümelerine kolayca erişmesini sağlar.

Bu gönderide, IdP olarak Okta'ya odaklanıyoruz ve Okta uygulamanızı nasıl kuracağınızı ve AWS Kimlik ve Erişim Yönetimi (IAM) izinleri. Ayrıca, kullanıcılarınızın herhangi bir yönetici işlevi gerçekleştirmelerine izin vermeden yalnızca sorgu düzenleyici v2'yi kullanmaları için erişimi nasıl sınırlayabileceğinizi de gösteriyoruz. AWS Yönetim Konsolu.

Çözüme genel bakış

Bu yayındaki üst düzey adımlar aşağıdaki gibidir:

  1. Mantıksal gruplar halinde düzenlenmiş kullanıcılarınızı ve AWS hesap federasyon uygulamasını içeren Okta'yı kurun.
  2. İki IAM rolü ayarlayın: Biri IdP'niz ile AWS arasında bir güven ilişkisi kuran ve Okta'nın Amazon Redshift'e erişmek için kullandığı ikinci bir rol.
  3. Okta gelişmiş yapılandırmasını tamamlayın:
    1. Yeni oluşturduğunuz rolleri girerek Okta yapılandırmasını sonlandırın.
    2. Başarılı SAML kimlik doğrulamasından sonra kullanıcıları Amazon Redshift sorgu düzenleyicisi v2'ye yönlendirmek için varsayılan bir geçiş durumu tanımlayın.
    3. SAML'yi yapılandırın AnaEtiketÖzelliği. Bu öğe, SAML onayında nitelikleri oturum etiketleri olarak iletmenize izin verir. Oturum etiketleri hakkında daha fazla bilgi için bkz. AWS STS'de oturum etiketlerini geçirme.
  4. Amazon Redshift veritabanı gruplarını ayarlayın:
    1. Okta gruplarıyla eşleşmesi için Amazon Redshift veritabanında gruplar oluşturun.
    2. Bu grupları belirli şemalara ve tablolara erişmeleri için yetkilendirin.
    3. Kurumsal kimlik bilgilerinizi kullanarak Amazon Redshift sorgu düzenleyicisi v2'ye erişin ve Amazon Redshift veritabanınızı sorgulayın.
  5. Okta hesabınızda oturum açın ve size atanan uygulamaya erişin. Uygulama, birleşik oturum açma özelliğini kullanarak sizi Amazon Redshift sorgu düzenleyicisi v2'ye yönlendirir.
  6. Amazon Redshift veritabanınıza erişin ve sorgulayın.

Önkoşullar

Bu gönderi, aşağıdaki ön koşullara sahip olduğunuzu varsayar:

Okta'yı kur

İlk olarak Okta uygulamasını kuruyoruz ve kullanıcılar ve gruplar oluşturuyoruz. Aşağıdaki adımları tamamlayın:

  1. URL'yi kullanarak Okta yönetici konsolunuzda oturum açın https://<prefix>-admin.okta.com/admin/dashboard, Burada hesabınıza özeldir ve hesap kurulumunda oluşturulmuştur.
  2. Yönetici konsolunda, seçin admin.
  3. Altında rehber gezinme bölmesinde öğesini seçin. İnsanlar.
  4. Kullanıcı eklemek için Kişi ekle.
    Aşağıdaki ekran görüntüsü oluşturduğumuz kullanıcıları göstermektedir.
  5. Okta'ya gruplar eklemek için Gruplar gezinme bölmesinde, ardından grubu ekle.
    Aşağıdaki ekran görüntüsü oluşturduğumuz iki grubu göstermektedir. Ekledik Jane için analyst_users ve Mike için bi_users.
  6. Altında Uygulamalar gezinme bölmesinde öğesini seçin. Uygulamalar Ve seç Uygulama Kataloğuna Göz Atın.
  7. Aramak AWS Hesap Federasyonu Ve seç Ekle.
  8. Uygulamayı ekledikten sonra, seçin AWS Hesap Federasyonu.
  9. Değerleri içinde bırakın genel Ayarlar varsayılan olarak ve seçin Sonraki.
  10. Altında Oturum Açma Seçenekleriseçin SAML2.0.
  11. Seçin Kimlik Sağlayıcı meta verileri meta veri dosyasını .xml formatında indirmek için bağlantı.

IAM rollerini yapılandırın

Ardından, IdP ile AWS arasında bir güven ilişkisi kuran bir IAM rolü kurarsınız. Ayrıca Okta'nın Amazon Redshift sorgu düzenleyicisi v2'ye erişmek için kullandığı bir IAM rolü oluşturursunuz.

  1. IAM konsolunda, altında Erişim yönetimi gezinme bölmesinde öğesini seçin. Kimlik sağlayıcılar.
  2. Klinik Sağlayıcı ekle.
  3. İçin sağlayıcı türü¸ seç SAML.
  4. İçin sağlayıcı adıisim girin.
  5. Klinik Dosya seçin ve indirdiğiniz meta veri dosyasını yükleyin.
  6. Klinik Sağlayıcı ekle.

    Şimdi IAM SAML 2.0 federasyon rolünü oluşturuyorsunuz.
  7. IAM konsolunda, Roller Gezinti bölmesinde.
  8. Klinik Rol oluştur.
  9. İçin Güvenilir varlık türüseçin SAML 2.0 federasyonu.
  10. İçin SAML 2.0 tabanlı sağlayıcı, önceki adımda oluşturduğunuz IDP'yi seçin.
  11. seç Programlı ve AWS Yönetim Konsolu erişimine izin ver.
  12. Klinik Sonraki ve sonra seç Politika Yarat.

Amazon Redshift sorgu düzenleyicisi v2, sorgu düzenleyiciye erişmek için birden çok yönetilen ilke sağlar. Yönetilen ilkelerin listesi için bkz. AWS hesabınızı yapılandırma. Yönetilen ilke, kullanıcılarınızın konsolda herhangi bir yönetici işlevi gerçekleştirmelerine izin vermeden yalnızca sorgu düzenleyicisi v2'yi kullanma erişimini sınırlamanıza olanak tanır. Bu gönderi için, AmazonRedshiftQueryEditorV2ReadSharing yönetilen ilke ve özel bir ilke oluşturun.

Aşağıdaki kodda, küme kimlik bilgilerini almak, kullanıcılar oluşturmak ve kullanıcıların gruplara katılmasına izin vermek için Amazon Redshift'e erişim vermek üzere Bölge, hesap ve küme parametrelerinizi sağlayın:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "RedshiftClusterPermissions",
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials",
                "redshift:CreateClusterUser",
                "redshift:JoinGroup"
            ],
            "Resource": [
                "arn:aws:redshift:<region>:<account>:cluster:<cluster>,
                "arn:aws:redshift:<region>:<account>:dbuser:<cluster>/${aws:PrincipalTag/RedshiftDbUser}",
                "arn:aws:redshift:<region>:<account>:dbgroup:<cluster>/analyst_users",
                "arn:aws:redshift:<region>:<account>:dbgroup:<cluster>/bi_users",
                "arn:aws:redshift:<region>:<account>:dbname:<cluster>/${redshift:DBName}"
            ]
        }
    ]
}

Grup üyeliği yalnızca kullanıcı oturumu süresince devam eder. Ek olarak, hiçbir CreateGroup çünkü grupların manuel olarak oluşturulması ve DB ayrıcalıklarının verilmesi gerekir.

  1. Oluşturduğunuz ilkeyi role ekleyin.
    Aşağıdaki ekran görüntüsü, rolün özet sayfasını gösterir.
  2. Rolünüz için güven ilişkilerini değiştirin ve ekleyin sts:TagSession izni.
    Oturum etiketlerini kullanırken, IdP geçiş etiketlerine bağlı tüm roller için güven ilkeleri şu özelliklere sahip olmalıdır: sts:Etiket Oturumu izin. Güven ilkesinde bu izne sahip olmayan roller için, AssumeRole işlem başarısız olur.
  3. Klinik Politikayı güncelle.

Okta gelişmiş yapılandırmasını ayarlayın

Bu bölümde, az önce oluşturduğunuz IAM rollerini ekleyerek Okta yapılandırmasını sonlandırıyorsunuz. SAML'yi kurdunuz PrincipalTag gibi özellikler RedshiftDbUser ve RedshiftDbGroupsAmazon Redshift sorgu düzenleyicisi v2'ye erişimi birleştirmek için SAML onayında geçirilen . Ayrıca, SAML aracılığıyla başarılı bir kimlik doğrulamasından sonra kullanıcıların yönlendirildiği URL olan varsayılan bir geçiş durumu da tanımlarsınız.

  1. Okta hesabınızda AWS Account Federation uygulamasını açın.
  2. Üzerinde Oturum aç sekmesi, ayarla Varsayılan Röle Durumu biçimini kullanarak sorgu düzenleyici URL'sine https://<region>.console.aws.amazon.com/sqlworkbench/home. Bu gönderi için kullandığımız https://eu-west-1.console.aws.amazon.com/sqlworkbench/home.
  3. Klinik Özellikler ve aşağıdaki öznitelik eşlemelerini ayarlayın:
    1. DB kullanıcısını kullanarak ayarlayın PrincipalTag:RedshiftDbUser. Bu, dizindeki kullanıcı adını kullanır. Bu gerekli bir etikettir ve v2 sorgu düzenleyicisi tarafından kullanılan veritabanı kullanıcısını tanımlar.
    2. DB gruplarını kullanarak ayarlayın PrincipalTag:RedshiftDbGroups. Bu, ana etiketleri doldurmak için Okta gruplarını kullanır. Değeri, iki nokta üst üste ayrılmış bir liste olmalıdır.
    3. kullanarak geçişli tuşları ayarlayın. TransitiveTagKeys. Bu, rol zincirleme durumunda kullanıcıların oturum etiketlerini değiştirmesini önler.

Bu etiketler şu adrese iletilir: redshift:GetClusterCredentials Kümeniz için kimlik bilgilerini almak için API. Aşağıdaki tablo bunların öznitelik yapılandırmasını özetlemektedir.

  1. Altında Gelişmiş Oturum Açma Ayarları¸ seç Grup Eşlemeyi Kullan.
  2. Global olarak benzersiz olan IdP ve IAM rol ARN'lerini girin ve Okta'nın AWS hesabınıza yönlendirildiğinden emin olun.
  3. İlgili grupları veya bireysel kullanıcı hesaplarını seçerek kullanıcılara AWS Account Federation uygulamasını kullanma yetkisi verin. Bu örnekte, kullanıcıları gruplara göre yetkilendirdik.

Amazon Redshift veritabanı gruplarını ayarlayın

Ardından, Amazon Redshift veritabanında Okta gruplarıyla eşleşmesi için grupları kurarsınız. Ayrıca bu gruplara belirli şemalara ve tablolara erişme yetkisi verirsiniz.

  1. Bir yönetici hesabıyla Amazon Redshift kümenizde oturum açın.
  2. IDP grup adlarıyla eşleşen gruplar oluşturun ve tablolara ve şemalara uygun izinleri verin:
CREATE GROUP analyst_users;
CREATE GROUP bi_users;

ALTER DEFAULT PRIVILEGES IN SCHEMA sales_analysis
GRANT SELECT on TABLES to GROUP analyst_users;
GRANT USAGE on SCHEMA sales_analysis to GROUP analyst_users;
GRANT SELECT on ALL TABLES in SCHEMA sales_analysis to GROUP analyst_users;

ALTER DEFAULT PRIVILEGES IN SCHEMA sales_bi
GRANT SELECT on TABLES to GROUP bi_users;
GRANT USAGE on SCHEMA sales_bi to GROUP bi_users;
GRANT SELECT on ALL TABLES in SCHEMA sales_bi to GROUP bi_users;

Okta'da kullanıcıyı siz yarattınız Jane ve atandı Jane için analyst_users grup.

Amazon Redshift veritabanında iki veritabanı grubu oluşturdunuz: analyst_users ve bi_users.

ne zaman kullanıcı Jane Amazon Redshift'te federe kimlik doğrulaması aracılığıyla v2 sorgu düzenleyicisini kullanarak oturum açar, kullanıcı zaten mevcut değilse oluşturulur ve analyst_users veritabanı grubu varsayılır. Kullanıcı Jane tabloları yalnızca sorgulayabilir sales_analysis şema.

Çünkü kullanıcı Jane parçası değil bi_users gruba erişmeye çalıştıklarında sales_bi şema, izin reddedildi hatası alırlar.

Aşağıdaki şema bu konfigürasyonu göstermektedir.

Amazon Redshift sorgu düzenleyicisi v2'ye erişin

Artık birleşik oturum açma özelliğini kullanarak Amazon Redshift sorgu düzenleyicisi v2'yi kullanarak Amazon Redshift kümenize bağlanmaya hazırsınız. Kullanıcı kimlik bilgilerinizle ve altında Okta hesabınıza giriş yapın. Benim uygulamalarımSeç Amazon Redshift Sorgu Düzenleyicisi V2.

Varsayılan geçiş durumu olarak belirttiğiniz Amazon Redshift sorgu düzenleyicisi v2 URL'sine yönlendirilirsiniz.

Bir Amazon Redshift veritabanına bağlanın ve sorguları çalıştırın

Şimdi Amazon Redshift kümenizle bağlantıyı kuralım.

  1. Sorgu düzenleyicide kümenizi seçin (sağ tıklayın) ve Bağlantı oluştur.
  2. İçin veritabanı, isim girin.
  3. İçin Doğrulamaseçin federe kullanıcı.
    Kullanıcı adı, birleşik oturum açma bilgilerinizle önceden doldurulur.
  4. Klinik Bağlantı oluştur.

Amazon Redshift veritabanınıza bağlandığınızda, aşağıdaki ekran görüntüsünde gösterildiği gibi bağlantı ayrıntılarını doğrulayabilirsiniz. Okta uygulama yapılandırmanızdaki grup atamasına göre oturum düzeyinde grup ilişkilendirmesine dikkat edin. Bu durumda, kullanıcı Jane'e atanır. analyst_users grup.

Bu kullanıcının, içindeki tüm tabloları SEÇME erişimi vardır. sales_analysis şema ve erişim yok sales_bi şema. Erişiminizi test etmek için aşağıdaki ifadeleri çalıştırabilirsiniz.

Aşağıdaki ekran görüntüsü, bir sorgudan sales_analysis.store_sales_us tablo.

ne zaman kullanıcı Jane içindeki tablolara erişmeye çalışır. sales_bi şema, izin reddedildi hatası alırlar.

Özet

Bu yayında, IdP'niz olarak Okta'yı kullanarak Amazon Redshift sorgu düzenleyicisi v2'ye SSO erişimini nasıl birleştireceğinizi gösterdik. Okta'nın nasıl kurulacağını gösterdik, farklı PrinicpalTag sorgu düzenleyicisi v2 için öznitelikler ve Okta IdP'nizde tanımlanan grup üyeliklerini Amazon Redshift kümenize iletin. Birleştirilmiş oturum açma özelliğini kullanarak Amazon Redshift sorgu düzenleyicisi v2'de nasıl oturum açılacağını ve birkaç sorgu çalıştırarak yapılandırmanın nasıl doğrulanacağını gösterdik. Bu çözüm, Amazon Redshift veritabanı nesnelerine erişimi denetlemenize olanak tanır ve kullanıcılarınız, veritabanı kullanıcılarını ve parolalarını yönetmeden birleşik kimlik bilgilerini kullanarak sorgu düzenleyicisi v2 aracılığıyla Amazon Redshift kümelerine kolayca erişebilir.

Herhangi bir geri bildiriminiz veya sorunuz varsa, lütfen bunları yorumlarda bırakın.


Yazarlar Hakkında

Sümeet Joshi New York merkezli bir Analitik Uzman Çözüm Mimarıdır. Büyük ölçekli veri ambarı çözümleri oluşturma konusunda uzmanlaşmıştır. Veri ambarı ve analitik alanda 16 yılı aşkın deneyime sahiptir.

Bhanu Pittampally Dallas merkezli bir Analitik Uzman Çözüm Mimarıdır. Analitik çözümler oluşturma konusunda uzmanlaşmıştır. Geçmişi 14 yılı aşkın bir süredir veri ve analitik alanındadır. LinkedIn profili bulunabilir okuyun.

Erol MürtezaoğluAWS'de Teknik Ürün Müdürü olan , kendini geliştirme ve öğrenme dürtüsüne sahip, meraklı ve hevesli bir düşünürdür. Yazılım geliştirme ve mimaride, ticari olarak başarılı ürünler sunma dürtüsüyle dengelenmiş, güçlü ve kanıtlanmış bir teknik geçmişe sahiptir. Erol, beklentileri aşan çözümler sunmak için müşteri ihtiyaçlarını ve sorunlarını anlama sürecine büyük değer verir.

Yanis Telaumaten AWS'de Yazılım Geliştirme Mühendisidir. Tutkuları, diğer mühendislerin daha verimli çalışmasına izin vermek için güvenilir yazılımlar oluşturmak ve araçlar oluşturmaktır. Geçmiş yıllarda Redshift servislerinin kimliği, güvenliği ve güvenilirliği üzerine çalıştı.

spot_img

En Son İstihbarat

spot_img

Bizimle sohbet

Merhaba! Size nasıl yardım edebilirim?