Unisci manualmente un'istanza Amazon EC2 Linux al tuo Simple AD Active Directory - AWS Directory Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Unisci manualmente un'istanza Amazon EC2 Linux al tuo Simple AD Active Directory

Oltre alle istanze Amazon EC2 Windows, puoi anche aggiungere determinate istanze Amazon EC2 Linux al tuo Simple AD Active Directory. Sono supportate le seguenti distribuzioni e versioni di istanze Linux:

  • Amazon Linux AMI 2018.03.0

  • Amazon Linux 2 (64-bit x86)

  • Amazon Linux 2023 AMI

  • Red Hat Enterprise Linux 8 (x86 a 64 bitHVM)

  • Ubuntu Server 18.04 LTS e Ubuntu Server 16.04 LTS

  • CentOS 7 x86-64

  • SUSELinux Enterprise Server 15 SP1

Nota

Le altre distribuzioni e versioni di Linux potrebbero non funzionare, sebbene non siano state testate.

Prerequisiti

Prima di poter collegare un'istanza Amazon Linux, CentOS, Red Hat o Ubuntu alla tua directory, l'istanza deve essere avviata come specificato in Unisci senza problemi un'istanza Amazon EC2 Linux al tuo Simple AD Active Directory.

Importante

Alcune delle procedure seguenti, se non eseguite correttamente, possono rendere l'istanza non raggiungibile o inutilizzabile. Pertanto, ti consigliamo vivamente di effettuare un backup o effettuare uno snapshot dell'istanza prima di eseguire queste procedure.

Per collegare un'istanza Linux alla tua directory

Segui i passaggi descritti per l'istanza Linux specifica utilizzando una delle seguenti schede:

Amazon Linux
  1. Connect all'istanza utilizzando qualsiasi SSH client.

  2. Configura l'istanza Linux per utilizzare gli DNS indirizzi IP dei AWS Directory Service DNS server forniti. È possibile eseguire questa operazione configurandola nel set di DHCP opzioni allegato a VPC o impostandola manualmente sull'istanza. Se desideri impostarlo manualmente, consulta Come posso assegnare un DNS server statico a un'EC2istanza Amazon privata nel AWS Knowledge Center per indicazioni sull'impostazione del DNS server persistente per la tua particolare distribuzione e versione di Linux.

  3. Assicurati che l'istanza di Amazon Linux a 64 bit sia aggiornata.

    sudo yum -y update
  4. Installa i pacchetti Amazon Linux necessari sull'istanza Linux.

    Nota

    Alcuni di questi pacchetti potrebbero essere già installati.

    Quando installi i pacchetti, potrebbero essere visualizzate diverse schermate popup di configurazione. In generale, puoi lasciare vuoti i campi di queste schermate.

    Amazon Linux
    sudo yum install samba-common-tools realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation
    Nota

    Per assistenza nella determinazione della versione di Amazon Linux che stai utilizzando, consulta Identificazione delle immagini Amazon Linux nella Amazon EC2 User Guide for Linux Instances.

  5. Collega l'istanza alla directory tramite il comando seguente.

    sudo realm join -U join_account@EXAMPLE.COM example.com --verbose
    join_account@EXAMPLE.COM

    Un account in example.com dominio con privilegi di accesso al dominio. Inserisci la password dell'account quando richiesta. Per ulteriori informazioni sulla delega di questi privilegi, consulta Delega i privilegi di accesso alle directory per AWS Microsoft AD gestito.

    example.com

    Il DNS nome completo della tua directory.

    ... * Successfully enrolled machine in realm
  6. Imposta il SSH servizio per consentire l'autenticazione tramite password.

    1. Apri il file /etc/ssh/sshd_config in un editor di testo.

      sudo vi /etc/ssh/sshd_config
    2. Imposta PasswordAuthentication su yes.

      PasswordAuthentication yes
    3. Riavvia il servizio SSH.

      sudo systemctl restart sshd.service

      In alternativa:

      sudo service sshd restart
  7. Dopo il riavvio dell'istanza, connettiti ad essa con qualsiasi SSH client e aggiungi il gruppo domain admins all'elenco sudoers eseguendo le seguenti operazioni:

    1. Apri il file sudoers tramite il comando seguente:

      sudo visudo
    2. Aggiungi il codice seguente alla fine del file sudoers e salva il file.

      ## Add the "Domain Admins" group from the example.com domain. %Domain\ Admins@example.com ALL=(ALL:ALL) ALL

      (L'esempio precedente utilizza "\<space>" per creare il carattere di spazio di Linux).

CentOS
  1. Connect all'istanza utilizzando qualsiasi SSH client.

  2. Configura l'istanza Linux per utilizzare gli DNS indirizzi IP dei AWS Directory Service DNS server forniti. È possibile eseguire questa operazione configurandola nel set di DHCP opzioni allegato a VPC o impostandola manualmente sull'istanza. Se desideri impostarlo manualmente, consulta Come posso assegnare un DNS server statico a un'EC2istanza Amazon privata nel AWS Knowledge Center per indicazioni sull'impostazione del DNS server persistente per la tua particolare distribuzione e versione di Linux.

  3. Assicurati che l'istanza di CentOS 7 sia aggiornata.

    sudo yum -y update
  4. Installa i pacchetti CentOS 7 necessari sull'istanza Linux.

    Nota

    Alcuni di questi pacchetti potrebbero essere già installati.

    Quando installi i pacchetti, potrebbero essere visualizzate diverse schermate popup di configurazione. In generale, puoi lasciare vuoti i campi di queste schermate.

    sudo yum -y install sssd realmd krb5-workstation samba-common-tools
  5. Collega l'istanza alla directory tramite il comando seguente.

    sudo realm join -U join_account@example.com example.com --verbose
    join_account@example.com

    Un account in example.com dominio con privilegi di accesso al dominio. Inserisci la password dell'account quando richiesta. Per ulteriori informazioni sulla delega di questi privilegi, consulta Delega i privilegi di accesso alle directory per AWS Microsoft AD gestito.

    example.com

    Il DNS nome completo della tua directory.

    ... * Successfully enrolled machine in realm
  6. Imposta il SSH servizio per consentire l'autenticazione tramite password.

    1. Apri il file /etc/ssh/sshd_config in un editor di testo.

      sudo vi /etc/ssh/sshd_config
    2. Imposta PasswordAuthentication su yes.

      PasswordAuthentication yes
    3. Riavvia il servizio SSH.

      sudo systemctl restart sshd.service

      In alternativa:

      sudo service sshd restart
  7. Dopo il riavvio dell'istanza, connettiti ad essa con qualsiasi SSH client e aggiungi il gruppo domain admins all'elenco sudoers eseguendo le seguenti operazioni:

    1. Apri il file sudoers tramite il comando seguente:

      sudo visudo
    2. Aggiungi il codice seguente alla fine del file sudoers e salva il file.

      ## Add the "Domain Admins" group from the example.com domain. %Domain\ Admins@example.com ALL=(ALL:ALL) ALL

      (L'esempio precedente utilizza "\<space>" per creare il carattere di spazio di Linux).

Red hat
  1. Connect all'istanza utilizzando qualsiasi SSH client.

  2. Configura l'istanza Linux per utilizzare gli DNS indirizzi IP dei AWS Directory Service DNS server forniti. È possibile eseguire questa operazione configurandola nel set di DHCP opzioni allegato a VPC o impostandola manualmente sull'istanza. Se desideri impostarlo manualmente, consulta Come posso assegnare un DNS server statico a un'EC2istanza Amazon privata nel AWS Knowledge Center per indicazioni sull'impostazione del DNS server persistente per la tua particolare distribuzione e versione di Linux.

  3. Assicurati che l'istanza Red Hat - 64bit sia aggiornata.

    sudo yum -y update
  4. Installa i pacchetti Red Hat necessari nell'istanza Linux.

    Nota

    Alcuni di questi pacchetti potrebbero essere già installati.

    Quando installi i pacchetti, potrebbero essere visualizzate diverse schermate popup di configurazione. In generale, puoi lasciare vuoti i campi di queste schermate.

    sudo yum -y install sssd realmd krb5-workstation samba-common-tools
  5. Collega l'istanza alla directory tramite il comando seguente.

    sudo realm join -v -U join_account example.com --install=/
    join_account

    Il sAMAccountnome di un account in example.com dominio con privilegi di accesso al dominio. Inserisci la password dell'account quando richiesta. Per ulteriori informazioni sulla delega di questi privilegi, consulta Delega i privilegi di accesso alle directory per AWS Microsoft AD gestito.

    example.com

    Il DNS nome completo della tua directory.

    ... * Successfully enrolled machine in realm
  6. Imposta il SSH servizio per consentire l'autenticazione tramite password.

    1. Apri il file /etc/ssh/sshd_config in un editor di testo.

      sudo vi /etc/ssh/sshd_config
    2. Imposta PasswordAuthentication su yes.

      PasswordAuthentication yes
    3. Riavvia il servizio SSH.

      sudo systemctl restart sshd.service

      In alternativa:

      sudo service sshd restart
  7. Dopo il riavvio dell'istanza, connettiti ad essa con qualsiasi SSH client e aggiungi il gruppo domain admins all'elenco sudoers eseguendo le seguenti operazioni:

    1. Apri il file sudoers tramite il comando seguente:

      sudo visudo
    2. Aggiungi il codice seguente alla fine del file sudoers e salva il file.

      ## Add the "Domain Admins" group from the example.com domain. %Domain\ Admins@example.com ALL=(ALL:ALL) ALL

      (L'esempio precedente utilizza "\<space>" per creare il carattere di spazio di Linux).

Ubuntu
  1. Connect all'istanza utilizzando qualsiasi SSH client.

  2. Configura l'istanza Linux per utilizzare gli DNS indirizzi IP dei AWS Directory Service DNS server forniti. È possibile eseguire questa operazione configurandola nel set di DHCP opzioni allegato a VPC o impostandola manualmente sull'istanza. Se desideri impostarlo manualmente, consulta Come posso assegnare un DNS server statico a un'EC2istanza Amazon privata nel AWS Knowledge Center per indicazioni sull'impostazione del DNS server persistente per la tua particolare distribuzione e versione di Linux.

  3. Assicurati che l'istanza Ubuntu - 64bit sia aggiornata.

    sudo apt-get update sudo apt-get -y upgrade
  4. Installa i pacchetti Ubuntu necessari nell'istanza Linux.

    Nota

    Alcuni di questi pacchetti potrebbero essere già installati.

    Quando installi i pacchetti, potrebbero essere visualizzate diverse schermate popup di configurazione. In generale, puoi lasciare vuoti i campi di queste schermate.

    sudo apt-get -y install sssd realmd krb5-user samba-common packagekit adcli
  5. Disattiva la DNS risoluzione inversa e imposta il realm predefinito su quello del tuo dominio. FQDN Le istanze di Ubuntu devono essere risolvibili in senso inverso prima che il realm funzioni. DNS Altrimenti, devi disabilitare reverse in /etc/krb5.conf come segue: DNS

    sudo vi /etc/krb5.conf
    [libdefaults] default_realm = EXAMPLE.COM rdns = false
  6. Collega l'istanza alla directory tramite il comando seguente.

    sudo realm join -U join_account example.com --verbose
    join_account@example.com

    Il nome di un account in sAMAccount example.com dominio con privilegi di accesso al dominio. Inserisci la password dell'account quando richiesta. Per ulteriori informazioni sulla delega di questi privilegi, consulta Delega i privilegi di accesso alle directory per AWS Microsoft AD gestito.

    example.com

    Il DNS nome completo della tua directory.

    ... * Successfully enrolled machine in realm
  7. Imposta il SSH servizio per consentire l'autenticazione tramite password.

    1. Apri il file /etc/ssh/sshd_config in un editor di testo.

      sudo vi /etc/ssh/sshd_config
    2. Imposta PasswordAuthentication su yes.

      PasswordAuthentication yes
    3. Riavvia il servizio SSH.

      sudo systemctl restart sshd.service

      In alternativa:

      sudo service sshd restart
  8. Dopo il riavvio dell'istanza, connettiti ad essa con qualsiasi SSH client e aggiungi il gruppo domain admins all'elenco sudoers eseguendo le seguenti operazioni:

    1. Apri il file sudoers tramite il comando seguente:

      sudo visudo
    2. Aggiungi il codice seguente alla fine del file sudoers e salva il file.

      ## Add the "Domain Admins" group from the example.com domain. %Domain\ Admins@example.com ALL=(ALL:ALL) ALL

      (L'esempio precedente utilizza "\<space>" per creare il carattere di spazio di Linux).

Nota

Quando si utilizza Simple AD, se crei un account utente su un'istanza Linux con l'opzione "Richiedi all'utente di modificare la password al primo accesso", tale utente non sarà in grado di modificare inizialmente la password utilizzando kpasswd. Per modificare la password la prima volta, un amministratore del dominio deve aggiornare la password utente tramite gli strumenti di gestione di Active Directory.

Gestione di account da un'istanza Linux

Per gestire gli account in Simple AD da un'istanza Linux, è necessario aggiornare file di configurazione specifici dell'istanza Linux come segue:

  1. Impostare krb5_use_kdcinfo su False (Falso) nel file /etc/sssd/sssd.conf. Per esempio:

    [domain/example.com] krb5_use_kdcinfo = False
  2. Perché la configurazione diventi effettiva, devi riavviare il servizio sssd:

    $ sudo systemctl restart sssd.service

    In alternativa, puoi usare:

    $ sudo service sssd start
  3. Se si gestiscono utenti da un'istanza Linux CentOS, è anche necessario modificare il file /etc/smb.conf per includere:

    [global] workgroup = EXAMPLE.COM realm = EXAMPLE.COM netbios name = EXAMPLE security = ads

Limitazioni di accesso all'account

Poiché tutti gli account vengono definiti in Active Directory, per impostazione predefinita tutti gli utenti nella directory possono accedere all'istanza. Puoi permettere solo a utenti specifici di accedere all'istanza con ad_access_filter in sssd.conf. Per esempio:

ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
memberOf

Indica che agli utenti è consentito solo l'accesso all'istanza se membri di un determinato gruppo.

cn

Il nome canonico del gruppo a cui è consentito l'accesso. In questo esempio, il nome del gruppo è admins.

ou

È l'unità organizzativa in cui si trova il gruppo di cui sopra. In questo esempio, l'unità organizzativa è Testou.

dc

È il componente di dominio del tuo dominio. In questo esempio: example.

dc

È un componente di dominio aggiuntivo. In questo esempio: com.

È necessario aggiungere manualmente ad_access_filter a /etc/sssd/sssd.conf.

Apri il file /etc/sssd/sssd.conf in un editor di testo.

sudo vi /etc/sssd/sssd.conf

A questo punto, il tuo sssd.conf potrebbe avere questo aspetto:

[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)

Perché la configurazione diventi effettiva, devi riavviare il servizio sssd:

sudo systemctl restart sssd.service

In alternativa, puoi usare:

sudo service sssd restart

Mappatura degli ID

La mappatura degli ID può essere eseguita con due metodi per mantenere un'esperienza unificata tra le identità UNIX /Linux User Identifier (UID) e Group Identifier () e Windows and Security Identifier (GID). Active Directory SID

  1. Centralizzato

  2. Distribuito

Nota

La mappatura centralizzata dell'identità degli utenti Active Directory richiede un'interfaccia del sistema operativo portatile o. POSIX

Mappatura centralizzata delle identità degli utenti

Active Directoryo un altro servizio Lightweight Directory Access Protocol (LDAP) che fornisce UID e GID agli utenti Linux. InActive Directory, questi identificatori sono memorizzati negli attributi degli utenti:

  • UID- Il nome utente Linux (String)

  • UIDNumero: il numero ID utente Linux (numero intero)

  • GIDNumero: il numero ID del gruppo Linux (numero intero)

Per configurare un'istanza Linux per l'utilizzo di UID and GID fromActive Directory, impostatelo ldap_id_mapping = False nel file sssd.conf. Prima di impostare questo valore, verificate di aver aggiunto un numero e un UID UID numero agli utenti e GID ai gruppi in. Active Directory

Mappatura distribuita delle identità degli utenti

Se Active Directory non dispone dell'POSIXestensione o se si sceglie di non gestire centralmente la mappatura delle identità, Linux può calcolare i valori UID ANDGID. Linux utilizza il Security Identifier (SID) univoco dell'utente per mantenere la coerenza.

Per configurare la mappatura distribuita degli ID utente, impostatela ldap_id_mapping = True nel file sssd.conf.

Connect all'istanza Linux

Quando un utente si connette all'istanza utilizzando un SSH client, gli viene richiesto il nome utente. L'utente può immettere il nome utente nei formati username@example.com o EXAMPLE\username . La risposta apparirà simile alla seguente, a seconda della distribuzione Linux utilizzata:

Amazon Linux, Red Hat Enterprise Linux e 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%