Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggabungkan instans Amazon EC2 Linux secara manual ke Direktori Aktif Microsoft AD AWS Terkelola
Selain Amazon EC2 Windows Misalnya, Anda juga dapat menggabungkan instans Amazon EC2 Linux tertentu ke AWS Microsoft AD Terkelola Active Directory. Distribusi dan versi instance Linux berikut didukung:
-
Amazon Linux AMI 2018.03.0
-
Amazon Linux 2 (64-bit x86)
-
Amazon Linux 2023 AMI
-
Perusahaan Topi Merah Linux 8 (HVM) (64-bit x86)
-
Server Ubuntu 18.04 LTS & Server Ubuntu 16.04 LTS
-
CentOS 7 x86-64
-
SUSELinux Server Perusahaan 15 SP1
Distribusi dan versi Linux lainnya mungkin bekerja namun belum diuji.
Bergabunglah dengan instans Linux ke Microsoft AD yang AWS Dikelola
Sebelum Anda dapat menggabungkan instans Amazon Linux, CentOS, Red Hat, atau Ubuntu ke direktori Anda, instans harus terlebih dahulu diluncurkan sebagaimana ditentukan dalam Bergabunglah dengan instans Linux Anda dengan mulus.
Beberapa prosedur berikut, jika tidak dilakukan dengan benar, dapat membuat instans anda tidak terjangkau atau tidak dapat digunakan. Oleh karena itu, kami sangat menyarankan Anda membuat backup atau mengambil snapshot dari instans Anda sebelum melakukan prosedur ini.
Untuk bergabung dengan instance Linux ke direktori Anda
Ikuti langkah-langkah untuk instans Linux tertentu Anda menggunakan salah satu tab berikut:
- Amazon Linux
-
-
Connect ke instance menggunakan SSH klien apa pun.
-
Konfigurasikan instance Linux untuk menggunakan alamat IP DNS server dari DNS server AWS Directory Service yang disediakan. Anda dapat melakukan ini dengan mengaturnya di set DHCP Opsi yang dilampirkan ke VPC atau dengan mengaturnya secara manual pada instance. Jika Anda ingin mengaturnya secara manual, lihat Bagaimana cara menetapkan DNS server statis ke EC2 instance Amazon pribadi di Pusat AWS
Pengetahuan untuk panduan tentang pengaturan DNS server persisten untuk distribusi dan versi Linux tertentu Anda.
-
Pastikan instans Amazon Linux - 64bit Anda adalah yang terbaru.
sudo yum -y update
-
Instal paket Amazon Linux yang diperlukan pada instans Linux Anda.
Beberapa paket ini mungkin sudah diinstal.
Ketika Anda menginstal paket, Anda mungkin akan disajikan dengan beberapa layar konfigurasi pop-up. Anda biasanya dapat membiarkan bidang di layar ini kosong.
- Amazon Linux
-
sudo yum install samba-common-tools realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation
-
Menggabungkan instans ke direktori dengan perintah berikut.
sudo realm join -U join_account@EXAMPLE.COM
example.com
--verbose
...
* Successfully enrolled machine in realm
-
Atur SSH layanan untuk mengizinkan otentikasi kata sandi.
-
Buka file /etc/ssh/sshd_config
di editor teks.
sudo vi /etc/ssh/sshd_config
-
Atur pengaturan PasswordAuthentication
ke yes
.
PasswordAuthentication yes
-
Mulai ulang layanan SSH.
sudo systemctl restart sshd.service
Atau:
sudo service sshd restart
-
Setelah instance dimulai ulang, sambungkan dengan SSH klien mana pun dan tambahkan grup Administrator AWS Delegasi ke daftar sudoers dengan melakukan langkah-langkah berikut:
-
Buka file sudoers
dengan perintah berikut:
sudo visudo
-
Tambahkan hal berikut ini ke bagian bawah file sudoers
dan simpan.
## Add the "AWS Delegated Administrators" group from the example.com
domain.
%AWS\ Delegated\ Administrators@example.com
ALL=(ALL:ALL) ALL
(Contoh di atas menggunakan “\<space>" untuk membuat karakter spasi Linux.)
- CentOS
-
-
Connect ke instance menggunakan SSH klien apa pun.
-
Konfigurasikan instance Linux untuk menggunakan alamat IP DNS server dari DNS server AWS Directory Service yang disediakan. Anda dapat melakukan ini dengan mengaturnya di set DHCP Opsi yang dilampirkan ke VPC atau dengan mengaturnya secara manual pada instance. Jika Anda ingin mengaturnya secara manual, lihat Bagaimana cara menetapkan DNS server statis ke EC2 instance Amazon pribadi di Pusat AWS
Pengetahuan untuk panduan tentang pengaturan DNS server persisten untuk distribusi dan versi Linux tertentu Anda.
-
Pastikan instans CentOS 7 Anda adalah yang terbaru.
sudo yum -y update
-
Instal paket CentOS 7 yang diperlukan pada instans Linux Anda.
Beberapa paket ini mungkin sudah diinstal.
Ketika Anda menginstal paket, Anda mungkin akan disajikan dengan beberapa layar konfigurasi pop-up. Anda biasanya dapat membiarkan bidang di layar ini kosong.
sudo yum -y install sssd realmd krb5-workstation samba-common-tools
-
Menggabungkan instans ke direktori dengan perintah berikut.
sudo realm join -U join_account@example.com
example.com
--verbose
...
* Successfully enrolled machine in realm
-
Atur SSH layanan untuk mengizinkan otentikasi kata sandi.
-
Buka file /etc/ssh/sshd_config
di editor teks.
sudo vi /etc/ssh/sshd_config
-
Atur pengaturan PasswordAuthentication
ke yes
.
PasswordAuthentication yes
-
Mulai ulang layanan SSH.
sudo systemctl restart sshd.service
Atau:
sudo service sshd restart
-
Setelah instance dimulai ulang, sambungkan dengan SSH klien mana pun dan tambahkan grup Administrator AWS Delegasi ke daftar sudoers dengan melakukan langkah-langkah berikut:
-
Buka file sudoers
dengan perintah berikut:
sudo visudo
-
Tambahkan hal berikut ini ke bagian bawah file sudoers
dan simpan.
## Add the "AWS Delegated Administrators" group from the example.com
domain.
%AWS\ Delegated\ Administrators@example.com
ALL=(ALL:ALL) ALL
(Contoh di atas menggunakan “\<space>" untuk membuat karakter spasi Linux.)
- Red Hat
-
-
Connect ke instance menggunakan SSH klien apa pun.
-
Konfigurasikan instance Linux untuk menggunakan alamat IP DNS server dari DNS server AWS Directory Service yang disediakan. Anda dapat melakukan ini dengan mengaturnya di set DHCP Opsi yang dilampirkan ke VPC atau dengan mengaturnya secara manual pada instance. Jika Anda ingin mengaturnya secara manual, lihat Bagaimana cara menetapkan DNS server statis ke EC2 instance Amazon pribadi di Pusat AWS
Pengetahuan untuk panduan tentang pengaturan DNS server persisten untuk distribusi dan versi Linux tertentu Anda.
-
Pastikan instans Red Hat - 64bit adalah yang terbaru.
sudo yum -y update
-
Instal paket Red Hat yang diperlukan pada instans Linux Anda.
Beberapa paket ini mungkin sudah diinstal.
Ketika Anda menginstal paket, Anda mungkin akan disajikan dengan beberapa layar konfigurasi pop-up. Anda biasanya dapat membiarkan bidang di layar ini kosong.
sudo yum -y install sssd realmd krb5-workstation samba-common-tools
-
Menggabungkan instans ke direktori dengan perintah berikut.
sudo realm join -v -U join_account
example.com
--install=/
...
* Successfully enrolled machine in realm
-
Atur SSH layanan untuk mengizinkan otentikasi kata sandi.
-
Buka file /etc/ssh/sshd_config
di editor teks.
sudo vi /etc/ssh/sshd_config
-
Atur pengaturan PasswordAuthentication
ke yes
.
PasswordAuthentication yes
-
Mulai ulang layanan SSH.
sudo systemctl restart sshd.service
Atau:
sudo service sshd restart
-
Setelah instance dimulai ulang, sambungkan dengan SSH klien mana pun dan tambahkan grup Administrator AWS Delegasi ke daftar sudoers dengan melakukan langkah-langkah berikut:
-
Buka file sudoers
dengan perintah berikut:
sudo visudo
-
Tambahkan hal berikut ini ke bagian bawah file sudoers
dan simpan.
## Add the "AWS Delegated Administrators" group from the example.com
domain.
%AWS\ Delegated\ Administrators@example.com
ALL=(ALL:ALL) ALL
(Contoh di atas menggunakan “\<space>" untuk membuat karakter spasi Linux.)
- SUSE
-
-
Connect ke instance menggunakan SSH klien apa pun.
-
Konfigurasikan instance Linux untuk menggunakan alamat IP DNS server dari DNS server AWS Directory Service yang disediakan. Anda dapat melakukan ini dengan mengaturnya di set DHCP Opsi yang dilampirkan ke VPC atau dengan mengaturnya secara manual pada instance. Jika Anda ingin mengaturnya secara manual, lihat Bagaimana cara menetapkan DNS server statis ke EC2 instance Amazon pribadi di Pusat AWS Pengetahuan untuk panduan tentang pengaturan DNS server persisten untuk distribusi dan versi Linux tertentu Anda.
-
Pastikan instans SUSE Linux 15 Anda mutakhir.
-
Hubungkan repositori paket.
sudo SUSEConnect -p PackageHub/15.1/x86_64
-
PerbaruiSUSE.
sudo zypper update -y
-
Instal paket SUSE Linux 15 yang diperlukan pada instance Linux Anda.
Beberapa paket ini mungkin sudah diinstal.
Ketika Anda menginstal paket, Anda mungkin akan disajikan dengan beberapa layar konfigurasi pop-up. Anda biasanya dapat membiarkan bidang di layar ini kosong.
sudo zypper -n install realmd adcli sssd sssd-tools sssd-ad samba-client krb5-client
-
Menggabungkan instans ke direktori dengan perintah berikut.
sudo realm join -U join_account example.com --verbose
…
realm: Couldn't join realm: Enabling SSSD in nsswitch.conf and PAM failed.
Perhatikan bahwa kedua pengembalian berikut diharapkan.
! Couldn't authenticate with keytab while discovering which salt to use:
! Enabling SSSD in nsswitch.conf and PAM failed.
-
Aktifkan SSSDsecara manual PAM.
sudo pam-config --add --sss
-
Edit nsswitch.conf untuk mengaktifkan di nsswitch.conf SSSD
sudo vi /etc/nsswitch.conf
passwd: compat sss
group: compat sss
shadow: compat sss
-
Tambahkan baris berikut to /etc/pam.d/common -session untuk membuat direktori home secara otomatis saat login awal
sudo vi /etc/pam.d/common-session
session optional pam_mkhomedir.so skel=/etc/skel umask=077
-
Reboot instans untuk menyelesaikan proses penggabungan domain.
sudo reboot
-
Sambungkan kembali ke instance menggunakan SSH klien mana pun untuk memverifikasi bahwa gabungan domain telah berhasil diselesaikan dan menyelesaikan langkah-langkah tambahan.
-
Untuk mengkonfimasi instans telah didaftarkan pada domain
sudo realm list
example.com
type: kerberos
realm-name: EXAMPLE.COM
domain-name: example.com
configured: kerberos-member
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: adcli
required-package: samba-client
login-formats: %U@example.com
login-policy: allow-realm-logins
-
Untuk memverifikasi status SSSD daemon
systemctl status sssd
sssd.service - System Security Services Daemon
Loaded: loaded (/usr/lib/systemd/system/sssd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2020-04-15 16:22:32 UTC; 3min 49s ago
Main PID: 479 (sssd)
Tasks: 4
CGroup: /system.slice/sssd.service
├─479 /usr/sbin/sssd -i --logger=files
├─505 /usr/lib/sssd/sssd_be --domain example.com --uid 0 --gid 0 --logger=files
├─548 /usr/lib/sssd/sssd_nss --uid 0 --gid 0 --logger=files
└─549 /usr/lib/sssd/sssd_pam --uid 0 --gid 0 --logger=files
-
Untuk mengizinkan akses pengguna melalui SSH dan konsol
sudo realm permit join_account@example.com
Untuk mengizinkan akses grup domain melalui SSH dan konsol
sudo realm permit -g 'AWS Delegated Administrators'
Atau untuk mengizinkan semua pengguna mengakses
sudo realm permit --all
-
Atur SSH layanan untuk mengizinkan otentikasi kata sandi.
-
Buka file /etc/ssh/sshd_config
di editor teks.
sudo vi /etc/ssh/sshd_config
-
Atur pengaturan PasswordAuthentication
ke yes
.
PasswordAuthentication yes
-
Mulai ulang layanan SSH.
sudo systemctl restart sshd.service
Atau:
sudo service sshd restart
-
13. Setelah instance dimulai ulang, sambungkan dengan SSH klien mana pun dan tambahkan grup Administrator AWS Delegasi ke daftar sudoers dengan melakukan langkah-langkah berikut:
-
Buka file sudoers dengan perintah berikut:
sudo visudo
-
Tambahkan hal berikut ini ke bagian bawah file sudoers dan simpan.
## Add the "Domain Admins" group from the awsad.com domain.
%AWS\ Delegated\ Administrators@example.com ALL=(ALL) NOPASSWD: ALL
- Ubuntu
-
-
Connect ke instance menggunakan SSH klien apa pun.
-
Konfigurasikan instance Linux untuk menggunakan alamat IP DNS server dari DNS server AWS Directory Service yang disediakan. Anda dapat melakukan ini dengan mengaturnya di set DHCP Opsi yang dilampirkan ke VPC atau dengan mengaturnya secara manual pada instance. Jika Anda ingin mengaturnya secara manual, lihat Bagaimana cara menetapkan DNS server statis ke EC2 instance Amazon pribadi di Pusat AWS
Pengetahuan untuk panduan tentang pengaturan DNS server persisten untuk distribusi dan versi Linux tertentu Anda.
-
Pastikan instans Ubuntu - 64bit Anda adalah yang terbaru.
sudo apt-get update
sudo apt-get -y upgrade
-
Instal paket Ubuntu yang diperlukan pada instans Linux Anda.
Beberapa paket ini mungkin sudah diinstal.
Ketika Anda menginstal paket, Anda mungkin akan disajikan dengan beberapa layar konfigurasi pop-up. Anda biasanya dapat membiarkan bidang di layar ini kosong.
sudo apt-get -y install sssd realmd krb5-user samba-common packagekit adcli
-
Nonaktifkan DNS resolusi Terbalik dan atur ranah default ke domain AndaFQDN. Instans Ubuntu harus dapat diselesaikan secara terbalik DNS sebelum ranah berfungsi. Jika tidak, Anda harus menonaktifkan reverse DNS in /etc/krb 5.conf sebagai berikut:
sudo vi /etc/krb5.conf
[libdefaults]
default_realm = EXAMPLE.COM
rdns = false
-
Menggabungkan instans ke direktori dengan perintah berikut.
sudo realm join -U join_account example.com
--verbose
...
* Successfully enrolled machine in realm
-
Atur SSH layanan untuk mengizinkan otentikasi kata sandi.
-
Buka file /etc/ssh/sshd_config
di editor teks.
sudo vi /etc/ssh/sshd_config
-
Atur pengaturan PasswordAuthentication
ke yes
.
PasswordAuthentication yes
-
Mulai ulang layanan SSH.
sudo systemctl restart sshd.service
Atau:
sudo service sshd restart
-
Setelah instance dimulai ulang, sambungkan dengan SSH klien mana pun dan tambahkan grup Administrator AWS Delegasi ke daftar sudoers dengan melakukan langkah-langkah berikut:
-
Buka file sudoers
dengan perintah berikut:
sudo visudo
-
Tambahkan hal berikut ini ke bagian bawah file sudoers
dan simpan.
## Add the "AWS Delegated Administrators" group from the example.com
domain.
%AWS\ Delegated\ Administrators@example.com
ALL=(ALL:ALL) ALL
(Contoh di atas menggunakan “\<space>" untuk membuat karakter spasi Linux.)
Membatasi akses login akun
Karena semua akun ditetapkan dalam Direktori Aktif, secara default, semua pengguna dalam direktori tersebut dapat masuk ke instans. Anda dapat mengizinkan hanya pengguna tertentu untuk masuk ke instans dengan ad_access_filter di sssd.conf. Sebagai contoh:
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
memberOf
-
Menunjukkan bahwa pengguna hanya boleh diizinkan akses ke instans jika mereka adalah anggota dari grup tertentu.
cn
-
Nama umum grup yang harus memiliki akses. Dalam contoh ini, nama grup adalah admins
.
ou
-
Ini adalah unit organisasi tempat grup di atas berada. Dalam contoh ini, OU adalah Testou
.
dc
-
Ini adalah komponen domain dari domain Anda. Dalam contoh ini, example
.
dc
-
Ini adalah komponen domain tambahan. Dalam contoh ini, com
.
Anda harus menambahkan ad_access_filter secara manual ke /etc/sssd/sssd.conf.
Buka file /etc/sssd/sssd.conf di editor teks.
sudo vi /etc/sssd/sssd.conf
Setelah melakukan hal ini, sssd.conf Anda mungkin terlihat seperti ini:
[sssd]
domains = example.com
config_file_version = 2
services = nss, pam
[domain/example.com]
ad_domain = example.com
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
Agar konfigurasi mulai berlaku, Anda perlu memulai ulang layanan sssd:
sudo systemctl restart sssd.service
Atau, Anda dapat menggunakan .
sudo service sssd restart
Karena semua akun ditetapkan dalam Direktori Aktif, secara default, semua pengguna dalam direktori tersebut dapat masuk ke instans. Anda dapat mengizinkan hanya pengguna tertentu untuk masuk ke instans dengan ad_access_filter di sssd.conf.
Sebagai contoh:
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
memberOf
-
Menunjukkan bahwa pengguna hanya boleh diizinkan akses ke instans jika mereka adalah anggota dari grup tertentu.
cn
-
Nama umum grup yang harus memiliki akses. Dalam contoh ini, nama grup adalah admins
.
ou
-
Ini adalah unit organisasi tempat grup di atas berada. Dalam contoh ini, OU adalah Testou
.
dc
-
Ini adalah komponen domain dari domain Anda. Dalam contoh ini, example
.
dc
-
Ini adalah komponen domain tambahan. Dalam contoh ini, com
.
Anda harus menambahkan ad_access_filter secara manual ke /etc/sssd/sssd.conf.
-
Buka file /etc/sssd/sssd.conf di editor teks.
sudo vi /etc/sssd/sssd.conf
-
Setelah melakukan hal ini, sssd.conf Anda mungkin terlihat seperti ini:
[sssd]
domains = example.com
config_file_version = 2
services = nss, pam
[domain/example.com]
ad_domain = example.com
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
-
Agar konfigurasi mulai berlaku, Anda perlu memulai ulang layanan sssd:
sudo systemctl restart sssd.service
Atau, Anda dapat menggunakan .
sudo service sssd restart
Pemetaan ID
Pemetaan ID dapat dilakukan dengan dua metode untuk mempertahankan pengalaman terpadu UNIX antara/Linux User Identifier (UID) dan Group Identifier () dan Windows dan GID Active Directory Identitas Pengenal Keamanan (SID).
Tersentralisasi
Didistribusikan
Pemetaan identitas pengguna terpusat di Active Directory membutuhkan Antarmuka Sistem Operasi Portabel atauPOSIX.
Pemetaan identitas pengguna terpusat
Active Directory atau layanan Lightweight Directory Access Protocol (LDAP) lainnya menyediakan UID dan GID untuk pengguna Linux. Masuk Active Directory, pengidentifikasi ini disimpan dalam atribut pengguna:
UID- Nama pengguna Linux (String)
UIDNomor - Nomor ID Pengguna Linux (Integer)
GIDNomor - Nomor ID Grup Linux (Integer)
Untuk mengkonfigurasi instance Linux untuk menggunakan UID dan GID dari Active Directory, diatur ldap_id_mapping = False
dalam file sssd.conf. Sebelum menyetel nilai ini, verifikasi bahwa Anda telah menambahkanUID, UID GID nomor, dan nomor ke pengguna dan grup Active Directory.
Pemetaan identitas pengguna terdistribusi
Jika Active Directory tidak memiliki POSIX ekstensi atau jika Anda memilih untuk tidak mengelola pemetaan identitas secara terpusat, Linux dapat menghitung UID dan GID nilainya. Linux menggunakan Security Identifier (SID) unik pengguna untuk menjaga konsistensi.
Untuk mengonfigurasi pemetaan ID pengguna terdistribusi, atur ldap_id_mapping = True
dalam file sssd.conf.
Connect ke instance Linux
Ketika pengguna terhubung ke instance menggunakan SSH klien, mereka diminta untuk nama pengguna mereka. Pengguna dapat memasukkan nama pengguna dalam EXAMPLE\username
format username@example.com
atau. Respons akan muncul mirip dengan yang berikut ini, tergantung pada distribusi Linux yang Anda gunakan:
Amazon Linux, Red Hat Enterprise Linux, dan CentOS Linux
login as: johndoe@example.com
johndoe@example.com's password:
Last login: Thu Jun 25 16:26:28 2015 from XX.XX.XX.XX
SUSELinux
SUSE Linux Enterprise Server 15 SP1 x86_64 (64-bit)
As "root" (sudo or sudo -i) use the:
- zypper command for package management
- yast command for configuration management
Management and Config: https://www.suse.com/suse-in-the-cloud-basics
Documentation: https://www.suse.com/documentation/sles-15/
Forum: https://forums.suse.com/forumdisplay.php?93-SUSE-Public-Cloud
Have a lot of fun...
Ubuntu Linux
login as: admin@example.com
admin@example.com@10.24.34.0's password:
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-1057-aws x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Sat Apr 18 22:03:35 UTC 2020
System load: 0.01 Processes: 102
Usage of /: 18.6% of 7.69GB Users logged in: 2
Memory usage: 16% IP address for eth0: 10.24.34.1
Swap usage: 0%