Setelah otorisasi HDFS diaktifkan, hanya pengguna dengan izin yang sesuai yang dapat mengakses Hadoop Distributed File System (HDFS) dan melakukan operasi seperti membaca data atau membuat direktori. Topik ini menjelaskan cara mengaktifkan otorisasi HDFS pada kluster EMR non-Kerberos.
Latar Belakang
HDFS menggunakan salah satu dari dua mode untuk menentukan identitas pengguna:
Mode Simple: Identitas pengguna ditentukan oleh sistem operasi klien yang terhubung ke HDFS. Pada sistem berbasis UNIX, hal ini setara dengan menjalankan perintah
whoami.Mode Kerberos: Identitas pengguna ditentukan oleh kredensial Kerberos klien. Aktifkan otentikasi Kerberos saat membuat kluster. Untuk informasi selengkapnya, lihat Ikhtisar.
Pada kluster yang diterapkan dalam mode Kerberos, izin HDFS dikonfigurasi secara otomatis dengan umask 027. Tidak diperlukan konfigurasi tambahan atau restart layanan.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Kluster EMR (mode non-Kerberos). Untuk informasi selengkapnya, lihat Buat kluster.
Aktifkan otorisasi HDFS
Buka tab Services.
Masuk ke Konsol EMR. Di panel navigasi kiri, klik EMR on ECS.
Di bilah navigasi atas, pilih wilayah tempat kluster Anda berada dan pilih kelompok sumber daya.
Pada halaman EMR on ECS, temukan kluster Anda lalu klik Services di kolom Actions.
Pada tab Services, temukan layanan HDFS lalu klik Configure.
Pada tab Configure, atur parameter berikut:
Parameter Deskripsi Default dfs.permissions.enabledMengaktifkan pemeriksaan izin. Atur ke trueuntuk membatasi akses HDFS hanya kepada pengguna yang berwenang.falsedfs.datanode.data.dir.permIzin pada direktori penyimpanan lokal untuk DataNode. — fs.permissions.umask-modeMask izin yang diterapkan saat membuat file dan direktori. — dfs.namenode.acls.enabledMengaktifkan daftar kontrol akses (ACL). Atur ke trueuntuk mengelola izin detail halus bagi pengguna individu, kelompok, dan pihak lain di luar model standar pemilik/kelompok/other. Saat Anda menjalankanhadoop fs -ls, tanda+di akhir string izin menunjukkan bahwa ACL diterapkan pada path tersebut.falsedfs.permissions.superusergroupNama kelompok superuser. Semua pengguna dalam kelompok ini memiliki hak istimewa superuser. hadoopSimpan konfigurasi.
Klik Save di bagian bawah halaman.
Pada kotak dialog, isi bidang Execution Reason lalu klik Save.
Restart layanan HDFS.
Di pojok kanan atas halaman layanan HDFS, pilih More > Restart.
Pada kotak dialog, isi bidang Execution Reason lalu klik OK.
Pada kotak dialog Confirm, klik OK.
Untuk memantau progres restart, klik Operation History di pojok kanan atas tab Services.
Contoh: atur dan verifikasi izin ACL
Setelah otorisasi HDFS diaktifkan, contoh berikut menunjukkan cara mengonfigurasi izin ACL untuk sebuah direktori dan memverifikasi hasilnya.
Masuk ke kluster melalui SSH. Untuk informasi selengkapnya, lihat Masuk ke kluster.
Beralih ke pengguna
emrtest:su emrtestBuat direktori:
hadoop fs -mkdir /tmp/emrtestLihat izin direktori:
hadoop fs -ls /tmpOutputnya mirip dengan:
drwxr-x--x - emrtest hadoop 0 2022-10-21 14:08 /tmp/emrtest drwxr-x--x - hadoop hadoop 0 2022-10-21 10:06 /tmp/hadoop-yarn drwx-wx-wx - hive hadoop 0 2022-10-21 10:13 /tmp/hive drwxr-x--x - hadoop hadoop 0 2022-10-21 10:23 /tmp/kyuubi-staging drwxrwxrwt - hadoop hadoop 0 2022-10-21 10:23 /tmp/logsBerikan izin baca, tulis, dan eksekusi (rwx) kepada pengguna
foopada direktori tersebut:hadoop fs -setfacl -m user:foo:rwx /tmp/emrtestVerifikasi bahwa ACL telah diterapkan:
hadoop fs -ls /tmp/Tanda
+setelah string izin mengonfirmasi bahwa ACL telah diatur pada/tmp/emrtest:drwxrwx--x+ - emrtest hadoop 0 2022-10-21 14:08 /tmp/emrtest drwxr-x--x - hadoop hadoop 0 2022-10-21 10:06 /tmp/hadoop-yarn drwx-wx-wx - hive hadoop 0 2022-10-21 10:13 /tmp/hive drwxr-x--x - hadoop hadoop 0 2022-10-21 10:23 /tmp/kyuubi-staging drwxrwxrwt - hadoop hadoop 0 2022-10-21 10:23 /tmp/logsLihat entri ACL lengkap:
hadoop fs -getfacl /tmp/emrtestOutputnya mirip dengan:
# file: /tmp/emrtest # owner: emrtest # group: hadoop user::rwx user:foo:rwx group::r-x mask::rwx other::--xGunakan
hadoop fs -getfacl [-R] <path>untuk melihat ACL danhadoop fs -setfacl [-R] [-b |-k -m |-x <acl_spec> <path>] |[--set <acl_spec> <path>]untuk mengubahnya.