Come posso delegare l'accesso ad Amazon OpenSearch Service tra più account AWS utilizzando i ruoli IAM?

Ultimo aggiornamento: 20/04/2022

Desidero condividere le risorse di Amazon OpenSearch Service 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 OpenSearch Service 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 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 degli errori durante l’esecuzione di AWS Command Line Interface (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 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.

Amazon OpenSearch Service è il successore di Amazon Elasticsearch Service.


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?