Come posso delegare l'accesso al servizio OpenSearch di Amazon tra più account AWS utilizzando i ruoli IAM?

4 minuti di lettura
0

Desidero condividere le risorse del servizio OpenSearch di Amazon nel mio account con utenti di un altro account. In che modo posso farlo?

Breve descrizione

Il modo più semplice per abilitare l'accesso tra account per il dominio OpenSearch Service consiste nell'impostare il controllo tra account utilizzando un ruolo AWS Identity and Access Management (IAM). Aggiungendo un ruolo IAM nell'account di destinazione, è possibile consentire agli utenti di account attendibili di accedere al dominio del servizio OpenSearch sotto l'account di destinazione. In questo modo, diversi utenti della tua organizzazione possono accedere e gestire la stazione di registrazione centrale cambiando i ruoli IAM nella console di gestione AWS.

Per consentire agli utenti di accedere alle risorse del dominio utilizzando un ruolo IAM, il processo è il seguente:

  1. Crea un ruolo nell'account A a cui è consentito accedere al dominio di destinazione.
  2. Crea un utente nell'account B a cui è consentito assumere un ruolo nell'Account A.
  3. Concedi l'accesso agli utenti nell'account B per utilizzare il ruolo per accedere al dominio di destinazione cambiando ruolo.

Nota: l'account A è l'account in cui risiede il dominio di destinazione. L'account B è l'account da cui gli utenti accedono alla stazione di registrazione centrale.

Risoluzione

Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), assicurati di utilizzare la versione più recente di AWS CLI.

Creazione di un ruolo e concessione delle autorizzazioni per la gestione del dominio

In questo esempio, creiamo un ruolo denominato CrossAccount-test e concediamo le autorizzazioni complete per gestire il test del dominio.

{
     "Version": "2012-10-17",
     "Statement": [{
          "Effect": "Allow",
          "Action": [
               "es:*"
          ],
          "Resource": "arn:aws:es:<Region>:<Account A-ID>:domain/test/*"
     }]
}

Modifica della relazione di attendibilità del ruolo

Successivamente, modificare la relazione di attendibilità del ruolo Crossaccount-test.

Nota: modificare di conseguenza il numero di account e il nome utente.

{
     "Version": "2012-10-17",
     "Statement": [{
          "Effect": "Allow",
          "Principal": {
               "Service": "es.amazonaws.com",
               "AWS": ["arn:aws:iam::<Account B-ID>:root", "arn:aws:iam::<Account B-ID>:user/<User Name>"]
          },
          "Action": "sts:AssumeRole"
     }]
}

Nei passaggi 1 e 2, definire l'utente nell'Account B come entità attendibile e concedere autorizzazioni complete per consentire agli utenti attendibili di accedere al proprio dominio nell'Account A.

Concedere l'accesso agli utenti nell'Account B

Nell'account B, crea un utente o un gruppo con le seguenti autorizzazioni:

{
     "Version": "2012-10-17",
     "Statement": {
          "Effect": "Allow",
          "Action": "sts:AssumeRole",
          "Resource": "arn:aws:iam::<Account A-ID>:role/<CrossAccount-test>"
     }
}

Quando si aggiunge questa istruzione della policy, si consente l'azione AssumeRole sul ruolo CrossAccount-test nell'account A.

Nota: assicurati di modificare ACCOUNT A-ID nell'elemento Resource con l'ID account AWS per l'account A.

Modificare della policy di accesso di OpenSearch Service per consentire al ruolo di accedere al dominio

A questo punto, l’account B è stato considerato attendibile e può assumere il ruolo nell'account A. Successivamente, puoi consentire a questo ruolo di accedere al tuo dominio.

Modifica la policy di accesso di OpenSearch Service e immettere quanto segue:

{
     "Version": "2012-10-17",
     "Statement": [{
          "Effect": "Allow",
          "Principal": {
               "AWS": [
                    "arn:aws:iam::<Account A-ID>:role/<CrossAccount-test>"
               ]
          },
          "Action": "es:*",
          "Resource": "arn:aws:es:<region>:<Account A-ID>:domain/<Domain Name>/*"
     }]
}

Test dell'accesso cambiando ruolo

Ora che è stato abilitato il supporto tra account, cambia ruolo per testare l'accesso:

  1. Copia l'ARN di CrossAccount-test negli appunti.
  2. Accedi all'account B utilizzando la console di gestione AWS.
  3. Dalla scheda Utente, scegli Cambia ruolo nell'elenco a discesa.
  4. Nella pagina Cambia ruolo, specifica l'ID account per l'account A e il nome del ruolo. In questo esempio, il nome del ruolo è CrossAccount-test.
  5. Scegli Cambia ruolo.

Nota: se l'Account B deve funzionare nell'ambiente Account A nella riga di comando, è possibile cambiare ruolo utilizzando l'interfaccia a riga di comando di AWS. Per ulteriori informazioni, consulta Cambia ruoli (AWS CLI).

Le autorizzazioni utente passano immediatamente a quelle consentite dal ruolo creato nell'account A. Impostando l'accesso tra account in questo modo, gli utenti non devono creare singoli utenti IAM con account diversi. Inoltre, non è necessario disconnettersi da un account e collegarsi a un altro per accedere a una risorsa.


Informazioni correlate

Gestione delle identità e degli accessi in Amazon OpenSearch Service

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa