PT
EspañolEnglishFrançaisDeutschPortuguêsItaliano
Entrar Comece grátis
IAM

Como dar acesso a uma ferramenta externa com uma função IAM entre contas (sem chaves)

Crie na sua conta da AWS uma função que outra conta possa assumir, com permissões mínimas e um identificador externo, para que um painel ou serviço externo trabalhe com credenciais temporárias em vez de uma chave de acesso que possa ser comprometida.

⏱ 15 minutos ◎ Nível médio Atualizado em 26/10/2026

Quando uma ferramenta externa precisa de entrar na sua conta da AWS há dois caminhos. O conhecido: criar um utilizador IAM e dar-lhe uma chave de acesso, que é uma palavra-passe que não caduca e que pode acabar num ficheiro de configuração, num repositório ou num e-mail. O bom: criar uma função (role) que a ferramenta assume a partir da sua própria conta da AWS. Não há chave para guardar nem para fugir; a AWS entrega credenciais temporárias que caducam sozinhas, e você pode cortar o acesso num segundo apagando a função.

Para isto a ferramenta tem de o suportar (pedir-lhe-á "acesso por função", "cross-account role" ou "ARN da função") e dar-lhe dois dados: o número da sua conta da AWS e um identificador externo (external ID). Com isso, em dez minutos está feito.

Antes de começar: o que significa cada coisa

IAM
O serviço da AWS que gere quem pode fazer o quê na sua conta.
Conta da AWS
Cada cliente da Amazon tem uma conta com um número de doze dígitos. A ferramenta externa tem a sua; você tem a sua.
Chave de acesso
O "utilizador e palavra-passe" para programas. Não caduca, e por isso é o que este guia evita.
Função (role)
Um conjunto de permissões que não pertence a ninguém em concreto: quem está autorizado "assume-o" e recebe credenciais temporárias que caducam sozinhas.
Assumir uma função
Pedir à AWS essas credenciais temporárias para atuar com as permissões da função durante algum tempo.
Entidade de confiança
Quem tem permissão para assumir a função. Aqui, a conta da AWS da ferramenta externa.
External ID (identificador externo)
Uma palavra-passe adicional que acompanha o pedido de assumir a função, para que só essa ferramenta, atuando por si, a possa usar.
Política
A lista de permissões, em formato JSON. O guia dá-lhe um exemplo.
ARN
O nome completo e único da função (arn:aws:iam::...). É o que dá à ferramenta.
CloudTrail
O registo de tudo o que acontece na sua conta da AWS: quem fez o quê e quando. Serve para ver o que a ferramenta faz.

Passo a passo

  1. Reúna os dados do fornecedor

    Anote o ID de conta da ferramenta (doze dígitos) e o external ID que lhe atribui, uma cadeia única para si. O external ID evita o chamado "problema do ajudante confuso": que outro cliente da mesma ferramenta consiga fazer com que esta use a sua função. Não o partilhe nem o reutilize.

  2. Crie a política de permissões mínimas

    Na consola do IAM, Policies, Create policy, separador JSON. Cole só as ações de que a ferramenta precisa; o fornecedor sério dá-lhe a lista exata. Por exemplo, para ver e gerir máquinas Lightsail:

    {
      "Version": "2012-10-17",
      "Statement": [{
        "Effect": "Allow",
        "Action": [
          "lightsail:GetInstances", "lightsail:GetInstance", "lightsail:GetInstanceState",
          "lightsail:StartInstance", "lightsail:StopInstance", "lightsail:RebootInstance",
          "lightsail:GetInstanceSnapshots", "lightsail:CreateInstanceSnapshot"
        ],
        "Resource": "*"
      }]
    }

    Dê-lhe um nome reconhecível, como PanelExterno-Maquinas. Se lhe pedirem AdministratorAccess, pergunte porquê.

  3. Crie a função com a outra conta como entidade de confiança

    IAM, Roles, Create role. Tipo de entidade de confiança: AWS account, opção Another AWS account, e escreva o ID de conta do fornecedor. Marque Require external ID e cole o external ID. Não marque "Require MFA": a ferramenta é um programa, não uma pessoa. Seguinte.

  4. Anexe a política e dê nome à função

    Procure a política que criou no passo 2, marque-a e continue. Nome da função: algo que diga para que serve e de quem é, por exemplo PanelExterno-Simplio. Reveja o resumo: a política de confiança deve mostrar a conta do fornecedor e a condição sts:ExternalId. Crie a função.

  5. Entregue o ARN da função

    Abra a função acabada de criar e copie o seu ARN, com a forma arn:aws:iam::123456789012:role/PanelExterno-Simplio. É a única coisa de que a ferramenta precisa; cole-o onde lho pedirem. Não é um segredo em si mesmo (sem o external ID e sem estar na conta de confiança não serve de nada), mas também não é preciso publicá-lo.

  6. Verifique o acesso e o registo

    A ferramenta deverá ligar-se de imediato. Para ver o que faz, no CloudTrail, histórico de eventos, filtre pelo nome da função: cada ação que execute aparece com a função como identidade. Se um dia quiser cortar o acesso, apague a função ou mude o external ID; o efeito é imediato assim que caducarem as credenciais temporárias em curso, que duram no máximo uma hora, a não ser que o tenha alargado.

O que pode correr mal

A ferramenta diz "not authorized to perform sts:AssumeRole"

Ou o ID da conta de confiança não está correto, ou o external ID não coincide, ou a ferramenta está a tentar assumir a função com um principal diferente daquele que você autorizou. Reveja o separador Trust relationships da função e compare-o letra a letra com o que o fornecedor lhe deu.

Liga-se, mas falta-lhe permissão para alguma coisa

A mensagem da AWS diz exatamente que ação falta. Acrescente-a à política do passo 2; a alteração aplica-se às chamadas seguintes sem mexer na função.

E se a ferramenta não suportar funções?

Então um utilizador IAM com permissões mínimas e uma chave de acesso é o plano B (tem o guia nesta secção). Rode a chave de vez em quando e vigie a sua "última utilização" no IAM.

Criei a função na conta errada

Com várias contas acontece. A função deve estar na conta cujos recursos quer que a ferramenta veja. Apague-a e crie-a na certa; o ARN mudará, atualize-o na ferramenta.

No Simplio

O Simplio admite a ligação por função: na ajuda mostra-lhe o ID de conta do Simplio e um external ID gerado para si, e gera-lhe a política de confiança e a de permissões marcando com caixas o que quer permitir. Cola o ARN da função e pronto: não há chave para guardar, e as credenciais que o Simplio pede à AWS caducam numa hora.

O mesmo, na AWS e no Simplio

Na consola da AWSNo Simplio
Criar a funçãoPolítica, função, entidade de confiança, external ID, ARN: 6 passos, 15 minutos sabendo o que se fazA ajuda dá-lhe a conta, o external ID e as duas políticas já escritas: colar e copiar o ARN, 3 minutos
Permissões justasConhecer o nome de cada açãoCaixas: só ver, sem firewall, sem terminal, uma região
RevogarApagar a função no IAMApagar a ligação no Simplio ou a função no IAM; sem chaves para perseguir

Experimentar grátis 15 dias Ver como funciona

Tudo isto, sem a consola da AWS

O Simplio é um painel em português para gerir as suas contas AWS: máquinas, cópias programadas, bases de dados, domínios, e-mail e o que a AWS lhe cobra, com permissões por pessoa e duplo fator. Sem instalar nada nos seus servidores.

Comece grátis 15 dias, sem cartão

Já é cliente? Acesso de clientes.