Zephyrnet Logosu

Amazon Redshift Query Editor v2 ve üçüncü taraf SQL istemcileri kullanılarak Okta ile Amazon Redshift Serverless ile çoklu oturum açma

Tarih:

Amazon Redshift Sunucusuz veri ambarı kümeleri kurmaya ve yönetmeye gerek kalmadan analitiği saniyeler içinde çalıştırmayı ve ölçeklendirmeyi kolaylaştırır. Redshift Serverless ile veri analistleri, geliştiriciler, işletme uzmanları ve veri bilimcileri gibi kullanıcılar veri ambarına veri yükleyip sorgulayarak verilerden içgörüler elde edebilir.

Müşteriler, verilerini Redshift Serverless'ta analiz etmek için tercih ettikleri SQL istemcilerini kullanır. Redshift Serverless'a bağlanmak için bir kimlik sağlayıcı (IdP) veya çoklu oturum açma (SSO) kimlik bilgilerini kullanarak mevcut kimlik bilgilerini yeniden kullanmak ve ek kullanıcı kurulumu ve yapılandırmasından kaçınmak istiyorlar. kullandığınızda AWS Kimlik ve Erişim Yönetimi (IAM) veya sunucusuz bir veri ambarına bağlanmak için IdP tabanlı kimlik bilgileri, Amazon Kırmızıya Kaydırma son kullanıcı için otomatik olarak bir veritabanı kullanıcısı oluşturur. Rol tabanlı erişim denetimi kullanarak kullanıcı ayrıcalıklarının yönetimini basitleştirebilirsiniz. Yöneticiler, kullanıcıların veritabanı ayrıcalıklarını otomatik olarak almaları için atanan IAM rolleriyle TOA için bir veritabanı rolü eşlemesi kullanabilir. Bu entegrasyonla kuruluşlar, kullanıcı yönetimini basitleştirebilir çünkü artık kullanıcı oluşturmaları ve bunları manuel olarak veritabanı rollerine eşlemeleri gerekmez. Eşlenen veritabanı rollerini, IdP grupları veya IAM rolü için bir ana etiket olarak tanımlayabilirsiniz, böylece Amazon Redshift veritabanı rolleri ve bu IdP gruplarının üyesi olan kullanıcılar, veritabanı rollerine otomatik olarak atanır.

Bu gönderide, IdP olarak Okta'ya odaklanıyoruz ve Redshift Serverless'ı Amazon Redshift Query Editor V2 kullanarak Okta ile ve SQL Workbench/J gibi SQL istemcileriyle entegre etmek için adım adım rehberlik sağlıyoruz. Bu mekanizmayı, Azure Active Directory veya Ping gibi diğer IdP sağlayıcıları ile Amazon'un JDBC/ODBC/Python sürücüsünü kullanan herhangi bir uygulama veya araçla birlikte kullanabilirsiniz.

Çözüme genel bakış

Aşağıdaki diyagram, birleştirilmiş IAM rolleri ve otomatik veritabanı rolü eşleme kullanarak Okta'nın Redshift Sunucusuz kimlik doğrulama akışını göstermektedir.

İş akışı aşağıdaki adımları içerir:

  1. Kullanıcı, tarayıcısında bir IdP uygulaması seçer veya SQL istemcisi, IdP'ye (Okta) bir kullanıcı kimlik doğrulama isteği başlatır.
  2. Başarılı bir kimlik doğrulamanın ardından Okta, PrincipalTag'leri içeren bir SAML onayıyla AWS federasyon uç noktasına bir istek gönderir.
  3. AWS federasyon uç noktası, SAML onayını doğrular ve AWS Security Token Hizmeti (AWS STS) API AssumeRoleWithSAML. SAML onayı, sırasıyla RedshiftDbUser ve RedshiftDbRoles ana etiketlerinde depolanan IdP kullanıcı ve grup bilgilerini içerir. Geçici IAM kimlik bilgileri, SQL istemcisine döndürülür veya Sorgu Düzenleyici v2 kullanılıyorsa, kullanıcının tarayıcısı, geçici IAM kimlik bilgileri kullanılarak Sorgu Düzenleyici v2 konsoluna yönlendirilir.
  4. Geçici IAM kimlik bilgileri, Redshift Serverless GetCredentials API'sini çağırmak için SQL istemcisi veya Query Editor v2 tarafından kullanılır. API, kullanıcıyı ve kullanıcının ait olduğu veritabanı rollerini belirlemek için asıl etiketleri kullanır. İlişkili bir veritabanı kullanıcısı, kullanıcı ilk kez oturum açıyorsa oluşturulur ve eşleşen veritabanı rollerine otomatik olarak atanır. SQL istemcisine geçici bir parola döndürülür.
  5. SQL istemcisi veya Query Editor v2, veritabanı kullanıcısını ve geçici parolayı kullanarak Redshift Serverless'a bağlanır. Oturum açıldıktan sonra kullanıcı, 4. Adımda atanan Amazon Redshift veritabanı rollerine göre yetkilendirilir.

Çözümü kurmak için aşağıdaki adımları tamamlıyoruz:

  1. Okta uygulamanızı kurun:
    • Okta kullanıcıları oluşturun.
    • Gruplar oluşturun ve grupları kullanıcılara atayın.
    • Okta SAML uygulamasını oluşturun.
    • Okta bilgilerini toplayın.
  2. AWS yapılandırmasını kurun:
    • IAM IdP'yi oluşturun.
    • IAM rolünü ve politikasını oluşturun.
  3. Redshift Sunucusuz rol tabanlı erişimi yapılandırın.
  4. Query Editor V2'yi kullanarak Redshift Serverless'a birleştirin.
  5. SQL istemcisini yapılandırın (bu gönderi için SQL Workbench/J kullanıyoruz).
  6. İsteğe bağlı olarak, MFA'yı SQL Client ve Query Editor V2 ile uygulayın.

Önkoşullar

Bu çözümü kurmak için aşağıdaki önkoşullara ihtiyacınız vardır:

Okta uygulamasını kurun

Bu bölümde, Okta uygulamanızı yapılandırmak için gereken adımları sunuyoruz.

Okta kullanıcıları oluşturun

Okta kullanıcılarınızı oluşturmak için aşağıdaki adımları tamamlayın:

  1. Yönetici ayrıcalıklarına sahip bir kullanıcı olarak Okta organizasyonunuzda oturum açın.
  2. Yönetici konsolunda, altında rehber gezinme bölmesinde öğesini seçin. İnsanlar.
  3. Klinik Kişi ekle.
  4. İçin İsim, kullanıcının adını girin.
  5. İçin Soyisim, kullanıcının soyadını girin.
  6. İçin Kullanıcı Adı, kullanıcının kullanıcı adını e-posta biçiminde girin.
  7. seç şifre koyacağım ve bir şifre girin.
  8. İsteğe bağlı olarak seçimi kaldırın Kullanıcı ilk girişte şifreyi değiştirmelidir Kullanıcının ilk oturum açtığında parolasını değiştirmesini istemiyorsanız. Seçin İndirim.

Gruplar oluşturun ve kullanıcılara gruplar atayın

Gruplarınızı oluşturmak ve bunları kullanıcılara atamak için aşağıdaki adımları tamamlayın:

  1. Yönetici ayrıcalıklarına sahip bir kullanıcı olarak Okta organizasyonunuzda oturum açın.
  2. Yönetici konsolunda, altında rehber gezinme bölmesinde öğesini seçin. Gruplar.
  3. Klinik grubu ekle.
  4. Bir grup adı girin ve seçin İndirim.
  5. Son oluşturulan grubu seçin ve ardından Kişi ata.
  6. Artı işaretini seçin ve ardından seçin tamam.
  7. Daha fazla grup eklemek için Adım 1-6'yı tekrarlayın.

Bu gönderide iki grup oluşturuyoruz: satış ve finans.

Bir Okta SAML uygulaması oluşturun

Okta SAML uygulamanızı oluşturmak için aşağıdaki adımları tamamlayın:

  1. Yönetici ayrıcalıklarına sahip bir kullanıcı olarak Okta organizasyonunuzda oturum açın.
  2. Yönetici konsolunda, altında Uygulamalar gezinme bölmesinde öğesini seçin. Uygulamalar.
  3. Klinik Uygulama Entegrasyonu Oluşturun.
  4. seç SAML2.0 oturum açma yöntemi olarak seçin ve Sonraki.
  5. Uygulama entegrasyonunuz için bir ad girin (örneğin, redshift_app) ve Seç Sonraki.
  6. Uygulamada aşağıdaki değerleri girin ve gerisini olduğu gibi bırakın:
  7. Klinik Sonraki.
  8. Klinik Dahili bir uygulama ekleyen bir Okta müşterisiyim ardından Bu, oluşturduğumuz dahili bir uygulamadır..
  9. Klinik Bitiş.
  10. Klinik Ödevler ve sonra seç Atamak.
  11. Klinik Gruplara ata ve sonra seçin Atamak Eklemek istediğiniz grupların yanındaki
  12. Klinik tamam.

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

Özel SAML uygulamasını oluşturduktan sonra aşağıdaki adımları tamamlayın:

  1. Yönetici konsolunda şuraya gidin: genel Ve seç Düzenle altında SAML ayarları.
  2. Klinik Sonraki.
  3. set Varsayılan Röle Durumu biçimini kullanarak Sorgu Düzenleyicisi V2 URL'sine https://<region>.console.aws.amazon.com/sqlworkbench/home. Bu gönderi için kullandığımız https://us-west-2.console.aws.amazon.com/sqlworkbench/home.
  4. Altında Öznitelik Tabloları (isteğe bağlı), aşağıdaki özellikleri ekleyin:
    • Rol özelliğini kullanarak IAM rolünü ve IdP'yi virgülle ayrılmış biçimde sağlayın. AWS yapılandırmasını kurarken daha sonraki bir adımda aynı IAM rolünü ve IdP'yi oluşturacaksınız.
    • set user.login için RoleSessionName. Bu, rol üstlenildiğinde verilen geçici kimlik bilgileri için bir tanımlayıcı olarak kullanılır.
    • Kullanarak DB rollerini ayarlayın PrincipalTag:RedshiftDbRoles. Bu, ana etiketleri doldurmak ve bunları Amazon Redshift veritabanı rolleriyle otomatik olarak eşlemek için Okta gruplarını kullanır. Değeri, role1:role2 biçiminde iki nokta üst üste ayrılmış bir liste olmalıdır.
    • set user.login için PrincipalTag:RedshiftDbUser. Bu, dizindeki kullanıcı adını kullanır. Bu gerekli bir etikettir ve Query Editor V2 tarafından kullanılan veritabanı kullanıcısını tanımlar.
    • kullanarak geçişli tuşları ayarlayın. TransitiveTagKeys. Bu, rol zincirleme durumunda kullanıcıların oturum etiketlerini değiştirmesini önler.

Önceki etiketler şuraya iletilir: GetCredentials Redshift Sunucusuz bulut sunucunuz için geçici kimlik bilgileri almak ve Amazon Redshift veritabanı rolleriyle otomatik olarak eşlemek için API. Aşağıdaki tablo, öznitelik ifadelerinin yapılandırmasını özetlemektedir.

Name İsim Formatı oluşturulan Örnek E-posta
https://aws.amazon.com/SAML/Attributes/Role Belirtilmemiş arn:aws:iam::<yourAWSAccountID>:role/role-name,arn:aws:iam:: <yourAWSAccountID>:saml-provider/provider-name arn:aws:iam::112034567890:role/oktarole,arn:aws:iam::112034567890:saml-provider/oktaidp
https://aws.amazon.com/SAML/Attributes/RoleSessionName Belirtilmemiş user.login user.login
https://aws.amazon.com/SAML/Attributes/PrincipalTag:RedshiftDbRoles Belirtilmemiş String.join(":", isMemberOfGroupName("group1") ? 'group1' : '', isMemberOfGroupName("group2") ? 'group2' : '') String.join(":", isMemberOfGroupName("sales") ? 'sales' : '', isMemberOfGroupName("finance") ? 'finance' : '')
https://aws.amazon.com/SAML/Attributes/PrincipalTag:RedshiftDbUser Belirtilmemiş user.login user.login
https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys Belirtilmemiş Arrays.flatten("RedshiftDbUser", "RedshiftDbRoles") Arrays.flatten("RedshiftDbUser", "RedshiftDbRoles")
  1. Öznitelik taleplerini ekledikten sonra, Sonraki ardından Finish.

Nitelikleriniz, aşağıdaki ekran görüntüsünde gösterilene benzer biçimde olmalıdır.

Okta bilgilerini topla

Okta bilgilerinizi toplamak için aşağıdaki adımları tamamlayın:

  1. Üzerinde Oturum aç sekmesini seçin SAML kurulum talimatlarını görüntüleyin.
  2. İçin Kimlik Sağlayıcı Çoklu Oturum Açma URL'si, SQL Workbench/J gibi herhangi bir üçüncü taraf SQL istemcisine bağlanırken bu URL'yi kullanın.
  3. 4. blokta IdP meta verilerini kullanın ve meta veri dosyasını .xml biçiminde kaydedin (örneğin, metadata.xml).

AWS yapılandırmasını kurun

Bu bölümde, IAM kaynaklarınızı yapılandırma adımlarını sunuyoruz.

IAM IdP'yi oluşturun

IAM IdP'nizi oluşturmak için aşağıdaki adımları tamamlayın:

  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 daha önce indirdiğiniz meta veri dosyasını (.xml) yükleyin.
  6. Klinik Sağlayıcı ekle.

IAM Amazon Redshift erişim politikasını oluşturun

IAM politikanızı oluşturmak için aşağıdaki adımları tamamlayın:

  1. IAM konsolunda, Politikaları.
  2. Klinik Politika oluştur.
  3. Üzerinde Politika oluştur sayfasını seçin JSON sekmesi.
  4. Politika için JSON'u aşağıdaki biçimde girin:
    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "redshift-serverless:GetCredentials", "Resource": "<Workgroup ARN>" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "redshift-serverless:ListWorkgroups", "Resource": "*" } ]
    }

Çalışma grubu ARN'si, Redshift Sunucusuz çalışma grubu yapılandırma sayfasında mevcuttur.

Aşağıdaki örnek ilke yalnızca tek bir Redshift Sunucusuz çalışma grubunu içerir; ilkeyi, Kaynak bölümünde birden fazla çalışma grubu içerecek şekilde değiştirebilirsiniz:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "redshift-serverless:GetCredentials", "Resource": "arn:aws:redshift-serverless:us-west-2:123456789012:workgroup/4a4f12vc-123b-2d99-fd34-a12345a1e87f" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "redshift-serverless:ListWorkgroups", "Resource": "*" } ]
}

  1. Klinik Sonraki: Etiketler.
  2. Klinik Sonraki: İnceleme.
  3. içinde İnceleme politikası bölümü Name, poliçenizin adını girin; örneğin, OktaRedshiftPolicy.
  4. İçin Açıklama, isteğe bağlı olarak politikanın ne yaptığına dair kısa bir açıklama girebilirsiniz.
  5. Klinik Politika oluştur.

IAM rolü oluşturma

IAM rolünüzü oluşturmak için aşağıdaki adımları tamamlayın:

  1. IAM konsolunda, Roller Gezinti bölmesinde.
  2. Klinik Rol oluştur.
  3. İçin Güvenilir varlık türüseçin SAML 2.0 federasyonu.
  4. İçin SAML 2.0 tabanlı sağlayıcı, daha önce oluşturduğunuz IdP'yi seçin.
  5. seç Programlı ve AWS Yönetim Konsolu erişimine izin ver.
  6. Klinik Sonraki.
  7. Daha önce oluşturduğunuz politikayı seçin.
  8. Ayrıca, politikayı ekleyin AmazonRedshiftQueryEditorV2ReadSharing.
  9. Klinik Sonraki.
  10. içinde Değerlendirme bölümü Rol Name, rolünüzün adını girin; Örneğin, oktarole.
  11. İçin Açıklama, isteğe bağlı olarak rolün ne yaptığına dair kısa bir açıklama girebilirsiniz.
  12. Klinik Rol oluştur.
  13. Az önce oluşturduğunuz role gidin ve seçin Güven İlişkileri.
  14. Klinik Güven politikasını düzenle Ve seç TagSession altında STS için eylemler ekleyin.

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.

  1. Klinik Politikayı güncelle.

Aşağıdaki ekran görüntüsü rol izinlerini gösterir.

Aşağıdaki ekran görüntüsü güven ilişkilerini göstermektedir.

Gelişmiş Okta Rolü Özniteliğini güncelleyin

Aşağıdaki adımları tamamlayın:

  1. geri dön okta.com.
  2. Daha önce oluşturduğunuz uygulamaya gidin.
  3. Şu yöne rotayı ayarla genel ve tıklayın Düzenle SAML ayarları altında.
  4. Altında özellik İfadeler (isteğe bağlı), özellik için değeri güncelleyin – https://aws.amazon.com/SAML/Attributes/Role, yukarıdaki adımdaki gerçek rol ve kimlik sağlayıcı arn değerlerini kullanarak. Örneğin, arn:aws:iam::123456789012:role/oktarole,arn:aws:iam::123456789012:saml-provider/oktaidp.

Redshift Sunucusuz rol tabanlı erişimi yapılandırma

Bu adımda Okta'da oluşturduğunuz gruplara göre Amazon Redshift'te veritabanı rolleri oluşturuyoruz. Rol adının Okta Grup adıyla eşleştiğinden emin olun.

Amazon Redshift rolleri, son kullanıcılarınız için gereken ayrıcalıkları yönetmeyi basitleştirir. Bu gönderide, satış ve finans olmak üzere iki veritabanı rolü oluşturuyoruz ve onlara sırasıyla satış ve finans verilerini içeren sorgu tablolarına erişim izni veriyoruz. Yapabilirsiniz bu örnek SQL Not Defterini indirin ve Redshift Query Editor v2'ye içe aktarma Bu örnekte kullanılan not defterindeki tüm hücreleri çalıştırmak için. Alternatif olarak, SQL'i kopyalayıp SQL istemcinize girebilirsiniz.

Redshift Serverless'ta bir rol oluşturmak için kullanılan sözdizimi aşağıdadır:

create role <IdP groupname>;

Örneğin:

create role sales;
create role finance;

Satış ve finans veritabanı şemasını oluşturun:

create schema sales_schema;
create schema finance_schema;

Tabloları oluşturun:

CREATE TABLE IF NOT EXISTS finance_schema.revenue
(
account INTEGER   ENCODE az64
,customer VARCHAR(20)   ENCODE lzo
,salesamt NUMERIC(18,0)   ENCODE az64
)
DISTSTYLE AUTO
; insert into finance_schema.revenue values (10001, 'ABC Company', 12000);
insert into finance_schema.revenue values (10002, 'Tech Logistics', 175400);
insert into finance_schema.revenue values (10003, 'XYZ Industry', 24355);
insert into finance_schema.revenue values (10004, 'The tax experts', 186577); CREATE TABLE IF NOT EXISTS sales_schema.store_sales
(
ID INTEGER   ENCODE az64,
Product varchar(20),
Sales_Amount INTEGER   ENCODE az64
)
DISTSTYLE AUTO
; Insert into sales_schema.store_sales values (1,'product1',1000);
Insert into sales_schema.store_sales values (2,'product2',2000);
Insert into sales_schema.store_sales values (3,'product3',3000);
Insert into sales_schema.store_sales values (4,'product4',4000);

Redshift Sunucusuz rolüne izin vermek için kullanılan sözdizimi aşağıdadır:

GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | REFERENCES } [,...]| ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } TO role <IdP groupname>;

Gereksinimlerinize göre role ilgili izni verin. Aşağıdaki örnekte, satış rolüne tam izin veriyoruz. sales_schema ve yalnızca üzerinde izin seçin finance_schema finans rolüne:

grant usage on schema sales_schema to role sales;
grant select on all tables in schema sales_schema to role sales; grant usage on schema finance_schema to role finance;
grant select on all tables in schema finance_schema to role finance;

Query Editor V2'yi kullanarak Redshift Sunucusuz'a Federasyon yapın

The RedshiftDbRoles ana etiket ve DBGroups her ikisi de bir IdP ile entegrasyon için kullanılabilecek mekanizmalardır. Bununla birlikte, federasyon ile RedshiftDbRoles IdP grupları ile Amazon Redshift veritabanı rolleri arasında otomatik eşleme sağladığından, bir IdP ile bağlantı söz konusu olduğunda, müdür'ün bazı belirgin avantajları vardır. Etraflı, RedshiftDbRoles daha esnek, yönetimi daha kolay ve daha güvenli olduğundan Amazon Redshift'i IdP'nizle entegre etmek için daha iyi bir seçenek haline getirir.

Artık Redshift Serverless'a Query Editor V2 ve birleştirilmiş oturum açmayı kullanarak bağlanmaya hazırsınız:

  1. Daha önce topladığınız SSO URL'sini kullanın ve kullanıcı kimlik bilgilerinizle Okta hesabınıza giriş yapın. Bu demo için Ethan kullanıcısı ile oturum açıyoruz.
  2. Sorgu Düzenleyici v2'de, Redshift Sunucusuz örneğinizi seçin (sağ tıklayın) ve Bağlantı oluşturun.
  3. İçin Doğrulamaseçin federe kullanıcı.
  4. İçin veritabanı, bağlanmak istediğiniz veritabanı adını girin.
  5. Klinik Bağlantı Oluştur.

Kullanıcı Ethan erişebilecek sales_schema tablolar. Ethan içindeki tablolara erişmeye çalışırsa finance_schema, izin reddedildi hatası alır.

SQL istemcisini yapılandırın (SQL Workbench/J)

SQL Workbench/J'yi kurmak için aşağıdaki adımları tamamlayın:

  1. SQL Workbench/J'de yeni bir bağlantı oluşturun ve sürücü olarak Redshift Serverless'ı seçin.
  2. Klinik Sürücüleri yönet ve indirilen AWS JDBC sürücü paketi .zip dosyasındaki tüm dosyaları ekleyin (.zip dosyasını açmayı unutmayın).
  3. İçin Kullanıcı Adı ve Şifre, Okta'da belirlediğiniz değerleri girin.
  4. için değerleri yakalayın app_id, app_name, ve idp_host adresinde bulunan Okta uygulaması gömme bağlantısından genel uygulamanızın sekmesi.
  5. Aşağıdaki genişletilmiş özellikleri ayarlayın:
    • İçin uygulama_kimliği, uygulama yerleştirme bağlantısından değeri girin (örneğin, 0oa8p1o1RptSabT9abd0/avc8k7abc32lL4izh3b8).
    • İçin uygulama ismi, uygulama yerleştirme bağlantısından değeri girin (örneğin, dev-123456_redshift_app_2).
    • İçin idp_host, uygulama yerleştirme bağlantısından değeri girin (örneğin, dev-123456.okta.com).
    • İçin eklenti_adı, girmek com.amazon.redshift.plugin.OktaCredentialsProvider. Aşağıdaki ekran görüntüsü, SQL Workbench/J genişletilmiş özelliklerini gösterir.
      1. Klinik OK.
      2. Klinik test bağlantıyı test etmek için SQL Workbench/J'den.
      3. Bağlantı başarılı olduğunda, seçin OK.
      4. Klinik OK Oluşturulan kullanıcılarla oturum açmak için.

Kullanıcı Ethan şuraya erişebilecek: sales_schema tablolar. Ethan tablodaki tablolara erişmeye çalışırsa finance_schema, izin reddedildi hatası alır.

Tebrikler! Kullanarak Redshift Serverless ve Okta ile SQL Workbench/J ile federasyon yaptınız. RedshiftDbRoles.

[İsteğe bağlı] MFA'yı SQL Client ve Query Editor V2 ile uygulayın

Çok faktörlü kimlik doğrulamanın doğası, oturum açmayı başlatma (birinci faktör) ile oturum açmayı tamamlama (ikinci faktör) arasındaki zaman uyumsuz bir süreç olduğundan, MFA'yı uygulamak ek bir zorluk teşkil eder. SAML yanıtı, her senaryoda uygun dinleyiciye döndürülür; QEV2 durumunda SQL İstemcisi veya AWS konsolu. Kullanıcılarınıza hangi giriş seçeneklerini sunacağınıza bağlı olarak, ek bir Okta uygulamasına ihtiyacınız olabilir. Farklı senaryolar için aşağıya bakın:

  1. YALNIZCA QEV2 kullanıyorsanız ve başka bir SQL istemcisi kullanmıyorsanız, MFA'yı yukarıdaki uygulamayla Sorgu Düzenleyicisi V2 ile kullanabilirsiniz. Yukarıda oluşturduğumuz özel SAML uygulamasında herhangi bir değişiklik yapılmasına gerek yoktur.
  2. QEV2 kullanmıyorsanız ve yalnızca üçüncü taraf SQL istemcisi (SQL Workbench/J vb.) kullanıyorsanız, yukarıdaki özel SAML uygulamasını aşağıda belirtildiği gibi değiştirmeniz gerekir.
  3. QEV2'yi ve üçüncü taraf SQL İstemcisini MFA ile kullanmak istiyorsanız aşağıda belirtildiği gibi ek bir özel SAML uygulaması oluşturmanız gerekir.

MFA için ön koşullar

Her kimlik sağlayıcının (IdP), kullanıcılarınız için MFA'yı etkinleştirmeye ve yönetmeye yönelik adımları vardır. Okta söz konusu olduğunda, Okta Verify uygulamasını kullanarak ve bir kimlik doğrulama ilkesi tanımlayarak MFA'nın nasıl etkinleştirileceğine ilişkin aşağıdaki kılavuzlara bakın.

Bir SQL İstemcisi için MFA'yı destekleyen SAML uygulamasını oluşturma/güncelleme adımları

  1. İkinci bir uygulama oluşturuyorsanız, bölüm 1'de (Okta SAML uygulaması oluşturma) açıklanan tüm adımları izleyin.
  2. Özel SAML uygulamasını açın ve seçin genel.
  3. seç Düzenle altında SAML ayarları
  4. Tıkla Sonraki in genel Ayarlar
  5. Altında genel, güncelle Tek oturum açma URL'si için http://localhost:7890/redshift/
  6. seç Sonraki ardından Finish.

Yukarıdaki değişiklikleri yaptıktan sonra MFA Uygulamasından alınan ekran görüntüsü aşağıdadır:

MFA için SQL İstemcisini Yapılandırma

SQL Workbench/J'yi kurmak için aşağıdaki adımları tamamlayın:

  1. (SQL istemcisini yapılandırma (SQL Workbench/J)) altında açıklanan tüm adımları izleyin.
  2. Genişletilmiş özellikleri güncelleyerek bağlantınızı değiştirin:
    • giriş_url'si – Okta bilgilerinin toplanması bölümünde gösterildiği gibi Tek Oturum Açma URL'sini alın. (Örneğin, https://dev-123456.okta.com/app/dev-123456_redshiftapp_2/abc8p6o5psS6xUhBJ517/sso/saml)
    • eklenti_adı – com.amazon.redshift.plugin.BrowserSamlCredentialsProvider
  3. Klinik OK
  4. Klinik OK SQL Workbench/J'den. Okta kimlik bilgilerinizle oturum açmak için tarayıcıya yönlendirilirsiniz.
  5. Bundan sonra, MFA istemi alacaksınız. İkisinden birini seçin Bir kod girin or Anında iletme bildirimi alın.
  6. Kimlik doğrulama başarılı olduğunda, bağlantıyı başarılı olarak gösteren bir sayfaya yönlendirilmek için oturum açın.
  7. Bu bağlantı profiliyle, birleşik kullanıcı adını döndürmek için aşağıdaki sorguyu çalıştırın.

Sorun giderme

Bağlantınız çalışmadıysa aşağıdakileri göz önünde bulundurun:

  • Sürücüde oturum açmayı etkinleştirin. Talimatlar için bkz. Günlüğe kaydetmeyi yapılandır.
  • En son kullandığınızdan emin olun Amazon Redshift JDBC sürücüsü sürümü.
  • Uygulamayı Okta'da ayarlarken hata alıyorsanız, yönetici erişiminiz olduğundan emin olun.
  • SQL istemcisi aracılığıyla kimlik doğrulaması yapabiliyorsanız ancak bir izin sorunu alıyorsanız veya nesneleri göremiyorsanız, bu gönderide daha önce ayrıntılı olarak açıklandığı gibi role ilgili izni verin.

Temizlemek

Çözümü test etmeyi bitirdiğinizde, ileride ücret alınmasını önlemek için kaynakları temizleyin:

  1. Hem çalışma grubunu hem de ad alanını silerek Redshift Serverless örneğini silin.
  2. IAM rollerini, IAM IdP'lerini ve IAM politikalarını silin.

Sonuç

Bu gönderide, birleşik IAM rolleri ve otomatik veritabanı rolü eşleme yardımıyla Amazon Redshift Query Editor V2 ve SQL Workbench/J kullanarak Redshift Serverless'ı Okta ile entegre etmek için adım adım talimatlar sağladık. Benzer bir kurulumu başka herhangi bir SQL istemcisi (DBeaver veya DataGrip gibi) veya iş zekası aracı (Tableau Desktop gibi) ile kullanabilirsiniz. Rol tabanlı kimlik doğrulamayı sorunsuz bir şekilde kullanmak için Okta grup üyeliğinin Redshift Sunucusuz rollerle otomatik olarak nasıl eşlendiğini de gösterdik.

Veritabanı rollerini kullanan Redshift Sunucusuz çoklu oturum açma hakkında daha fazla bilgi için bkz. Amazon Redshift Serverless'ta birleştirilmiş kullanıcılara verilecek veritabanı rollerini tanımlama.


Yazarlar Hakkında

Maneesh Sharma AWS'de büyük ölçekli veri ambarı ve analitik çözümleri tasarlama ve uygulama konusunda on yılı aşkın deneyime sahip Kıdemli Veritabanı Mühendisidir. Daha iyi entegrasyon sağlamak için çeşitli Amazon Redshift İş Ortakları ve müşterileriyle işbirliği yapıyor.

Debu-Pandaİlk Panda AWS'de Ürün Yönetimi Kıdemli Yöneticisidir. Analitik, uygulama platformu ve veritabanı teknolojilerinde sektör lideridir ve BT dünyasında 25 yılı aşkın deneyime sahiptir.

Muhammed ŞabanMuhammed Şaban Amazon Redshift'te Kıdemli Yazılım Mühendisidir ve Berlin, Almanya'da yerleşiktir. Yazılım mühendisliğinde 12 yıldan fazla deneyime sahiptir. Bulut hizmetleri ve müşterileri memnun eden çözümler oluşturma konusunda tutkulu. İş dışında eşsiz anları keşfetmeyi ve yakalamayı seven amatör bir fotoğrafçıdır.

Rajiv Gupta Irvine, CA merkezli Analitik Uzmanı Çözüm Mimarlarının Kıdemli Yöneticisidir. Veri ambarı ve iş zekası çözümleri oluşturan ekipler oluşturma ve yönetme konusunda 20 yılı aşkın deneyime sahiptir.

Amol Mhatre Amazon Redshift'te bir Veritabanı Mühendisidir ve Müşteri ve İş Ortağı sözleşmeleri üzerinde çalışır. Amazon'dan önce, Veritabanı ve ERP uygulamalarını içeren birçok projede çalışmıştır.

Ning di Amazon Redshift'te teknolojinin tüm yönlerini keşfetmeye yönelik gerçek bir tutkuyla çalışan bir Yazılım Geliştirme Mühendisidir.

Harsha Kesapragada Amazon Redshift için ölçeklenebilir ve güvenli sistemler oluşturma tutkusu olan bir Yazılım Geliştirme Mühendisidir. Son birkaç yıldır Redshift Datasharing, Security ve Redshift Serverless üzerinde çalışmaktadır.

spot_img

En Son İstihbarat

spot_img

Bizimle sohbet

Merhaba! Size nasıl yardım edebilirim?