Zephyrnet Logosu

Hesaplar arası ayrıntılı erişim kontrolü için Amazon EMR Studio Workspaces ve AWS Lake Formation ile IAM çalışma zamanı rollerini kullanın | Amazon Web Hizmetleri

Tarih:

Amazon EMR Stüdyosu veri bilimcilerinin ve veri mühendislerinin R, Python, Scala ve PySpark'ta yazılmış veri mühendisliği ve veri bilimi uygulamalarını geliştirmesini, görselleştirmesini ve hatalarını ayıklamasını kolaylaştıran entegre bir geliştirme ortamıdır (IDE). EMR Studio, EMR Studio Çalışma Alanları aracılığıyla Spark UI ve YARN Timeline Server gibi tam olarak yönetilen Jupyter not defterleri ve araçları sağlar. Bir EMR kümesine bir EMR Studio Çalışma Alanı ekleyebilir, EMR kümesinin bilgi işlem gücünü kullanabilir ve küme üzerinde veri bilimi işlerini çalıştırabilirsiniz. Veriler genellikle yönetilen veri göllerinde depolanır. AWS Göl OluşumuBasit bir izin verme veya iptal etme mekanizması aracılığıyla ayrıntılı erişim denetimi uygulamanıza olanak tanır.

Tanıtmaktan mutluluk duyuyoruz çalışma zamanı rolleri EMR Studio Çalışma Alanları için. Artık bir çalışma zamanı rolü tanımlayabilir ve bir EMR Studio Çalışma Alanı eklerken bunu bir EMR kümesine atayabilirsiniz. EMR kümesindeki işler, AWS kaynaklarına erişmek için bu çalışma zamanı rolünü kullanacaktır. Bir çalışma zamanı rolünü yapılandırdıktan sonra Lake Formation'ı kullanabilir ve EMR Studio Çalışma Alanı tarafından gönderilen işler için ayrıntılı veri erişim kontrolü uygulayabilirsiniz.

Daha önce, EMR Studio Çalışma Alanlarını EMR kümelerine eklerken tüm Çalışma Alanlarının aynısını kullanması gerekiyordu. AWS Kimlik ve Erişim Yönetimi (IAM) rolü; yani kümenin Amazon Elastik Bilgi İşlem Bulutu (Amazon EC2) örnek profili. Bu nedenle, aynı EMR kümesine bağlı tüm Çalışma Alanları aynı veri erişimine sahipti. Veri kaynaklarına erişimi kontrol etmek için her EMR Studio Çalışma Alanının farklı bir EMR kümesi kullanması gerekiyordu ve birden fazla EMR örnek profiline ihtiyaç vardı.

Amazon EMR 6.11 sürümünden itibaren artık bir EMR Studio Workspace'i bir EMR kümesine eklerken bir çalışma zamanı rolü seçebilirsiniz. Bu çalışma zamanı rolü, Çalışma Alanı düzeyinde erişimin kapsamını daraltır. EMR Studio Çalışma Alanlarından çalıştırılan Apache Livy ve Apache Spark işleriniz, yalnızca çalışma zamanı rolüne eklenen politikaların izin verdiği verilere ve kaynaklara erişim iznine sahip olacaktır. Ayrıca Lake Formation ile yönetilen veri göllerinden verilere erişildiğinde Lake Formation izinlerini kullanarak ayrıntılı veri erişim kontrolünü zorunlu kılabilirsiniz. Bu, operasyonel ek yükü azaltmanıza yardımcı olur.

Bu gönderide, EMR Studio Çalışma Alanları için çalışma zamanı rollerinin nasıl yapılandırılacağını ve çalışma zamanı rollerine sahip bir EMR kümesine bir Çalışma Alanının nasıl ekleneceğini gösteriyoruz. Büyük kuruluşlar genellikle birden fazla AWS hesabı kullandığından ve bu hesapların çoğunun tek bir AWS hesabı tarafından yönetilen bir veri gölüne erişmesi gerekebileceğinden, örneğimizde iki AWS hesabı kullanılmaktadır. EMR Studio çalışma zamanı rollerine erişimin nasıl kontrol edileceğini, Lake Formation aracılığıyla bir veri gölündeki hesaplar arasındaki veri erişiminin nasıl yönetileceğini ve EMR çalışma zamanı rolleri için tablo düzeyinde ve sütun düzeyinde izinlerin nasıl uygulanacağını açıklıyoruz.

Çözüme genel bakış

Ayrıntılı erişim kontrolünü göstermek için bir örnek oluşturuyoruz AWS Tutkal Şirket adlı veritabanını yönetin ve Lake Formation'daki veritabanı iznini yönetin. Veritabanı iki ayrı tablodan oluşur:

  • çalışanların – Bu tablo, çalışan kimliği, adı, departmanı ve maaşı da dahil olmak üzere şirket çalışanları hakkındaki bilgileri saklar
  • Ürünler – Bu tablo, ürün kimliği, adı, kategorisi ve fiyatı dahil olmak üzere şirket tarafından satılan ürünlerle ilgili bilgileri saklar

Veri erişim kontrolünü göstermek için aşağıdaki veri kullanıcılarını dikkate alıyoruz:

  • Alice, satış ekibinde veri bilimcisi – Tüm sütunlara salt okunur erişime sahip olmalıdır. products uID, ad ve departman dahil olmak üzere tablo ve seçili sütunlar employees tablo
  • Bob, insan kaynakları ekibinde veri bilimcisi – Tüm sütunlara salt okunur erişime sahip olmalıdır. employees tabloya erişimi olmamalıdır. products tablo

Hesaplar arası veri paylaşımını göstermek için iki hesabı ele alıyoruz:

  • Veri üreticisi hesabı – Bu hesaba şu adı veriyoruz: 123456789012 bu yazıda. Bu hesap, içindeki ham verileri yönetir Amazon Basit Depolama Hizmeti (Amazon S3) ve veri gölüne veri yazar. company veritabanı ve tablolar bu hesapta olmalıdır.
  • Veri tüketici hesabı – Bu hesaba şu adı veriyoruz: 111122223333 bu yazıda. Bu hesaba kullanıcılar tarafından veri analizi amacıyla doğrudan erişilir ve verilere yazma erişimi yoktur. Bu hesaba Alice ve Bob tarafından erişilebilir olmalıdır.

Mimari şu şekilde uygulanır:

  • Veri üreticisi hesabı bir veri gölünü yönetir. Ham veriler S3 klasörlerinde depolanır ve AWS Glue Data Catalog'da kataloglanır.
  • Veri üreticisi hesabındaki Lake Formation, Veri Kataloğu üzerinden veri erişimini yönetir ve veri tüketicisi hesabıyla hesaplar arası veri paylaşımını sağlar.
  • Veri tüketicisi hesabındaki Lake Formasyonu, tablo düzeyinde veri gölüne hesaplar arası erişimi ve ayrıntılı Lake Formasyonu izinlerini yönetir. Daha fazla bilgi için bkz. Ayrıntılı erişim kontrolü yöntemleri.
  • Veri tüketicisi hesabındaki EMR Studio Çalışma Alanları, işleri bir EMR kümesinde çalıştırırken çalışma zamanı rollerini kullanır.
  • EMR kümesi, veri tüketicisi hesabındaki Glue Veri Kataloğu'na bağlanır ve hesaplar arası veri paylaşımı yoluyla veri gölündeki verileri sorgular.

Aşağıdaki şema bu mimariyi göstermektedir.

Aşağıdaki bölümlerde Lake Formation aracılığıyla hesaplar arasında veri paylaşma, çalışma zamanı rolleriyle bir EMR Studio Çalışma Alanı çalıştırma ve ayrıntılı erişim kontrolünü gösterme adımlarını inceleyeceğiz.

Önkoşullar

Aşağıdaki ön koşullara sahip olmalısınız:

Veri üreticisi hesabında altyapıyı oluşturun

Altyapı kaynaklarını oluşturmak için aşağıdaki adımları tamamlayın:

  1. Veri üreticisi AWS hesabında oturum açın (123456789012).
  2. Klinik Yığını Başlat gerekli kaynakları oluşturmak amacıyla bir CloudFormation şablonunu dağıtmak için.
  3. İçin DataLakeBucketSonekveri gölü tarafından kullanılan S3 paketinin son ekini girin. Oluşturulacak S3 kova adının tamamı şu şekilde olacaktır: {AwsAccoundId}-{AwsRegion}-{DataLakeBucketSuffix}.
  4. CloudFormation yığını oluşturulduktan sonra şuraya gidin: Çıkışlar yığının sekmesini açın ve değerini yakalayın DataLakeS3Bucket Bir sonraki adımda kullanmak için.

Veri dosyaları oluşturun ve bunları veri üreticisi hesabındaki Amazon S3'e yükleyin

AWS CLI'nizi, veri üreticisi AWS hesabındaki DataLakeS3BucketName'e yükleme izniyle IAM kimliğini kullanacak şekilde yapılandırın (123456789012) veya kullanarak CloudShell'de oturum açabilirsiniz. AWS Yönetim Konsolu. Aşağıdaki adımları tamamlayın:

  1. Yerel makinenizde cd komutuyla istediğiniz dizine gidin; örneğin, cd ~.
  2. Çalıştır senaryo ile chmod 744 create_sample_data.sh && ./create_sample_data.sh <DataLakeS3BucketName>.

Komut dosyası bir alt dizin oluşturacaktır tmp geçerli çalışma dizininizde, test verilerini CSV dosyalarında oluşturun ve dosyaları DataLakeS3BucketName S3 kova.

Veri üreticisi hesabında Lake Formation'ı kurma

Bu bölümde, veri üreticisi hesabında Lake Formation kurulum adımlarını inceliyoruz.

Lake Formation hesaplar arası veri paylaşımı sürüm ayarlarını ayarlama

Lake Formation birden fazla veri paylaşım sürümünü destekler. Bu yazı için sürüm 3'ü kullanıyoruz. Veri paylaşım sürümleri arasındaki farklar hakkında daha fazla bilgi edinmek için bkz. Hesaplar arası veri paylaşımı sürüm ayarları güncelleniyor. Veri paylaşım sürümünü değiştirmek için bkz. Yeni sürümü etkinleştirmek için.

Amazon S3 konumunu veri gölü konumu olarak kaydedin

Ne zaman Amazon S3 konumunu kaydetme Lake Formation ile o konumdaki okuma/yazma izinlerine sahip bir IAM rolü belirtirsiniz. Kaydolduktan sonra EMR kümeleri bu Amazon S3 konumuna erişim istediğinde Lake Formation, verilere erişim için sağlanan rolün geçici kimlik bilgilerini sağlayacaktır. Rolü zaten oluşturduk LakeFormationCompanyDatabaseDataAccessRole Bu amaçla önceki adımda. Amazon S3 konumunu data lake konumu olarak kaydetmek için aşağıdaki adımları tamamlayın:

  1. Veri üreticisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın (123456789012).
  2. Gezinti bölmesinde şunu seçin: Veri gölü konumları altında Yönetim.
  3. Klinik Konumu kaydet.
  4. İçin Amazon S3 yolu, girmek s3://<DataLakeS3BucketName>/company-database.
  5. İçin IAM rolü, girmek LakeFormationCompanyDatabaseDataAccessRole.
  6. İçin izin moduseçin Göl Oluşumu.
  7. Klinik Konumu kaydet.

Veri konumunu kaydedin

IAMAllowedPrincipals'a verilen izinleri iptal edin

The IAMAllowedPrincipals grup, IAM politikalarınıza göre Data Catalog kaynaklarınıza erişmesine izin verilen tüm IAM kullanıcılarını ve rollerini içerir. İle Göl Oluşumu modelini uygulamak, Bizim ihtiyacımız IAMAllowedPrincipals'ın iznini iptal et aşağıdaki adımları kullanarak:

  1. Veri üreticisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
  2. Gezinti bölmesinde şunu seçin: İzinler altındaki veri gölü izinleri.
  3. İzinleri şuna göre filtrele: Database = company ve Principle=IAMAllowedPrinciples.
  4. Ana yöneticiye verilen tüm izinleri seçin IAMAllowedPrincipals Ve seç İptal Et.

IAMAllowedPrincipals'a verilen izinleri iptal edin

Uygulama entegrasyonu ayarlarını yapın

EMR kümesine ilişkin izinleri zorunlu kılmak için Lake Formation'a bir oturum etiketi değeri kaydetmeniz gerekir. Lake Formation, arayanları yetkilendirmek ve veri gölüne erişim sağlamak için bu oturum etiketini kullanır. Kayıt oluyoruz Amazon EMR oturum etiketi değeri olarak. Bu değere başvurulacaktır. güvenlik yapılandırması EMR kümesini oluştururken.

Aşağıdaki adımları kullanarak oturum etiketini ayarlayın:

  1. Veri üreticisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
  2. Klinik Uygulama entegrasyon ayarları altında Yönetim Gezinti bölmesinde.
  3. seç Harici motorların Lake Formation'a kayıtlı Amazon S3 konumlarındaki verileri filtrelemesine izin ver.
  4. İçin Oturum etiketi değerleri, girmek Amazon EMR.
  5. İçin AWS hesap kimlikleri, veri tüketicisi AWS hesap kimliğini girin (111122223333).
  6. Klinik İndirim.

Veri üreticisi hesabında uygulama entegrasyonu ayarlarını yapın

Veritabanını ve tabloları veri tüketicisi hesabıyla paylaşın

Artık veri tüketicisi AWS hesabına, verilebilir izinler de dahil olmak üzere izinler veriyoruz. Bu, veri tüketicisi hesabındaki Lake Formation veri gölü yöneticisinin, hesap içindeki verilere erişimi denetlemesine olanak tanır.

Veri tüketicisi hesabına veritabanı izinleri verme

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

  1. Veri üreticisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
  2. Gezinti bölmesinde şunu seçin: veritabanları.
  3. Veritabanını seçin companyve İşlemler menü, altında İzinler, seçmek Hibe.
  4. içinde Ilkeler bölümünde, seçin Harici hesaplar ve veri tüketicisi AWS hesabını girin (111122223333).
  5. içinde LF Etiketleri veya katalog kaynakları bölümü, seçim company için veritabanları.
  6. içinde Veritabanı izinleri bölümünde, seçin Tanımlamak her ikisi için Veritabanı izinleri ve Verilebilir izinler.

Bu, veri tüketicisi hesabındaki veri gölü yöneticisinin veritabanını tanımlamasına ve veri tüketicisi hesabındaki diğer sorumlulara açıklama izinleri vermesine olanak tanır.

  1. Klinik Hibe.

Veri tüketicisi hesabına veritabanı izinleri verme

Veri tüketicisi hesabına tablo izinleri verme

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

  1. Veri üreticisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
  2. Gezinti bölmesinde şunu seçin: tablolar.
  3. seçmek products ait olan tablo company veritabanında ve İşlemler menü, altında İzinler, seçmek Hibe.
  4. içinde Ilkeler bölümünde, seçin Harici hesaplar ve veri tüketicisi AWS hesabını girin (111122223333).
  5. içinde LF Etiketleri veya katalog kaynakları bölümünde, seçin Adlandırılmış veri kataloğu kaynakları ve aşağıdakileri belirtin:
    1. İçin veritabanları, seçmek company.
    2. İçin tablolar, seçmek products ve employees.
  6. içinde Tablo izinleri bölümü, seçim seç ve Tanımlamak her ikisi için Tablo izinleri ve Verilebilir izinler.

Bu, veri tüketicisi hesabındaki veri gölü yöneticisinin tabloları seçmesine ve tanımlamasına ve veri tüketicisi hesabındaki diğer sorumlulara tablo seçme ve açıklama izinleri vermesine olanak tanır.

  1. içinde Veri izinleri bölümünde, seçin Tüm veri erişimi.
  2. Klinik Hibe.

Veri tüketicisi hesabına tablo izinleri verme
Artık veri üreticisi hesabının kurulumunu tamamladık.

Veri tüketicisi hesabında altyapıyı kurma

Altyapı kaynaklarını oluşturmak için aşağıdaki adımları tamamlayın:

  1. Veri tüketicisi hesabında oturum açın (111122223333).
  2. Klinik Yığını başlat gerekli kaynakları oluşturmak amacıyla bir CloudFormation şablonunu dağıtmak için.
    Yığını Başlat
  3. İçin Yayın Etiketi, yalnızca emr-6.11 veya üzeri olabilecek Amazon EMR sürüm etiketini girin.
  4. İçin Örnek Türü, EMR kümesi için r4.4xlarge gibi bulut sunucusu tipini seçin.
  5. İçin EMRS3BucketNameSonekEMR kümesi günlüklerini ve EMR not defteri dosyalarını depolamak için S3 paketi son ekini girin. Oluşturulacak tam S3 grubu adı şu şekilde olacaktır: {AWSAccoundId}-{AWSRegion}-{EMRS3BucketNameSuffix}.
  6. İçin S3PathToInTransitSertifikası, aktarım sırasında şifreleme için kullanılan .pem dosyalarını içeren .zip dosyasının S3 yolunu girin.

.pem dosyalarını içeren .zip dosyasını oluşturma ve bunları S3 klasörünüze yükleme talimatları için bkz. Aktarım halindeki verilerin Amazon EMR şifrelemesiyle şifrelenmesi için sertifikaların sağlanması.

  1. CloudFormation yığını oluşturulduktan sonra şuraya gidin: Çıkışlar yığının sekmesi.
  2. değerini yakala EMRStudioLink EMR Studio'da oturum açmak için kullanmak için.

Veri tüketicisi hesabındaki kaynak paylaşımını kabul edin

Paylaşılan kaynaklara erişmek için önce daveti kabul etmeniz gerekir.

  1. AWS RAM erişimine sahip IAM kimliğiyle veri tüketicisi hesabının AWS RAM konsolunu açın.
  2. Gezinti bölmesinde şunu seçin: Kaynak paylaşımları altında Benimle paylaştı.

Veri üreticisi hesabında bekleyen iki kaynak paylaşımı görmelisiniz.

  1. Her iki kaynak paylaşımını da kabul edin.

Görmelisin company veri tabanı, employees masa ve products Veri Kataloğu'ndaki tablo.

Veri tüketicisi hesabında Lake Formation'ı kurma

Bu bölümde, veri tüketicisi hesabında Lake Formation kurulumuna yönelik adımları inceliyoruz.

Uygulama entegrasyonu ayarlarını yapın

Veri üreticisi hesabındaki kuruluma benzer şekilde Amazon EMR'yi oturum etiketi olarak kaydetmeniz gerekir. Bu değere başvurulmaktadır. güvenlik yapılandırması CloudFormation yığınında EMR kümesini oluştururken.

Bunu yapmak için aşağıdaki adımları tamamlayın:

  1. Veri tüketicisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın (111122223333).
  2. Klinik Uygulama entegrasyon ayarları altında Yönetim Gezinti bölmesinde.
  3. seç Harici motorların Lake Formation'a kayıtlı Amazon S3 konumlarındaki verileri filtrelemesine izin ver.
  4. İçin Oturum etiketi değerleri, girmek Amazon EMR.
  5. İçin AWS hesap kimlikleri, veri tüketicisi AWS hesap kimliğini girin (111122223333).
  6. Klinik İndirim.

Veri tüketicisi hesabında uygulama entegrasyonu ayarlarını yapın

Varsayılan veritabanındaki çalışma zamanı rollerine açıklama izinleri verin

Lake Formation'da varsayılan bir veritabanınız yoksa veya varsayılan veritabanınızda zaten verilecek izinler varsa IAMAllowedPrinciples, bu adımı atlayabilirsiniz.

Amazon EMR varsayılan olarak varsayılan veritabanını kontrol edecektir. Lake Formation'ınızda zaten bir varsayılan veritabanınız varsa, aşağıdaki adımları tamamlayarak varsayılan veritabanındaki çalışma zamanı rollerine açıklama izni verin:

  1. Veri tüketicisi hesabındaki Lake Formation veri gölü yöneticisi kullanıcısı ile Lake Formation konsolunu açın.
  2. Gezinti bölmesinde şunu seçin: veritabanları.
  3. Varsayılan veritabanını seçin, sahip hesap kimliğinin veri tüketicisi hesabı olduğunu doğrulayın (111122223333) ve üzerinde İşlemler menü seç Hibe.
  4. içinde İlkeler bölümüseçin IAM kullanıcıları ve rolleri.
  5. İçin IAM kullanıcıları ve rolleri, seçmek sales-runtime-role ve human-resource-runtime-role.
  6. İçin LF Etiketleri veya katalog kaynaklarıseçin Adlandırılmış veri kataloğu kaynakları ve için varsayılanı seçin veritabanları.
  7. içinde Veritabanı izinleri bölümü Veritabanı izinleri, seçmek Tanımlamak.
  8. Klinik Hibe.

Varsayılan veritabanındaki çalışma zamanı rollerine açıklama izinleri verin

Paylaşılan veritabanı için bir kaynak bağlantısı oluşturun

Veri üreticisi AWS hesabı tarafından paylaşılan veritabanı ve tablo kaynaklarına erişmek için bir kaynak bağlantısı veri tüketicisi AWS hesabında. Kaynak bağlantısı, yerel veya paylaşılan bir veritabanına veya tabloya bağlantı olan bir Veri Kataloğu nesnesidir. Bir veritabanına veya tabloya kaynak bağlantısı oluşturduktan sonra, veritabanı veya tablo adını kullanacağınız her yerde kaynak bağlantısı adını kullanabilirsiniz. Bu adımda, çalışma zamanı rol ilkelerine yönelik kaynak bağlantılarına izin verirsiniz. Çalışma zamanı rolleri daha sonra paylaşılan veritabanlarındaki ve temel tablolardaki verilere kaynak bağlantısı aracılığıyla erişecektir.

Bir kaynak bağlantısı oluşturmak için aşağıdaki adımları tamamlayın:

  1. Veri tüketicisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
  2. Gezinti bölmesinde şunu seçin: veritabanları.
  3. seçmek company veritabanında, sahip hesap kimliğinin veri üreticisi hesabı olduğunu doğrulayın (123456789012) ve üzerinde İşlemler menü seç Kaynak bağlantıları oluşturun.
  4. İçin Kaynak bağlantı adıkaynak bağlantısının adını girin (örneğin, company-shared).
  5. İçin Paylaşılan veritabanının bölgesi, Bölgeyi seçin company veri tabanı.
  6. İçin Paylaşılan veritabanı, şirket veritabanını seçin.
  7. İçin Paylaşılan veritabanının sahibi kimliği, veri üreticisi hesabının hesap kimliğini girin (123456789012).
  8. Klinik oluşturmak.

Paylaşılan veritabanı için bir kaynak bağlantısı oluşturun

Çalışma zamanı rol ilkesine kaynak bağlantısına izin verme

Aşağıdaki adımları kullanarak satış-çalışma zamanı-rolü ve insan-kaynağı-çalışma zamanı-rolü kaynak bağlantısına ilişkin izinleri verin:

  1. Veri tüketicisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
  2. Gezinti bölmesinde şunu seçin: veritabanları.
  3. Kaynak bağlantısını seçin (company-shared) ve İşlemler menü seç Hibe.
  4. içinde Ilkeler bölümünde, seçin IAM kullanıcıları ve rolleri, ve Seç sales-runtime-role ve human-resource-runtime-role.
  5. içinde LF Etiketleri veya katalog kaynakları bölümü veritabanları, seçmek company-shared.
  6. içinde Kaynak bağlantı izinleri bölümünde, seçin Tanımlamak.

Bu, çalışma zamanı rollerinin kaynak bağlantısını tanımlamasına olanak tanır. Çalışma zamanı rollerinin diğer ilkelere izin verememesi gerektiğinden, verilebilir izinler için herhangi bir seçim yapmıyoruz.

  1. Klinik Hibe.

Çalışma zamanı rol ilkesine kaynak bağlantısına izin verme

Çalışma zamanı rol ilkesine tablolarda izin verme

Tablolarda izin vermeniz gerekir sales-runtime-role ve human-resource-runtime-role veri erişimine izin vermek için:

  • Human-resource-runtime-role içindeki tüm sütunlarda açıklama ve seçme izinlerine sahip olmalıdır. employees tablo ve üzerinde izin yok products tablo.
  • Sales-runtime-role sütunlarda seçme izinlerine sahip olmalıdır uid, name, ve department içinde employees tablodaki tüm sütunlardaki izinleri tanımlayın ve seçin. products tablo.

Çalışanlar tablosunda insan kaynağı-çalışma zamanı rolüne izin verin

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

  1. Veri tüketicisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
  2. Gezinti bölmesinde şunu seçin: veritabanları.
  3. Kaynak bağlantısını seçin (company-shared) ve İşlemler menü seç Hedeflenen Hibe.
  4. içinde İlkeler bölümüseçin IAM kullanıcıları ve rolleri, Daha sonra seçmek human-resource-runtime-role.
  5. içinde LF Etiketleri veya katalog kaynakları bölümünde, seçin Adlandırılmış veri kataloğu kaynakları ve aşağıdakileri belirtin:
    1. İçin veritabanları, seçmek company.
    2. İçin tablolarSeç employees.
  6. içinde Tablo izinleri bölümü Tablo izinleriseçin Tanımlamak ve seç.
  7. içinde Veri izinleri bölümünde, seçin Tüm veri erişimi.
  8. Klinik Hibe.

Çalışanlar tablosunda insan kaynağı-çalışma zamanı rolüne izin verin

Çalışanlar tablosunda satış çalışma zamanı rolüne izin verme

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

  1. Veri tüketicisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
  2. Gezinti bölmesinde şunu seçin: veritabanları.
  3. Kaynak bağlantısını seçin (company-shared) ve İşlemler menü seç Hedeflenen Hibe.
  4. içinde İlkeler bölümüseçin IAM kullanıcıları ve rolleri, Daha sonra seçmek sales-runtime-role.
  5. içinde LF Etiketleri veya katalog kaynakları bölümünde, seçin Adlandırılmış veri kataloğu kaynakları ve aşağıdakileri belirtin:
    1. İçin veritabanları, seçmek company.
    2. İçin tablolar, seçmek employees.
  6. içinde Tablo izinleri bölümü Tablo izinleriseçin seç.
  7. içinde Veri izinleri bölümünde, seçin Sütun tabanlı erişim.
  8. seç Sütunları dahil et ve seçiniz uid, name, ve department sütunlar.
  9. Klinik Hibe.

Çalışanlar tablosunda satış çalışma zamanı rolüne izin verme

Ürünler tablosunda satış çalışma zamanı rolüne izin verme

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

  1. Veri tüketicisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
  2. Gezinti bölmesinde şunu seçin: veritabanları.
  3. Kaynak bağlantısını seçin (company-shared) ve İşlemler menü seç Hedeflenen Hibe.
  4. içinde İlkeler bölümüseçin IAM kullanıcıları ve rolleri, Daha sonra seçmek sales-runtime-role.
  5. içinde LF Etiketleri veya katalog kaynakları bölümünde, seçin Adlandırılmış veri kataloğu kaynakları ve aşağıdakileri belirtin:
    1. İçin veritabanları, seçmek company.
    2. İçin tablolar, seçmek products.
  6. içinde Tablo izinleri bölümü Tablo izinleriseçin seç ve Tanımlamak.
  7. içinde Veri izinleri bölümünde, seçin Tüm veri erişimi.
  8. Klinik Hibe.

Ürünler tablosunda satış çalışma zamanı rolüne izin verme

EMR Studio'da oturum açın ve EMR Studio Çalışma Alanını kullanın

Rolünüzü değiştirin için alice-role or bob-role erişimi test etmek için konsolda farklı web tarayıcıları kullanın. Aç EMRStudioLink Her rolle EMR Studio'da oturum açmak için CloudFormation yığın çıktısındaki URL'yi kullanın ve ardından aşağıdaki adımları tamamlayın:

  1. Klinik Çalışma Alanları gezinme bölmesinde seçin ve Çalışma Alanı Oluştur.
  2. Çalışma Alanı için bir ad ve açıklama girin.
  3. Klinik Çalışma Alanı Oluştur.

Çalışma Alanı hazır olduğunda JupyterLab'ı içeren yeni bir sekme otomatik olarak açılacaktır. Gerekirse tarayıcınızda açılır pencereleri etkinleştirin.

  1. Seç hesaplamak EMR Studio Çalışma Alanını bir bilgi işlem motoruyla eklemek için gezinme bölmesindeki simgesi.
  2. seç EC2'deki EMR kümesi için işlem türü.
  3. AWS CloudFormation ile oluşturduğunuz EMR kümesi kimliğini seçin.
  4. İçin Çalışma zamanı rolü, seçmek sales-runtime-role olarak oturum açmışsanız alice-role. Seçin human-resource-runtime-role olarak oturum açmışsanız bob-role.
  5. Klinik iliştirmek.

EMR Studio Workspace'i kümeye ekleyin

EMR Studio Çalışma Alanında kodu çalıştırın ve veri erişimini doğrulayın

alice-role veya bob-role ile oturum açtıktan sonra aşağıdaki kodu EMR Studio Çalışma Alanında PySpark çekirdeğiyle çalıştırın:

%%sql -o result -n -1
select * from `company-shared`.products limit 5; %%sql -o result -n -1
select * from `company-shared`.employees limit 5;

Farklı roller kullanırken farklı sonuçlar görmelisiniz.

Lake Formation'daki veri erişim yapılandırmamıza göre Alice, aşağıdakiler için tam veri erişimine sahip olacak: products masa. Maaş dışındaki tüm sütunları görüntüleyebilir. employees tablo.

Alice (satış) sorgu sonucu

Bob, Lake Formation'daki veri erişim yapılandırmamıza göre, employees masaya erişimi yok ama products tablo.

Bob (insan kaynakları) sorgu sonucu

Temizlemek

Bu çözümü denemeyi bitirdiğinizde, kaynaklarınızı temizleyin:

  1. Veri tüketicisi AWS hesabında oluşturulan EMR Studio Çalışma Alanlarını durdurun ve silin.
  2. S3 paketindeki tüm içeriği silin EMRS3Bucket veri tüketicisi AWS hesabında.
  3. Veri tüketicisi AWS hesabındaki CloudFormation yığınını silin.
  4. S3 paketindeki tüm içeriği silin DataLakeS3Bucket veri üreticisi AWS hesabında.
  5. Veri üreticisi AWS hesabındaki CloudFormation yığınını silin.

Sonuç

Bu gönderi, Lake Formation ile hesaplar arası ayrıntılı veri erişim denetimi uygulamak için Amazon EMR ile bir EMR Studio Çalışma Alanına bağlanmak için çalışma zamanı rollerini nasıl kullanabileceğinizi gösterdi. Ayrıca birden fazla EMR Studio kullanıcısının aynı EMR kümesine nasıl bağlanabileceğini ve her birinin verilere bireysel erişim düzeyiyle eşleşen izinlerle kapsanan bir çalışma zamanı rolünü kullanarak nasıl bağlanabileceğini gösterdik.

EMR Studio Çalışma Alanlarını Göl Oluşumu ile kullanma hakkında daha fazla bilgi edinmek için bkz. Çalışma zamanı rolüyle bir EMR Studio Çalışma Alanı çalıştırın. Bu yeni işlevi denemenizi ve herhangi bir sorunuz veya geri bildiriminiz varsa bizimle bağlantı kurmanızı öneririz!


Yazarlar Hakkında

Ashley Zhou AWS'de Yazılım Geliştirme Mühendisidir. Veri analitiği ve dağıtık sistemlerle ilgileniyor.

Srividya Parthasarathy AWS Lake Formation ekibinde Kıdemli Büyük Veri Mimarıdır. AWS'de analitik ve veri ağı çözümleri oluşturmaktan ve bunları toplulukla paylaşmaktan keyif alıyor.

spot_img

En Son İstihbarat

spot_img