Aggiunta manuale di Amazon EC2 Linux alla tua 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à.

Aggiunta manuale di Amazon EC2 Linux alla tua Simple AD Active Directory

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

  • AMI Amazon Linux 2018.03.0

  • Amazon Linux 2 (64-bit x86)

  • AMI Amazon Linux 2023

  • Red Hat Enterprise Linux 8 (HVM) (64-bit x86)

  • Ubuntu Server 18.04 LTS e Ubuntu Server 16.04 LTS

  • CentOS 7 x86-64

  • SUSE Linux 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 Seamlessly Simple AD Active Directory (Collegare perfettamente un'istanza Amazon EC2 Linux alla tua 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. Connettiti all'istanza tramite qualsiasi client SSH.

  2. Configura l'istanza Linux per utilizzare gli indirizzi IP del server DNS AWS Directory Service forniti dal. A tale scopo, puoi configurare l'istanza nel set di opzioni DHCP collegato al VPC o effettuare la configurazione manualmente sull'istanza. Se intendi configurarla manualmente, consulta Come assegnare un server DNS statico a un' EC2 istanza Amazon privata in AWS Knowledge Center per istruzioni sull'impostazione del server DNS persistente per la tua distribuzione e versione specifica 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 informazioni su come determinare la versione di Amazon Linux in uso, consulta Identificazione delle immagini di Amazon Linux nella Guida per l' EC2 utente di Amazon Linux in Amazon User Guide per le istanze Linux.

  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 nel example.com dominio che dispone di privilegi di aggiunta al dominio. Inserisci la password dell'account quando richiesta. Per ulteriori informazioni sulla delega di questi privilegi, consulta Delega dei privilegi di accesso alle directory per Managed AWS Microsoft AD.

    example.com

    Il nome completo del DNS della directory.

    ... * Successfully enrolled machine in realm
  6. Imposta il servizio SSH per permettere l'autenticazione della 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 a essa tramite qualsiasi client SSH, quindi aggiungi il gruppo di amministratori di dominio all'elenco dei sudoers seguendo la procedura seguente:

    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. Connettiti all'istanza tramite qualsiasi client SSH.

  2. Configura l'istanza Linux per utilizzare gli indirizzi IP del server DNS AWS Directory Service forniti dal. A tale scopo, puoi configurare l'istanza nel set di opzioni DHCP collegato al VPC o effettuare la configurazione manualmente sull'istanza. Se intendi configurarla manualmente, consulta Come assegnare un server DNS statico a un' EC2 istanza Amazon privata in AWS Knowledge Center per istruzioni sull'impostazione del server DNS persistente per la tua distribuzione e versione specifica 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 nel example.com dominio che dispone di privilegi di aggiunta al dominio. Inserisci la password dell'account quando richiesta. Per ulteriori informazioni sulla delega di questi privilegi, consulta Delega dei privilegi di accesso alle directory per Managed AWS Microsoft AD.

    example.com

    Il nome completo del DNS della directory.

    ... * Successfully enrolled machine in realm
  6. Imposta il servizio SSH per permettere l'autenticazione della 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 a essa tramite qualsiasi client SSH, quindi aggiungi il gruppo di amministratori di dominio all'elenco dei sudoers seguendo la procedura seguente:

    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. Connettiti all'istanza tramite qualsiasi client SSH.

  2. Configura l'istanza Linux per utilizzare gli indirizzi IP del server DNS AWS Directory Service forniti dal. A tale scopo, puoi configurare l'istanza nel set di opzioni DHCP collegato al VPC o effettuare la configurazione manualmente sull'istanza. Se intendi configurarla manualmente, consulta Come assegnare un server DNS statico a un' EC2 istanza Amazon privata in AWS Knowledge Center per istruzioni sull'impostazione del server DNS persistente per la tua distribuzione e versione specifica 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 AMAccountnome s per un account nel example.com dominio che dispone di privilegi di aggiunta al dominio. Inserisci la password dell'account quando richiesta. Per ulteriori informazioni sulla delega di questi privilegi, consulta Delega dei privilegi di accesso alle directory per Managed AWS Microsoft AD.

    example.com

    Il nome completo del DNS della directory.

    ... * Successfully enrolled machine in realm
  6. Imposta il servizio SSH per permettere l'autenticazione della 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 a essa tramite qualsiasi client SSH, quindi aggiungi il gruppo di amministratori di dominio all'elenco dei sudoers seguendo la procedura seguente:

    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. Connettiti all'istanza tramite qualsiasi client SSH.

  2. Configura l'istanza Linux per utilizzare gli indirizzi IP del server DNS AWS Directory Service forniti dal. A tale scopo, puoi configurare l'istanza nel set di opzioni DHCP collegato al VPC o effettuare la configurazione manualmente sull'istanza. Se intendi configurarla manualmente, consulta Come assegnare un server DNS statico a un' EC2 istanza Amazon privata in AWS Knowledge Center per istruzioni sull'impostazione del server DNS persistente per la tua distribuzione e versione specifica 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. Disattivare la risoluzione DNS inversa e impostare l'area di autenticazione predefinita sul nome di dominio completo del dominio. Perché un realm possa funzionare, le istanze Ubuntu devono essere risolvibili in modo inverso nel DNS. Altrimenti, devi disabilitare reverse DNS in /etc/krb 5.conf come segue:

    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 AMAccountnome s per un account nel example.com dominio che dispone di privilegi di aggiunta al dominio. Inserisci la password dell'account quando richiesta. Per ulteriori informazioni sulla delega di questi privilegi, consulta Delega dei privilegi di accesso alle directory per Managed AWS Microsoft AD.

    example.com

    Il nome completo del DNS della directory.

    ... * Successfully enrolled machine in realm
  7. Imposta il servizio SSH per permettere l'autenticazione della 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 a essa tramite qualsiasi client SSH, quindi aggiungi il gruppo di amministratori di dominio all'elenco dei sudoers seguendo la procedura seguente:

    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. Imposta krb5_use_kdcinfo su False nel file/.conf. etc/sssd/sssd 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

Mapping 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 (GID) e Windows and Security Identifier (SID). Active Directory Questi metodi sono:

  1. Centralizzato

  2. Distribuzione

Nota

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

Mapping centralizzato dell'Identità utente

Active Directoryo un altro servizio LDAP (LDAP) che fornisca UID e GID agli utenti Linux. InActive Directory, questi identificatori vengono memorizzati negli attributi degli utenti se l'estensione POSIX è configurata:

  • UID - Il nome utente Linux (String)

  • Numero UID: il numero ID utente Linux (numero intero)

  • Numero GID: il numero ID del gruppo Linux (numero intero)

Per configurare un'istanza Linux da cui utilizzare l'UID e il GIDActive Directory, impostatelo ldap_id_mapping = False nel file sssd.conf. Prima di impostare questo valore, verifica di aver aggiunto un UID, un numero UID e un numero GID agli utenti e ai gruppi in. Active Directory

Mapping distribuito dell'Identità utente

Se Active Directory non dispone dell'estensione POSIX o se si sceglie di non gestire centralmente la mappatura delle identità, Linux può calcolare i valori UID e GID. Linux utilizza l'identificatore di sicurezza (SID) univoco dell'utente per mantenere la coerenza.

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

Problemi comuni

Se lo impostildap_id_mapping = False, a volte l'avvio del servizio SSSD fallirà. Il motivo di questo errore è dovuto al fatto che le modifiche UIDs non sono supportate. Ti consigliamo di eliminare la cache SSSD ogni volta che passi dalla mappatura degli ID agli attributi POSIX o dagli attributi POSIX alla mappatura degli ID. Per ulteriori dettagli sulla mappatura degli ID e sui parametri ldap_id_mapping, consultate la pagina man sssd-ldap (8) nella riga di comando di Linux.

Connect to a Linux istanza Linux

Quando un utente effettua la connessione all'istanza tramite un client SSH, gli verrà richiesto di inserire il proprio 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

SUSE Linux

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%