Existem duas empresas: Cliente e Empreiteiro. Ambos têm contas da AWS. Estou procurando uma maneira simples, mas segura, de obter acesso da equipe da equipe contratada ao console AWS do cliente . Sim, estou do lado do empreiteiro.
As maneiras que me lembro até agora:
- crie um usuário na conta do cliente e forneça login/senha. Que eu saiba não é recomendado. Além disso, pode ser uma dor de cabeça para o contratante que tem muitos clientes para gerenciar todas as credenciais e bastante desconfortável para alternar entre as contas durante o dia de trabalho (o principal motivo).
- federação. Possível armadilha: o cliente precisa adicionar o provedor de federação, se o provedor for o AD do contratado, para mim não parece melhor do que apenas criar uma conta. Usar o provedor de identidade de terceiros (4º?) (google) não parece bom para mim porque minha paranóia protesta contra a exposição das credenciais do contratante para uso interno apenas para serviços públicos semelhantes ao Big Brother. Talvez eu esteja errado ou algo faltando aqui, ficarei feliz em ouvir sua opinião bem fundamentada.
- use o acesso entre contas (recomendado).
O terceiro parece o mais correto, mas o problema é: até agora não consigo encontrar uma maneira pronta de fazê-lo. Minhas descobertas: como usar um ID externo [...] , fornecer acesso a contas da AWS [...] e como habilitar o acesso entre contas ao console . Nenhum deles está pronto para uso e dá a você uma ideia de onde seguir em frente. Também sei que a Rackspace tem sua própria solução para esse fim, mas não conseguiu encontrar o código.
Então, vou repetir: estou procurando uma maneira simples, mas segura, de obter acesso da equipe da equipe contratada ao console AWS do cliente. Ficarei feliz em economizar alguns esforços e não reinventar uma bicicleta. Você conhece/tem essa solução?
Para fornecer acesso entre contas, você precisa de uma função na conta do cliente, vamos chamá-la de "contratante". Crie esta função na conta do cliente com as permissões necessárias e no
AssumeRolePolicyDocument
add:{ "Statement": { "Action": "sts:AssumeRole", "Effect": "Allow" "Principal": { "AWS": [ arn:aws:iam::12345678910:user/contractor.user ] } } }
onde 12345678910 é o ID da conta do contratante.
Então, quando você acessar a função de contratante, você pode selecionar "Alternar função" no canto superior direito, digitar o nome da conta ou ID da conta do cliente e digitar o nome da função "contratante" e boom.