Assume Role (STS)
Conecte-se com credenciais temporárias de uma role IAM em qualquer conta. O DynamoOps chama sts:AssumeRole por você, mostra uma contagem regressiva da sessão ao vivo e oferece renovação com um clique.
Quando usar
Use o Assume Role quando suas credenciais locais pertencem a uma conta (ou usuário) e as tabelas estão por trás de uma role IAM, normalmente em outra conta. O DynamoOps faz a mesma chamada ao STS que você faria com aws sts assume-role e, em seguida, conecta ao DynamoDB com as credenciais temporárias retornadas. Suas chaves de longo prazo são usadas apenas para chamar o STS.
aws sts assume-role \
--role-arn arn:aws:iam::123456789012:role/DevelopersRole \
--role-session-name dev-session \
--duration-seconds 3600 \
--profile defaultCampos
- Account ID12 dígitosobrigatório
- A conta AWS de destino. Hífens são removidos automaticamente.
- Role Nametextobrigatório
- A role a ser assumida, por exemplo
DevelopersRole. O DynamoOps monta o ARNarn:aws:iam::<account>:role/<name>. - AWS Profiletext
- O perfil local cujas credenciais chamam o STS.
defaultou vazio usa a cadeia padrão do SDK. - Regionselectobrigatório
- Usada tanto como região do STS quanto como região do DynamoDB à qual conectar.
- Environmenttoggle
- None, Dev, Staging ou Prod. Exibida como selo no cabeçalho depois de conectar.
- Session Nametext
- Opcional. Aparece no CloudTrail como nome da sessão da role. O padrão é
dev-session. - Save profilecheckbox
- Armazena esta configuração com um nome em Saved Profiles.
Conectando
- Preencha a conta e a role
Digite o Account ID de 12 dígitos e o Role Name e, em seguida, escolha a região e o perfil local.
- Clique em Assume Role & Connect
O DynamoOps solicita credenciais válidas por uma hora, as valida com uma chamada de
ListTablese muda o app inteiro para a role assumida. - Confira o selo
O cabeçalho mostra 🛡️ <RoleName> (mm:ss) com uma contagem regressiva ao vivo, o selo de provedor ☁ AWS <region> e sua tag de ambiente.
Se a conta e a role estiverem faltando, o DynamoOps pede que você as preencha antes de chamar a AWS. Qualquer erro do STS aparece logo abaixo do formulário, por exemplo “Assume Role failed: User … is not authorized to perform: sts:AssumeRole on resource …” (o usuário não tem autorização para executar sts:AssumeRole no recurso).
Expiração e renovação da sessão
As credenciais do STS expiram após uma hora. O DynamoOps mantém você informado e permite renovar sem sair do espaço de trabalho.
| Quando | O que acontece |
|---|---|
| Durante toda a sessão | O selo da role faz a contagem regressiva até a expiração, atualizando a cada segundo. |
| 5 minutos antes da expiração | Um diálogo avisa que a sessão está prestes a expirar e oferece renovar agora ou ignorar. |
| Renovar | O DynamoOps executa novamente o AssumeRole com os mesmos parâmetros. Como em qualquer nova conexão, isso fecha as abas abertas e recarrega a lista de tabelas. |
| Cerca de 10 segundos após a expiração | Se você ignorou o aviso e o diálogo ainda está aberto, ele se torna um aviso bloqueante com uma única ação de renovar. Se a renovação falhar, você volta para a tela de login. |
| Totalmente ignorado | Nenhum aviso adicional. As chamadas de API começam a falhar quando a AWS rejeita as credenciais expiradas; reconecte-se pela tela de login. |
Histórico de roles
Abaixo do formulário, o DynamoOps guarda as dez últimas combinações distintas de role e perfil que você assumiu, da mais nova para a mais antiga. Cada entrada mostra o nome da role, o ID da conta, o perfil local (quando não é default) e a tag de ambiente, com cores por ambiente. Clicar em uma entrada preenche o formulário, e você só precisa pressionar Assume Role & Connect.
Atalho para acesso negado
Se você se conectar com credenciais sem a permissão dynamodb:ListTables, a barra lateral substitui a lista de tabelas por um aviso de acesso negado que indica o principal IAM e um botão que leva direto para a aba Assume Role. Essa é a forma mais rápida de se recuperar quando um perfil base só pode assumir roles e não tem permissões próprias no DynamoDB.
- Permissão mínima no principal base:
sts:AssumeRolena role de destino. - Permissão mínima na role de destino:
dynamodb:ListTables, mais o que as tabelas que você abrir exigirem. - Os detalhes completos sobre onde as credenciais são mantidas estão em Segurança e privacidade.