Como posso delegar acesso ao Amazon OpenSearch Service entre contas da AWS usando perfis do IAM?

4 minuto de leitura
0

Quero compartilhar os recursos do Amazon OpenSearch Service em minha conta com usuários em uma conta diferente. Como fazer isso?

Breve descrição

A maneira mais fácil de habilitar o acesso entre contas para o domínio do OpenSearch Service é configurar o controle entre contas usando uma função do AWS Identity and Access Management (IAM). Ao adicionar um perfil do IAM na conta de destino, você pode permitir que usuários de contas confiáveis acessem o domínio do OpenSearch Service na conta de destino. Dessa forma, diferentes usuários em sua organização podem acessar e gerenciar a estação central de registro alternando os perfis do IAM no Console de Gerenciamento da AWS.

Para que os usuários acessem seus recursos de domínio usando um perfil do IAM, siga este processo:

  1. Crie uma função na conta A que tenha permissão para acessar o domínio de destino.
  2. Crie um usuário na conta B que tenha permissão para assumir uma função na conta A.
  3. Conceda acesso aos usuários na conta B para usar a função para acessar o domínio de destino alternando funções.

Observação: a conta A é a conta em que o domínio de destino reside. A conta B é a conta de onde os usuários acessam a estação central de registro.

Resolução

Observação: se receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), verifique se está usando a versão mais recente da AWS CLI.

Criar um perfil e conceder permissões para gerenciar seu domínio

Neste exemplo, criamos uma função chamada CrossAccount-test e concedemos permissões completas para gerenciar o teste de domínio.

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

Editar a relação de confiança da função

Em seguida, edite a relação de confiança da função CrossAccount-test.

Observação: altere o número da conta e o nome do usuário de acordo.

{
     "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"
     }]
}

Nas Etapas 1 e 2, você define o usuário na Conta B como uma entidade confiável e concede permissões completas para permitir que usuários confiáveis acessem seu domínio na Conta A.

Conceder acesso aos usuários na Conta B

Na conta B, crie um usuário ou grupo com as seguintes permissões:

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

Ao adicionar essa declaração de política, você permite a ação AssumeRole na função CrossAccount-test na conta A.

Observação: certifique-se de alterar ACCOUNT A-ID no elemento Resource para o ID da conta da AWS para a conta A.

Editar a política de acesso do OpenSearch Service para permitir que a função acesse o domínio

Neste momento, você confia na conta B para assumir o papel na conta A. Em seguida, permita que essa função acesse seu domínio.

Edite a política de acesso do OpenSearch Service e insira o seguinte:

{
     "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>/*"
     }]
}

Testar o acesso alternando funções

Agora que você habilitou o suporte entre contas, alterne as funções para testar o acesso:

  1. Copie o ARN de CrossAccount-test para a área de transferência.
  2. Faça login na conta B usando o Console de Gerenciamento da AWS.
  3. Na guia User (Usuário), escolha Switch Role (Alternar função) na lista suspensa.
  4. Na página Switch Role (Alternar função), insira o ID da conta A e o nome da função. Neste exemplo, o nome da função é CrossAccount-test.
  5. EscolhaSwitch Role (Alternar função).

Observação: se a Conta B precisar funcionar no ambiente da Conta A na linha de comando, você poderá alternar a função usando a AWS CLI. Para obter mais informações, consulte Alternar funções (AWS CLI).

Suas permissões de usuário alternam imediatamente para aquelas permitidas pela função que você criou na conta A. Ao configurar seu acesso entre contas dessa maneira, seus usuários não precisam criar usuários individuais do IAM em contas diferentes. Também não é necessário sair de uma conta e entrar em outra para acessar um recurso.


Informações relacionadas

Gerenciamento de identidade e acesso no Amazon OpenSearch Service

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos