Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial: Konfigurasi kepercayaan lintas ranah dengan domain Direktori Aktif
Saat Anda menyiapkan kepercayaan lintas alam, Anda mengizinkan prinsipal (biasanya pengguna) dari ranah Kerberos yang berbeda untuk mengautentikasi komponen aplikasi di cluster. EMR Pusat distribusi kunci khusus cluster (KDC) membangun hubungan kepercayaan dengan yang lain KDC menggunakan prinsip lintas alam yang ada di keduanya. KDCs Nama utama dan kata sandi sangat cocok.
Kepercayaan lintas alam mensyaratkan bahwa mereka KDCs dapat menjangkau satu sama lain melalui jaringan dan menyelesaikan nama domain masing-masing. Langkah-langkah untuk membangun hubungan kepercayaan lintas ranah dengan pengontrol domain Microsoft AD yang berjalan sebagai EC2 instance disediakan di bawah ini, bersama dengan contoh pengaturan jaringan yang menyediakan konektivitas dan resolusi nama domain yang diperlukan. Setiap pengaturan jaringan yang memungkinkan lalu lintas jaringan yang KDCs diperlukan antara dapat diterima.
Secara opsional, setelah Anda membangun kepercayaan lintas ranah dengan Active Directory menggunakan klaster KDC on one, Anda dapat membuat klaster lain menggunakan konfigurasi keamanan yang berbeda untuk mereferensikan klaster pertama sebagai eksternal. KDC KDC Untuk konfigurasi keamanan dan pengaturan klaster contoh, lihat Cluster eksternal KDC dengan kepercayaan lintas ranah Direktori Aktif.
Untuk informasi selengkapnya tentang EMR dukungan Amazon untuk Kerberos danKDC, serta tautan ke Dokumentasi MIT Kerberos, lihat. Gunakan Kerberos untuk otentikasi dengan Amazon EMR
penting
Amazon EMR tidak mendukung kepercayaan lintas alam dengan. AWS Directory Service for Microsoft Active Directory
Langkah 1: Siapkan VPC dan subnet
Langkah 2: Peluncuran dan menginstal pengendali domain Direktori Aktif
Langkah 3: Tambahkan akun ke domain untuk EMR Cluster
Langkah 4: Konfigurasi kepercayaan masuk pada pengendali domain Direktori Aktif
Langkah 6: Luncurkan Cluster Kerberized EMR
Langkah 7: Buat HDFS pengguna dan atur izin di cluster untuk akun Active Directory
Langkah 1: Siapkan VPC dan subnet
Langkah-langkah berikut menunjukkan pembuatan subnet VPC dan sehingga cluster-dedicated KDC dapat mencapai pengontrol domain Active Directory dan menyelesaikan nama domainnya. Dalam langkah-langkah ini, resolusi nama domain disediakan dengan mereferensikan pengontrol domain Active Directory sebagai server nama domain dalam set opsi. DHCP Untuk informasi selengkapnya, lihat Langkah 5: Gunakan DHCP opsi yang ditetapkan untuk menentukan pengontrol domain Active Directory sebagai VPC DNS server.
Pengontrol domain KDC dan Active Directory harus dapat menyelesaikan nama domain satu sama lain. Ini memungkinkan Amazon EMR untuk bergabung dengan komputer ke domain dan secara otomatis mengonfigurasi akun dan SSH parameter Linux yang sesuai pada instance cluster.
Jika Amazon tidak EMR dapat menyelesaikan nama domain, Anda dapat mereferensikan kepercayaan menggunakan alamat IP pengontrol domain Active Directory. Namun, Anda harus menambahkan akun Linux secara manual, menambahkan prinsip yang sesuai ke cluster KDC yang didedikasikan, dan mengkonfigurasi. SSH
Untuk mengatur VPC dan subnet
-
Buat Amazon VPC dengan satu subnet publik. Untuk informasi selengkapnya, lihat Langkah 1: Membuat Panduan VPC Memulai Amazon VPC di Amazon.
penting
Bila Anda menggunakan pengontrol domain Microsoft Active Directory, pilih CIDR blok untuk EMR cluster sehingga semua IPv4 alamat kurang dari sembilan karakter panjangnya (misalnya, 10.0.0.0/16). Ini karena DNS nama-nama komputer cluster digunakan ketika komputer bergabung dengan direktori Active Directory. AWS menetapkan DNSnama host berdasarkan IPv4 alamat sedemikian rupa sehingga alamat IP yang lebih panjang dapat menghasilkan DNS nama yang lebih panjang dari 15 karakter. Direktori Aktif memiliki batas 15 karakter untuk mendaftar dan bergabung dengan nama komputer, dan memotong nama yang lebih panjang, yang dapat menyebabkan kesalahan tak terduga.
-
Hapus set DHCP opsi default yang ditetapkan keVPC. Untuk informasi selengkapnya, lihat Mengubah DHCP opsi VPC untuk menggunakan Tidak ada. Kemudian, Anda menambahkan yang baru yang menentukan kontroler domain Active Directory sebagai DNS server.
-
Konfirmasikan bahwa DNS dukungan diaktifkan untukVPC, yaitu, bahwa DNS Nama Host dan DNS Resolusi keduanya diaktifkan. Mereka diaktifkan secara default. Untuk informasi selengkapnya, lihat Memperbarui DNS dukungan untuk Anda VPC.
-
Konfirmasikan bahwa Anda VPC memiliki gateway internet yang terpasang, yang merupakan default. Untuk informasi selengkapnya, lihat Membuat dan melampirkan gateway internet.
catatan
Gateway internet digunakan dalam contoh ini karena Anda membuat pengontrol domain baru untukVPC. Gateway internet mungkin tidak diperlukan untuk aplikasi Anda. Satu-satunya persyaratan adalah bahwa cluster-dedicated KDC dapat mengakses pengontrol domain Active Directory.
-
Membuat tabel rute kustom, menambahkan rute yang menargetkan Gateway Internet, dan versi terbaru melampirkannya ke subnet Anda. Untuk informasi selengkapnya, lihat Buat tabel rute kustom.
-
Saat Anda meluncurkan EC2 instance untuk pengontrol domain, itu harus memiliki IPv4 alamat publik statis agar Anda dapat terhubung dengannyaRDP. Cara termudah untuk melakukan ini adalah dengan mengonfigurasi subnet Anda untuk menetapkan alamat publik secara otomatis. IPv4 Ini bukan pengaturan default ketika subnet dibuat. Untuk informasi selengkapnya, lihat Memodifikasi atribut IPv4 pengalamatan publik subnet Anda. Opsional, Anda dapat menetapkan alamat saat Anda meluncurkan instans tersebut. Untuk informasi selengkapnya, lihat Menetapkan IPv4 alamat publik selama peluncuran instance.
-
Setelah selesai, catat subnet VPC dan subnet IDs Anda. Anda menggunakannya nanti ketika Anda meluncurkan pengendali domain Direktori Aktif dan klaster.
Langkah 2: Peluncuran dan menginstal pengendali domain Direktori Aktif
-
Luncurkan EC2 instance berdasarkan Microsoft Windows Server 2016 BaseAMI. Kami merekomendasikan m4.xlarge atau tipe instans yang lebih baik. Untuk informasi selengkapnya, lihat Meluncurkan AWS Marketplace instance di Panduan EC2 Pengguna Amazon.
-
Catat ID Grup grup keamanan yang terkait dengan EC2 instance. Anda membutuhkannya untuk Langkah 6: Luncurkan Cluster Kerberized EMR. Kami menggunakan
sg-012xrlmdomain345
. Atau, Anda dapat menentukan grup keamanan yang berbeda untuk EMR cluster dan instance ini yang memungkinkan lalu lintas di antara mereka. Untuk informasi selengkapnya, lihat Grup EC2 keamanan Amazon untuk instans Linux di Panduan EC2 Pengguna Amazon. -
Connect ke EC2 instance menggunakanRDP. Untuk informasi selengkapnya, lihat Menyambungkan ke instans Windows Anda di Panduan EC2 Pengguna Amazon.
-
Mulai Pengelola Server untuk menginstal dan mengonfigurasi peran Layanan domain Direktori Aktif di server. Promosikan server ke pengendali domain dan tugaskan nama domain (contoh yang kita gunakan di sini adalah
). Catat nama domain karena Anda membutuhkannya nanti saat Anda membuat konfigurasi EMR keamanan dan cluster. Jika Anda baru dalam hal menyiapkan Direktori Aktif, Anda dapat mengikuti petunjuk di Cara mengatur Direktori Aktif (AD) di Windows Server 2016ad.domain.com
. Instans me-restart setelah Anda selesai.
Langkah 3: Tambahkan akun ke domain untuk EMR Cluster
RDPke pengontrol domain Active Directory untuk membuat akun di Pengguna Direktori Aktif dan Komputer untuk setiap pengguna cluster. Untuk selengkapnya, lihat Membuat Akun Pengguna di Pengguna Direktori Aktif dan Komputer
Selain itu, buat akun dengan hak istimewa yang cukup untuk bergabung dengan komputer ke domain. Anda menentukan akun ini ketika Anda membuat sebuah klaster. Amazon EMR menggunakannya untuk menggabungkan instance cluster ke domain. Anda menentukan akun ini dan kata sandinya di Langkah 6: Luncurkan Cluster Kerberized EMR. Untuk mendelegasikan hak istimewa bergabung komputer ke akun, kami sarankan Anda membuat grup dengan hak istimewa bergabung dan kemudian menetapkan pengguna ke grup. Untuk instruksi, lihat Mendelegasikan hak istimwwa bergabung direktori di AWS Directory Service Panduan Administrasi.
Langkah 4: Konfigurasi kepercayaan masuk pada pengendali domain Direktori Aktif
Contoh perintah di bawah ini menciptakan kepercayaan di Active Directory, yang merupakan kepercayaan ranah satu arah, masuk, non-transitif, dengan cluster-dedicated. KDC Contoh yang kita gunakan untuk ranah klaster adalah
. Ganti EC2.INTERNAL
KDC-FQDN
dengan DNS nama Publik yang terdaftar untuk node EMR utama Amazon yang menghosting fileKDC. Parameter passwordt
menentukan kata sandi utama lintas ranah, yang Anda tentukan bersama dengan ranah klaster saat Anda membuat klaster. Nama ranah berasal dari nama domain default di us-east-1
untuk klaster. Domain
adalah domain Direktori Aktif di mana Anda menciptakan kepercayaan, yang merupakan kasus yang lebih kecil oleh konvensi. Contoh menggunakan ad.domain.com
Buka prompt perintah Windows dengan hak istimewa administrator dan ketik perintah berikut untuk membuat hubungan kepercayaan pada pengendali domain Direktori Aktif:
C:\Users\Administrator> ksetup /addkdc
EC2.INTERNAL
KDC-FQDN
C:\Users\Administrator> netdom trustEC2.INTERNAL
/Domain:ad.domain.com
/add /realm /passwordt:MyVeryStrongPassword
C:\Users\Administrator> ksetup /SetEncTypeAttr EC2.INTERNAL AES256-CTS-HMAC-SHA1-96
Langkah 5: Gunakan DHCP opsi yang ditetapkan untuk menentukan pengontrol domain Active Directory sebagai VPC DNS server
Sekarang bahwa kontroler domain Active Directory dikonfigurasi, Anda harus mengkonfigurasi VPC untuk menggunakannya sebagai server nama domain untuk resolusi nama dalam AndaVPC. Untuk melakukan ini, lampirkan set DHCP opsi. Tentukan Nama domain sebagai nama domain klaster Anda - misalnya, ec2.internal
jika klaster Anda berada di us-east-1 atau
untuk wilayah lain. Untuk server nama Domain, Anda harus menentukan alamat IP pengontrol domain Active Directory (yang harus dapat dijangkau dari cluster) sebagai entri pertama, diikuti oleh AmazonProvidedDNS(misalnya, region
.compute.internalxx.xx.xx.xx
, AmazonProvided DNS). Untuk informasi selengkapnya, lihat Mengubah set DHCP opsi.
Langkah 6: Luncurkan Cluster Kerberized EMR
-
Di AmazonEMR, buat konfigurasi keamanan yang menentukan pengontrol domain Active Directory yang Anda buat di langkah sebelumnya. Perintah contoh ditunjukkan di bawah ini. Ganti domain,
, dengan nama domain yang Anda tentukan di Langkah 2: Peluncuran dan menginstal pengendali domain Direktori Aktif.ad.domain.com
aws emr create-security-configuration --name MyKerberosConfig \ --security-configuration '{ "AuthenticationConfiguration": { "KerberosConfiguration": { "Provider": "ClusterDedicatedKdc", "ClusterDedicatedKdcConfiguration": { "TicketLifetimeInHours":
24
, "CrossRealmTrustConfiguration": { "Realm": "AD.DOMAIN.COM
", "Domain": "ad.domain.com
", "AdminServer": "ad.domain.com
", "KdcServer": "ad.domain.com
" } } } } }' -
Buat klaster dengan atribut berikut:
-
Gunakan opsi
--security-configuration
untuk menentukan konfigurasi keamanan yang Anda buat. Kami gunakanMyKerberosConfig
dalam contoh. -
Gunakan properti
SubnetId
dari--ec2-attributes option
untuk menentukan subnet yang Anda buat di Langkah 1: Siapkan VPC dan subnet. Kami gunakanstep1-subnet
dalam contoh. -
Gunakan
AdditionalMasterSecurityGroups
danAdditionalSlaveSecurityGroups
--ec2-attributes
opsi untuk menentukan bahwa grup keamanan yang terkait dengan pengontrol domain AD dari Langkah 2: Peluncuran dan menginstal pengendali domain Direktori Aktif dikaitkan dengan simpul utama klaster serta node inti dan tugas. Kami gunakansg-012xrlmdomain345
dalam contoh.
Gunakan
--kerberos-attributes
untuk menentukan atribut Kerberos khusus klaster berikut:-
Ranah untuk klaster yang Anda tentukan ketika Anda mengatur pengendali domain Direktori Aktif.
-
Kata sandi utama kepercayaan lintas ranah yang Anda tentukan sebagai
passwordt
di Langkah 4: Konfigurasi kepercayaan masuk pada pengendali domain Direktori Aktif. -
A
KdcAdminPassword
, yang dapat Anda gunakan untuk mengelola cluster KDC yang didedikasikan. -
Nama logon dan kata sandi pengguna akun Direktori Aktif dengan hak istimewa gabungan komputer yang Anda buat di Langkah 3: Tambahkan akun ke domain untuk EMR Cluster.
Contoh berikut meluncurkan klaster Kerberized.
aws emr create-cluster --name "
MyKerberosCluster
" \ --release-label emr-5.10.0 \ --instance-typem5.xlarge
\ --instance-count3
\ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole
,KeyName=MyEC2KeyPair
,\ SubnetId=step1-subnet
, AdditionalMasterSecurityGroups=sg-012xrlmdomain345
, AdditionalSlaveSecurityGroups=sg-012xrlmdomain345
\ --service-role EMR_DefaultRole \ --security-configurationMyKerberosConfig
\ --applications Name=Hadoop
Name=Hive
Name=Oozie
Name=Hue
Name=HCatalog
Name=Spark
\ --kerberos-attributes Realm=EC2.INTERNAL
,\ KdcAdminPassword=MyClusterKDCAdminPwd
,\ ADDomainJoinUser=ADUserLogonName
,ADDomainJoinPassword=ADUserPassword
,\ CrossRealmTrustPrincipalPassword=MatchADTrustPwd
-
Langkah 7: Buat HDFS pengguna dan atur izin di cluster untuk akun Active Directory
Saat menyiapkan hubungan kepercayaan dengan Active Directory, Amazon EMR membuat pengguna Linux di cluster untuk setiap akun Active Directory. Misalnya, nama logon pengguna LiJuan
di Active Directory memiliki akun Linux. lijuan
Nama pengguna Direktori Aktif dapat berisi huruf besar, tetapi Linux tidak menerima casing Direktori Aktif.
Untuk memungkinkan pengguna Anda masuk ke cluster untuk menjalankan pekerjaan Hadoop, Anda harus menambahkan direktori HDFS pengguna untuk akun Linux mereka, dan memberikan setiap pengguna kepemilikan direktori mereka. Untuk melakukannya, kami merekomendasikan Anda menjalankan script yang disimpan ke Amazon S3 sebagai langkah klaster. Atau, Anda dapat menjalankan perintah dalam skrip di bawah ini dari baris perintah pada node utama. Gunakan EC2 key pair yang Anda tentukan saat Anda membuat cluster untuk terhubung ke node utama SSH sebagai pengguna Hadoop. Untuk informasi selengkapnya, lihat Menggunakan EC2 key pair untuk SSH kredensyal untuk Amazon EMR.
Jalankan perintah berikut untuk menambahkan langkah ke cluster yang menjalankan skrip,AddHDFSUsers.sh
.
aws emr add-steps --cluster-id
<j-2AL4XXXXXX5T9>
\ --steps Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,\ Jar=s3://region
.elasticmapreduce/libs/script-runner/script-runner.jar,Args=["s3://amzn-s3-demo-bucket
/AddHDFSUsers.sh"]
Isi file AddHDFSUsers.sh
adalah sebagai berikut.
#!/bin/bash # AddHDFSUsers.sh script # Initialize an array of user names from AD or Linux users and KDC principals created manually on the cluster ADUSERS=("lijuan" "marymajor" "richardroe" "myusername") # For each user listed, create an HDFS user directory # and change ownership to the user for username in ${ADUSERS[@]}; do hdfs dfs -mkdir /user/$username hdfs dfs -chown $username:$username /user/$username done
Grup Direktori Aktif dipetakan ke grup Hadoop
Amazon EMR menggunakan Daemon (SSD) Layanan Keamanan Sistem untuk memetakan grup Active Directory ke grup Hadoop. Untuk mengonfirmasi pemetaan grup, setelah Anda masuk ke node utama seperti yang dijelaskanMenggunakan SSH untuk terhubung ke cluster Kerberized dengan Amazon EMR, Anda dapat menggunakan hdfs
groups
perintah untuk mengonfirmasi bahwa grup Active Directory yang menjadi milik akun Active Directory Anda telah dipetakan ke grup Hadoop untuk pengguna Hadoop yang sesuai di cluster. Anda juga dapat memeriksa pemetaan grup pengguna lain dengan menentukan satu nama pengguna atau lebih dengan perintah, misalnya hdfs groups
. Untuk informasi selengkapnya, lihat gruplijuan