Recursos e acessos separados por projeto na AWS?

3

É possível separar recursos (instâncias do EC2, buckets do S3, etc.) por projeto e ter permissões separadas por projeto?

Dessa forma, posso dar permissão de administrador do projeto A para o usuário A e permissão de administrador do projeto B para o usuário B, mas o usuário A nem o usuário B podem modificar ou acessar o outro. Isso é bastante simples no Google Cloud Platform e queria saber se é o mesmo na AWS.

Sou freelancer com vários clientes. Seria bom se eu pudesse fazer o login usando o meu próprio e-mail e acessar todos os recursos do cliente, mas eles só podem acessar os seus próprios.

    
por zundi 29.08.2017 / 20:08

3 respostas

2

É possível ter esses tipos de permissões, mas não há como "ocultar" recursos pertencentes a um cliente de outro cliente.

Assim, enquanto o cliente A pode entrar e interagir apenas com seus recursos, eles ainda "verão" os recursos do cliente B.

Além disso, não há como uma fatura ser realmente dividida. Você pode ver um detalhamento da fatura usando a marcação de recursos, mas haverá apenas uma fatura. Você será responsável por pagar essa conta e recuperar os custos apropriados de seus clientes.

Por outro lado, você pode utilizar várias contas da AWS. Por exemplo, um para cada um dos seus clientes.

Isso tem muitos benefícios:

  • Os recursos são virtualmente separados
  • O cliente A não pode ver os recursos do cliente B
  • Escrita de política menos funky
  • As contas podem ser pagas diretamente por cada um de seus clientes

Com cada conta da AWS, você pode criar seu próprio usuário "admin" para poder gerenciar a conta.

Atualização:

Se você estiver disposto a pagar a conta e coletar de seus clientes, poderá usar as "Organizações" da AWS. Todas as contas da AWS separadas podem ser coletadas em uma conta da AWS.

    
por 30.08.2017 / 00:21
1

Sim, é fácil de fazer na AWS. Pode ser um pouco complexo, pois às vezes é preciso escrever políticas, mas há muitos exemplos e tutoriais ao redor.

Veja a documentação do Gerenciamento de identidade e acesso da AWS (IAM). Isso permite que você conceda a usuários específicos acesso a recursos específicos em um nível muito refinado. Você usa grupos e políticas para definir quem tem acesso a quais recursos.

Funções do IAM permitem que você faça login na sua conta para acessar recursos em outras contas. Basicamente, uma conta configura uma relação de confiança com sua conta e você pode assumir uma função para gerenciar essa conta. É um pouco complicado, mas funciona bem.

Eu não posso colocar todas as informações necessárias nesta resposta, é muito longo. A documentação da AWS é excelente, muitos tutoriais.

Como um aparte, se você estiver gerenciando várias contas da AWS, sugiro que use algo como Linux Academy ou Cloud Guru para estudar para pelo menos o exame do AWS Solution Architect Associate. Tudo isso é coberto, e o profissional vai ainda mais longe. A qualificação é boa, mas ter o conhecimento é fundamental.

Pergunta atualizada sobre faturamento

Se você deseja que o cliente pague a fatura diretamente, é necessário colocar cada cliente por conta própria. Isso normalmente significa criar uma AMI, criar uma nova instância na nova conta e, em seguida, alterar o DNS.

Se você faturar o cliente em nome, poderá usar tags de alocação de custos para calcular o faturamento de cada cliente.

    
por 29.08.2017 / 21:23
0

Várias contas por cliente, uma conta de faturamento mestre que também tem sua conta do IAM na qual você alterna as funções. E configure uma organização para gerenciar os usuários do IAM nas outras contas.

link

link

    
por 30.08.2017 / 15:00