Todos os conteúdos

Engenharia

Como o Mosaic se conecta à AWS

Uma explicação técnica das funções entre contas, descoberta automática, verificação e revogação.

Conectar uma ferramenta de custos não deveria exigir chaves de acesso. A conexão AWS do Mosaic usa uma função IAM na sua conta, credenciais temporárias e uma etapa de registro. Veja quais informações cruzam a fronteira entre contas e como revogar o acesso.

A role define os limites do acesso

A CloudFormation stack cria uma função IAM nomeada com três ações de leitura de Cost Explorer: ce:GetCostAndUsage, ce:GetDimensionValues e ce:GetTags. Elas permitem consultar custos e dimensões de cobrança. Não concedem permissão para alterar infra-estrutura nem ler objetos da aplicação no S3.

A política de confiança identifica a conta AWS do Mosaic e exige um ID externo. Quando precisa importar custos, o worker chama o STS AssumeRole com esse ID e usa as credenciais temporárias retornadas. Não há uma chave de usuário IAM do cliente para renovar dentro do Mosaic. Esse é o modelo de acesso por funções para terceiros da AWS.

ID externo e token de registro têm funções distintas

O ID externo associa a solicitação de assumir a função a uma conexão do Mosaic. Ele ajuda a evitar que um cliente induza um serviço compartilhado a usar a função de outra pessoa, o confused deputy problem. O ID externo é uma condição da política de confiança, não um substituto para a identidade AWS autorizada.

O registro resolve outro problema. Um token aleatório separado comprova que a CloudFormation stack pertence à tentativa de configuração atual. O Mosaic criptografa ambos os valores no armazenamento e disponibiliza o material de configuração somente a administradores autenticados da organização. Essa separação mantém a confirmação do registro independente da condição usada para acessar a função posteriormente.

A própria AWS informa a conta selecionada

O cliente escolhe a conta na AWS e cria a CloudFormation stack gerada. As opções Console e CLI usam os mesmos parâmetros persistidos: nomes da stack e da função, ID externo, identificador da tentativa e token de registro. Retomar a configuração reutiliza esses valores. Reiniciá-la gera uma nova tentativa.

Um recurso personalizado do CloudFormation baseado em SNS envia o ARN da função e a identidade da conta ao serviço de registro do Mosaic. O cliente não precisa implantar uma função Lambda. O Mosaic verifica o token, a tentativa atual, o nome da função e a correspondência entre conta e CloudFormation stack antes de registrar o acesso. Entregas duplicadas não podem trocar a CloudFormation vinculada, e uma tentativa antiga não pode sobrescrever a nova.

Registro concluído não significa dados disponíveis

Um CloudFormation stack concluído confirma a criação da função e seu registro. Os dados de cobrança da AWS ainda podem estar sendo preparados. O Mosaic primeiro assume a função e depois consulta o Cost Explorer. O acesso confirmado coloca na fila a importação do histórico escolhido: um, três, seis ou treze meses, com seis como padrão.

Os resultados das verificações são persistidos. Uma reserva temporária impede verificações simultâneas, e uma rotina em segundo plano continua o trabalho quando o navegador é fechado. A ativação e a criação da importação inicial ocorrem na mesma transação do banco de dados.

Quando a AWS informa explicitamente que os dados estão indisponíveis, o Mosaic sugere conferir a ativação do Cost Explorer e aguardar a preparação da cobrança. Uma falha genérica ou uma resposta vazia não prova que o serviço está desativado. A AWS descreve esse processo de preparação.

As chamadas à API também têm custo. O intervalo histórico e a paginação afetam o número de solicitações. Consulte os preços da AWS.

A revogação continua sob seu controle

Desconectar no Mosaic interrompe a conexão e preserva o histórico importado. Excluir a CloudFormation stack remove a função e envia uma notificação de exclusão. Essa notificação só pode desativar a conexão vinculada àquela CloudFormation stack. Se a entrega falhar, desconecte também no Mosaic.

Para pré-requisitos, seleção de conta, instruções CLI e recuperação, consulte o guia de conexão AWS, em inglês.

Leia em: English

Veja o sinal antes da fatura chegar.

Deixe seu email para receber um convite quando as inscrições para o beta do Mosaic começarem.

Usaremos seu email apenas para entrar em contato sobre o acesso beta do Mosaic.