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ütunlaremployees
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:
- Veri üreticisi AWS hesabında oturum açın (
123456789012
). - Klinik Yığını Başlat gerekli kaynakları oluşturmak amacıyla bir CloudFormation şablonunu dağıtmak için.
- İç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}
. - 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:
- Yerel makinenizde cd komutuyla istediğiniz dizine gidin; örneğin,
cd ~
. - Ç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:
- Veri üreticisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın (
123456789012
). - Gezinti bölmesinde şunu seçin: Veri gölü konumları altında Yönetim.
- Klinik Konumu kaydet.
- İçin Amazon S3 yolu, girmek
s3://<DataLakeS3BucketName>/company-database
. - İçin IAM rolü, girmek
LakeFormationCompanyDatabaseDataAccessRole
. - İçin izin moduseçin Göl Oluşumu.
- Klinik Konumu kaydet.
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:
- Veri üreticisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
- Gezinti bölmesinde şunu seçin: İzinler altındaki veri gölü izinleri.
- İzinleri şuna göre filtrele:
Database = company
vePrinciple=IAMAllowedPrinciples
. - Ana yöneticiye verilen tüm izinleri seçin
IAMAllowedPrincipals
Ve seç İptal Et.
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:
- Veri üreticisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
- Klinik Uygulama entegrasyon ayarları altında Yönetim Gezinti bölmesinde.
- seç Harici motorların Lake Formation'a kayıtlı Amazon S3 konumlarındaki verileri filtrelemesine izin ver.
- İçin Oturum etiketi değerleri, girmek
Amazon EMR
. - İçin AWS hesap kimlikleri, veri tüketicisi AWS hesap kimliğini girin (
111122223333
). - Klinik İndirim.
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:
- Veri üreticisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
- Gezinti bölmesinde şunu seçin: veritabanları.
- Veritabanını seçin
company
ve İşlemler menü, altında İzinler, seçmek Hibe. - içinde Ilkeler bölümünde, seçin Harici hesaplar ve veri tüketicisi AWS hesabını girin (
111122223333
). - içinde LF Etiketleri veya katalog kaynakları bölümü, seçim
company
için veritabanları. - 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.
- Klinik Hibe.
Veri tüketicisi hesabına tablo izinleri verme
Aşağıdaki adımları tamamlayın:
- Veri üreticisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
- Gezinti bölmesinde şunu seçin: tablolar.
- seçmek
products
ait olan tablocompany
veritabanında ve İşlemler menü, altında İzinler, seçmek Hibe. - içinde Ilkeler bölümünde, seçin Harici hesaplar ve veri tüketicisi AWS hesabını girin (
111122223333
). - 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:
- İçin veritabanları, seçmek
company
. - İçin tablolar, seçmek
products
veemployees
.
- İçin veritabanları, seçmek
- 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.
- içinde Veri izinleri bölümünde, seçin Tüm veri erişimi.
- Klinik Hibe.
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:
- Veri tüketicisi hesabında oturum açın (
111122223333
). - Klinik Yığını başlat gerekli kaynakları oluşturmak amacıyla bir CloudFormation şablonunu dağıtmak için.
- İçin Yayın Etiketi, yalnızca emr-6.11 veya üzeri olabilecek Amazon EMR sürüm etiketini girin.
- İçin Örnek Türü, EMR kümesi için r4.4xlarge gibi bulut sunucusu tipini seçin.
- İç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}
. - İç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ı.
- CloudFormation yığını oluşturulduktan sonra şuraya gidin: Çıkışlar yığının sekmesi.
- 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.
- AWS RAM erişimine sahip IAM kimliğiyle veri tüketicisi hesabının AWS RAM konsolunu açın.
- 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.
- 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:
- Veri tüketicisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın (
111122223333
). - Klinik Uygulama entegrasyon ayarları altında Yönetim Gezinti bölmesinde.
- seç Harici motorların Lake Formation'a kayıtlı Amazon S3 konumlarındaki verileri filtrelemesine izin ver.
- İçin Oturum etiketi değerleri, girmek
Amazon EMR
. - İçin AWS hesap kimlikleri, veri tüketicisi AWS hesap kimliğini girin (
111122223333
). - Klinik İndirim.
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:
- Veri tüketicisi hesabındaki Lake Formation veri gölü yöneticisi kullanıcısı ile Lake Formation konsolunu açın.
- Gezinti bölmesinde şunu seçin: veritabanları.
- 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. - içinde İlkeler bölümüseçin IAM kullanıcıları ve rolleri.
- İçin IAM kullanıcıları ve rolleri, seçmek
sales-runtime-role
vehuman-resource-runtime-role
. - İçin LF Etiketleri veya katalog kaynaklarıseçin Adlandırılmış veri kataloğu kaynakları ve için varsayılanı seçin veritabanları.
- içinde Veritabanı izinleri bölümü Veritabanı izinleri, seçmek Tanımlamak.
- Klinik Hibe.
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:
- Veri tüketicisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
- Gezinti bölmesinde şunu seçin: veritabanları.
- 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. - İçin Kaynak bağlantı adıkaynak bağlantısının adını girin (örneğin,
company-shared
). - İçin Paylaşılan veritabanının bölgesi, Bölgeyi seçin
company
veri tabanı. - İçin Paylaşılan veritabanı, şirket veritabanını seçin.
- İçin Paylaşılan veritabanının sahibi kimliği, veri üreticisi hesabının hesap kimliğini girin (
123456789012
). - Klinik oluşturmak.
Ç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:
- Veri tüketicisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
- Gezinti bölmesinde şunu seçin: veritabanları.
- Kaynak bağlantısını seçin (
company-shared
) ve İşlemler menü seç Hibe. - içinde Ilkeler bölümünde, seçin IAM kullanıcıları ve rolleri, ve Seç
sales-runtime-role
vehuman-resource-runtime-role
. - içinde LF Etiketleri veya katalog kaynakları bölümü veritabanları, seçmek
company-shared
. - 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.
- Klinik Hibe.
Ç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 yokproducts
tablo.Sales-runtime-role
sütunlarda seçme izinlerine sahip olmalıdıruid
,name
, vedepartment
içindeemployees
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:
- Veri tüketicisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
- Gezinti bölmesinde şunu seçin: veritabanları.
- Kaynak bağlantısını seçin (
company-shared
) ve İşlemler menü seç Hedeflenen Hibe. - içinde İlkeler bölümüseçin IAM kullanıcıları ve rolleri, Daha sonra seçmek
human-resource-runtime-role
. - 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:
- İçin veritabanları, seçmek
company
. - İçin tablolarSeç
employees
.
- İçin veritabanları, seçmek
- içinde Tablo izinleri bölümü Tablo izinleriseçin Tanımlamak ve seç.
- içinde Veri izinleri bölümünde, seçin Tüm veri erişimi.
- Klinik Hibe.
Çalışanlar tablosunda satış çalışma zamanı rolüne izin verme
Aşağıdaki adımları tamamlayın:
- Veri tüketicisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
- Gezinti bölmesinde şunu seçin: veritabanları.
- Kaynak bağlantısını seçin (
company-shared
) ve İşlemler menü seç Hedeflenen Hibe. - içinde İlkeler bölümüseçin IAM kullanıcıları ve rolleri, Daha sonra seçmek
sales-runtime-role
. - 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:
- İçin veritabanları, seçmek
company
. - İçin tablolar, seçmek
employees
.
- İçin veritabanları, seçmek
- içinde Tablo izinleri bölümü Tablo izinleriseçin seç.
- içinde Veri izinleri bölümünde, seçin Sütun tabanlı erişim.
- seç Sütunları dahil et ve seçiniz
uid
,name
, vedepartment
sütunlar. - Klinik Hibe.
Ürünler tablosunda satış çalışma zamanı rolüne izin verme
Aşağıdaki adımları tamamlayın:
- Veri tüketicisi hesabındaki Lake Formation veri gölü yöneticisiyle Lake Formation konsolunu açın.
- Gezinti bölmesinde şunu seçin: veritabanları.
- Kaynak bağlantısını seçin (
company-shared
) ve İşlemler menü seç Hedeflenen Hibe. - içinde İlkeler bölümüseçin IAM kullanıcıları ve rolleri, Daha sonra seçmek
sales-runtime-role
. - 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:
- İçin veritabanları, seçmek
company
. - İçin tablolar, seçmek
products
.
- İçin veritabanları, seçmek
- içinde Tablo izinleri bölümü Tablo izinleriseçin seç ve Tanımlamak.
- içinde Veri izinleri bölümünde, seçin Tüm veri erişimi.
- Klinik Hibe.
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:
- Klinik Çalışma Alanları gezinme bölmesinde seçin ve Çalışma Alanı Oluştur.
- Çalışma Alanı için bir ad ve açıklama girin.
- 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.
- Seç hesaplamak EMR Studio Çalışma Alanını bir bilgi işlem motoruyla eklemek için gezinme bölmesindeki simgesi.
- seç EC2'deki EMR kümesi için işlem türü.
- AWS CloudFormation ile oluşturduğunuz EMR kümesi kimliğini seçin.
- İçin Çalışma zamanı rolü, seçmek
sales-runtime-role
olarak oturum açmışsanızalice-role
. Seçinhuman-resource-runtime-role
olarak oturum açmışsanızbob-role
. - Klinik iliştirmek.
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:
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.
Bob, Lake Formation'daki veri erişim yapılandırmamıza göre, employees
masaya erişimi yok ama products
tablo.
Temizlemek
Bu çözümü denemeyi bitirdiğinizde, kaynaklarınızı temizleyin:
- Veri tüketicisi AWS hesabında oluşturulan EMR Studio Çalışma Alanlarını durdurun ve silin.
- S3 paketindeki tüm içeriği silin
EMRS3Bucket
veri tüketicisi AWS hesabında. - Veri tüketicisi AWS hesabındaki CloudFormation yığınını silin.
- S3 paketindeki tüm içeriği silin
DataLakeS3Bucket
veri üreticisi AWS hesabında. - 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.
- SEO Destekli İçerik ve Halkla İlişkiler Dağıtımı. Bugün Gücünüzü Artırın.
- PlatoData.Network Dikey Üretken Yapay Zeka. Kendine güç ver. Buradan Erişin.
- PlatoAiStream. Web3 Zekası. Bilgi Genişletildi. Buradan Erişin.
- PlatoESG. karbon, temiz teknoloji, Enerji, Çevre, Güneş, Atık Yönetimi. Buradan Erişin.
- PlatoSağlık. Biyoteknoloji ve Klinik Araştırmalar Zekası. Buradan Erişin.
- Kaynak: https://aws.amazon.com/blogs/big-data/use-iam-runtime-roles-with-amazon-emr-studio-workspaces-and-aws-lake-formation-for-cross-account-fine-grained-access-control/