

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à.

# Creazione del cluster
<a name="tutorials_05_multi-user-ad-step3"></a>

Se non sei ancora uscito dall'istanza Amazon EC2, fallo ora.

L'ambiente è configurato per creare un cluster in grado di autenticare gli utenti rispetto ad Active Directory (AD).

Crea una semplice configurazione del cluster e fornisci le impostazioni relative alla connessione all'AD. Per ulteriori informazioni, consulta la sezione [`DirectoryService`](DirectoryService-v3.md).

Scegli una delle seguenti configurazioni del cluster e copiala in un file denominato`ldaps_config.yaml`,`ldaps_nocert_config.yaml`, o`ldap_config.yaml`.

Ti consigliamo di scegliere la configurazione LDAPS con verifica del certificato. Se scegli questa configurazione, devi anche copiare lo script di bootstrap in un file denominato. `active-directory.head.post.sh` Inoltre, devi archiviarlo in un bucket Amazon S3 come indicato nel file di configurazione.

## LDAPS con configurazione di verifica del certificato (consigliata)
<a name="tutorials_05_multi-user-ad-step3-ldaps"></a>

**Nota**  
`KeyName`: Una delle tue coppie di chiavi Amazon EC2.
`SubnetId / SubnetIds`: uno degli ID di sottorete forniti nell'output dello stack di creazione CloudFormation rapida (tutorial automatico) o dello script python (tutorial manuale).
`Region`: la regione in cui hai creato l'infrastruttura AD.
`DomainAddr`: questo indirizzo IP è uno degli indirizzi DNS del tuo servizio AD.
`PasswordSecretArn`: Amazon Resource Name (ARN) del segreto che contiene la password per. `DomainReadOnlyUser`
`BucketName`: il nome del bucket che contiene lo script bootstrap.
`AdditionalPolicies`/`Policy`: L'Amazon Resource Name (ARN) della politica di certificazione del dominio di lettura. ReadCertExample
`CustomActions`/`OnNodeConfigured`/`Args`: L'Amazon Resource Name (ARN) segreto che contiene la politica di certificazione del dominio.
Per un migliore livello di sicurezza, suggeriamo di utilizzare la `AllowedIps` configurazione `HeadNode``Ssh`//per limitare l'accesso SSH al nodo principale.  
Si noti che il certificato specificato in `LdapTlsCaCert` deve essere accessibile a tutti i nodi del cluster.

**Requisiti rigidi**  
Il certificato specificato in `LdapTlsCaCert` deve essere accessibile a tutti i nodi del cluster.  
Un nodo senza accesso al certificato non sarà in grado di risolvere gli utenti dalla directory.

```
Region: {{region-id}}
Image:
  Os: alinux2023
HeadNode: 
  InstanceType: t2.micro
  Networking:
    SubnetId: {{subnet-abcdef01234567890}}
  Ssh:
    KeyName: {{keypair}}
  Iam:
    AdditionalIamPolicies:
      - Policy: arn:aws:iam::{{123456789012}}:policy/ReadCertExample
    S3Access:
      - BucketName: {{amzn-s3-demo-bucket}}
        EnableWriteAccess: false
        KeyName: bootstrap/active-directory/active-directory.head.post.sh
  CustomActions:
    OnNodeConfigured:
      Script: s3://{{amzn-s3-demo-bucket}}/bootstrap/active-directory/active-directory.head.post.sh
      Args:
        - arn:aws:secretsmanager:{{region-id}}:{{123456789012}}:secret:example-cert-{{123abc}}
        - /opt/parallelcluster/shared/directory_service/domain-certificate.crt
Scheduling:
  Scheduler: slurm
  SlurmQueues:
    - Name: queue0
      ComputeResources:
        - Name: queue0-t2-micro
          InstanceType: t2.micro
          MinCount: 1
          MaxCount: 10         
      Networking:
        SubnetIds:
          - {{subnet-abcdef01234567890}}
DirectoryService:
  DomainName: corp.example.com
  DomainAddr: ldaps://corp.example.com
  PasswordSecretArn: arn:aws:secretsmanager:{{region-id}}:{{123456789012}}:secret:ADSecretPassword-{{1234}}
  DomainReadOnlyUser: cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=example,dc=com
  LdapTlsCaCert: /opt/parallelcluster/shared/directory_service/domain-certificate.crt
  LdapTlsReqCert: hard
```

**Script Bootstrap **

Dopo aver creato il file bootstrap e prima di caricarlo nel bucket S3, esegui per concedere il `chmod +x active-directory.head.post.sh` permesso di esecuzione. AWS ParallelCluster 

```
#!/bin/bash
set -e

CERTIFICATE_SECRET_ARN="$1"
CERTIFICATE_PATH="$2"

[[ -z $CERTIFICATE_SECRET_ARN ]] && echo "[ERROR] Missing CERTIFICATE_SECRET_ARN" && exit 1
[[ -z $CERTIFICATE_PATH ]] && echo "[ERROR] Missing CERTIFICATE_PATH" && exit 1

source /etc/parallelcluster/cfnconfig
REGION="${cfn_region:?}"

mkdir -p $(dirname $CERTIFICATE_PATH)
aws secretsmanager get-secret-value --region $REGION --secret-id $CERTIFICATE_SECRET_ARN --query SecretString --output text > $CERTIFICATE_PATH
```

## LDAPS senza configurazione di verifica del certificato
<a name="tutorials_05_multi-user-ad-step3-ldaps-no-cert"></a>

**Nota**  
`KeyName`: Una delle tue coppie di chiavi Amazon EC2.
`SubnetId / SubnetIds`: uno degli ID di sottorete che si trovano nell'output dello stack di creazione CloudFormation rapida (tutorial automatico) o dello script python (tutorial manuale).
`Region`: la regione in cui hai creato l'infrastruttura AD.
`DomainAddr`: questo indirizzo IP è uno degli indirizzi DNS del tuo servizio AD.
`PasswordSecretArn`: Amazon Resource Name (ARN) del segreto che contiene la password per. `DomainReadOnlyUser`
Per un migliore livello di sicurezza, suggeriamo di utilizzare la HeadNode/Ssh/AllowedIps configurazione per limitare l'accesso SSH al nodo principale.

```
Region: {{region-id}}
Image:
  Os: alinux2023
HeadNode: 
  InstanceType: t2.micro
  Networking:
    SubnetId: {{subnet-abcdef01234567890}}
  Ssh:
    KeyName: {{keypair}}
Scheduling:
  Scheduler: slurm
  SlurmQueues:
    - Name: queue0
      ComputeResources:
        - Name: queue0-t2-micro
          InstanceType: t2.micro
          MinCount: 1
          MaxCount: 10         
      Networking:
        SubnetIds:
          - {{subnet-abcdef01234567890}}
DirectoryService:
  DomainName: corp.example.com
  DomainAddr: ldaps://corp.example.com
  PasswordSecretArn: arn:aws:secretsmanager:{{region-id}}:{{123456789012}}:secret:ADSecretPassword-{{1234}}
  DomainReadOnlyUser: cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=example,dc=com
  LdapTlsReqCert: never
```

## Configurazione LDAP
<a name="tutorials_05_multi-user-ad-step3-ldap"></a>

**Nota**  
`KeyName`: Una delle tue coppie di chiavi Amazon EC2.
`SubnetId / SubnetIds`: uno degli ID di sottorete forniti nell'output dello stack di creazione CloudFormation rapida (tutorial automatico) o dello script python (tutorial manuale).
`Region`: la regione in cui hai creato l'infrastruttura AD.
`DomainAddr`: questo indirizzo IP è uno degli indirizzi DNS del tuo servizio AD.
`PasswordSecretArn`: Amazon Resource Name (ARN) del segreto che contiene la password per. `DomainReadOnlyUser`
Per un migliore livello di sicurezza, suggeriamo di utilizzare la HeadNode/Ssh/AllowedIps configurazione per limitare l'accesso SSH al nodo principale.

```
Region: {{region-id}}
Image:
  Os: alinux2023
HeadNode: 
  InstanceType: t2.micro
  Networking:
    SubnetId: {{subnet-abcdef01234567890}}
  Ssh:
    KeyName: {{keypair}}
Scheduling:
  Scheduler: slurm
  SlurmQueues:
    - Name: queue0
      ComputeResources:
        - Name: queue0-t2-micro
          InstanceType: t2.micro
          MinCount: 1
          MaxCount: 10         
      Networking:
        SubnetIds:
          - {{subnet-abcdef01234567890}}
DirectoryService:
  DomainName: dc=corp,dc=example,dc=com
  DomainAddr: ldap://{{192.0.2.254}},ldap://{{203.0.113.237}}
  PasswordSecretArn: arn:aws:secretsmanager:{{region-id}}:{{123456789012}}:secret:ADSecretPassword-{{1234}}
  DomainReadOnlyUser: cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=example,dc=com
  AdditionalSssdConfigs:
    ldap_auth_disable_tls_never_use_in_production: True
```

Crea un cluster con il seguente comando.

```
$ pcluster create-cluster --cluster-name {{"ad-cluster"}} --cluster-configuration {{"./ldaps_config.yaml"}}
{
  "cluster": {
    "clusterName": "pcluster",
    "cloudformationStackStatus": "CREATE_IN_PROGRESS",
    "cloudformationStackArn": "arn:aws:cloudformation:region-id:123456789012:stack/ad-cluster/1234567-abcd-0123-def0-abcdef0123456",
    "region": "region-id",
    "version": 3.16.1,
    "clusterStatus": "CREATE_IN_PROGRESS"
  }
}
```