Casos de uso de negócios do IAM - AWS Identity and Access Management

Casos de uso de negócios do IAM

Um caso de uso de negócios simples do IAM pode ajudar você a entender as maneiras básicas de implementar o serviço para controlar o acesso que seus usuários têm à AWS. O caso de uso é descrito em termos gerais, sem a mecânica de como você pode usaria a API do IAM para obter os resultados desejados.

Este caso de uso mostra duas formas típicas que uma empresa fictícia chamada Exemplo Corp pode usar o IAM. O primeiro cenário considera o Amazon Elastic Compute Cloud (Amazon EC2). O segundo considera o Amazon Simple Storage Service (Amazon S3).

Para obter mais informações sobre como usar o IAM com outros produtos da AWS, consulte Serviços da AWS que funcionam com o IAM.

Configuração inicial da Exemplo Corp

João é o fundador da Exemplo Corp. Após abrir a empresa, ele cria sua própria conta da AWS e usa os produtos da AWS por conta própria. Então, ele contrata funcionários para trabalhar como desenvolvedores, administradores, testadores, gerentes e administradores de sistema.

John usa o AWS Management Console com as credenciais de usuário raiz da Conta da AWS para criar um usuário para si mesmo chamado John e um grupo de usuários chamado Admins (Administradores). Ele concede ao grupo de usuários Admins permissões para executar todas as ações em todos os recursos da conta da AWS usando a política gerenciada pela AWS AdministratorAccess. Em seguida, ele adiciona o usuário John ao grupo de usuários Admins. Para obter um guia detalhado sobre como criar um grupo de usuários administradores e um usuário do IAM para você mesmo e, em seguida, adicionar seu usuário ao grupo de usuários Administrators (Administradores), consulte Criar o seu primeiro usuário administrador e um grupo de usuários do IAM.

Nesse ponto, John pode parar de usar as credenciais de usuário raiz para interagir com a AWS e, em vez disso, ele começa a usar apenas suas credenciais de usuário.

John também cria um grupo de usuários chamado AllUsers para que ele possa aplicar com facilidade qualquer permissão de conta abrangente a todos os usuários na conta da AWS. Ele se adiciona ao grupo de usuários. Ele então cria um grupo de usuários chamado Developers (Desenvolvedores), um grupo de usuários chamado Testers (Testadores), um grupo de usuários chamado Managers (Gerentes) e um grupo de usuários chamado SysAdmins. Ele cria usuários para cada um de seus funcionários e coloca os usuários em seus respectivos grupos. Ele também os adiciona ao grupo de usuários AllUsers. Para obter informações sobre como criar grupos de usuários, consulte Criação de grupos de usuários do IAM. Para obter informações sobre a criação de usuários, consulte Criar um usuário do IAM na sua conta da AWS. Para obter informações sobre a inclusão de usuários em grupos de usuários, consulte Gerenciar grupos de usuários do IAM.

Caso de uso do IAM com o Amazon EC2

Uma empresa como a Exemplo Corp normalmente usa o IAM para interagir com serviços como o Amazon EC2. Para entender essa parte do caso de uso, você precisa de uma compreensão básica do Amazon EC2. Para obter mais informações sobre o Amazon EC2, acesse o Guia do usuário do Amazon EC2 para instâncias do Linux.

Permissões do Amazon EC2 para os grupos de usuários

Para fornecer controle de “perímetro”, John anexa uma política ao grupo de usuários AllUsers. Esta política nega qualquer solicitação da AWS de um usuário se o endereço IP de origem estiver fora da rede corporativa da Exemplo Corp.

Na Exemplo Corp, diferentes grupos de usuários exigem diferentes permissões:

  • Administradores de sistema: precisam de permissão para criar e gerenciar AMIs, instâncias, snapshots, volumes, grupos de segurança e assim por diante. John anexa a política gerenciada pela AWS AmazonEC2FullAccess da ao grupo de usuários SysAdmins que concede aos membros do grupo permissão para usar todas as ações do Amazon EC2.

  • Desenvolvedores: precisam da capacidade de trabalhar apenas com instâncias. Portanto, John cria e anexa uma política ao grupo de usuários Developers (Desenvolvedores) que permite que os desenvolvedores chamem DescribeInstances, RunInstances, StopInstances, StartInstances e TerminateInstances.

    nota

    O Amazon EC2 usa chaves SSH, senhas do Windows e grupos de segurança para controlar quem tem acesso ao sistema operacional de instâncias específicas do Amazon EC2. Não há um método no sistema do IAM para permitir ou negar acesso ao sistema operacional de uma instância específica.

  • Gerentes: não devem ser capazes de realizar qualquer ação do Amazon EC2, exceto listar os recursos do Amazon EC2 atualmente disponíveis. Portanto, John cria e anexa uma política ao grupo de usuários Managers (Gerentes) que apenas permite que eles chamem as operações de API “Describe” (Descrever) do Amazon EC2.

Para obter exemplos de como essas políticas podem ser, consulte Exemplos de políticas baseadas em identidade do IAM e Uso do AWS Identity and Access Management no Guia do usuário do Amazon EC2 para instâncias do Linux.

Mudança da função de trabalho do usuário

Em determinado momento, um dos desenvolvedores, Paulo, muda de função de trabalho e se torna gerente. John muda Paulo do grupo de usuários Developers (Desenvolvedores) para o grupo de usuários Managers (Gerentes). Agora que ele está no grupo de usuários Managers (Gerentes), a capacidade de Paulo de interagir com instâncias do Amazon EC2 é limitada. Ele não pode executar ou iniciar instâncias. Ele também não pode interromper ou encerrar instâncias existentes, mesmo que ele tenha sido o usuário que executou ou iniciou a instância. Ele pode listar apenas as instâncias que os usuários da Exemplo Corp executaram.

Caso de uso do IAM com o Amazon S3

Empresas como a Exemplo Corp também costumam usar o IAM com o Amazon S3. John criou um bucket do Amazon S3 para a empresa chamado aws-s3-bucket.

Criação de outros usuários e grupos de usuários

Como funcionários, Zhang e Maria precisam ser capazes de criar seus próprios dados no bucket da empresa. Eles também precisam ler e gravar dados compartilhados em que todos os desenvolvedores trabalham. Para permitir isso, John organiza logicamente os dados no aws-s3-bucket usando um esquema de prefixo de chaves do Amazon S3, conforme mostrado na figura a seguir.

/aws-s3-bucket /home /zhang /mary /share /developers /managers

João divide o /aws-s3-bucket em um conjunto de diretórios iniciais para cada funcionário e uma área compartilhada para grupos de desenvolvedores e gerentes.

Agora, John cria um conjunto de políticas para atribuir permissões aos usuários e grupos de usuários:

  • Acesso ao diretório hone para Zhang: John anexa uma política a Zhang que permite a ele ler, gravar e listar qualquer objeto com o prefixo de chaves /aws-s3-bucket/home/Zhang/ do Amazon S3

  • Acesso ao diretório base para Mary: John anexa uma política à Mary que permite a ela ler, gravar e listar qualquer objeto com o prefixo de chaves /aws-s3-bucket/home/mary/ do Amazon S3

  • Acesso ao diretório compartilhado para o grupo de usuários desenvolvedores: John anexa uma política ao grupo de usuários que permite aos desenvolvedores ler, gravar e listar qualquer objeto em /aws-s3-bucket/share/developers/

  • Acesso ao diretório compartilhado para o grupo de usuários gerentes: John anexa uma política ao grupo de usuários que permite aos gerentes ler, gravar e listar objetos em /aws-s3-bucket/share/managers/

nota

O Amazon S3 não concede permissão automática ao usuário que cria um bucket ou objeto para executar outras ações naquele bucket ou objeto. Portanto, em suas políticas do IAM, você deve explicitamente conceder aos usuários permissão para usar os recursos do Amazon S3 que eles criam.

Para obter exemplos dessas políticas, consulte Controle de acesso no Guia do usuário do Amazon Simple Storage Service. Para obter informações sobre como as políticas são avaliadas no tempo de execução, consulte Lógica da avaliação de política.

Mudança da função de trabalho do usuário

Em determinado momento, um dos desenvolvedores, Zhang, muda de função de trabalho e se torna gerente. Presumimos que ele não precise mais acessar os documentos no diretório share/developers. John, como administrador, move Zhang para o grupo de usuários Managers e o remove do grupo de usuários Developers. Com esta simples reatribuição, Zhang obtém automaticamente todas as permissões concedidas ao grupo de usuários Managers, mas não poderá mais acessar os dados no diretório share/developers.

Integração com uma empresa de terceiros

Organizações frequentemente trabalham com empresas, consultores e prestadores de serviço parceiros. A Exemplo Corp tem um parceiro chamado Widget Company e uma funcionária da Widget Company chamada Shirley precisa colocar dados em um bucket para uso da Exemplo Corp. John cria um grupo de usuários chamado WidgetCo e um usuário chamado Shirley e adiciona Shirley ao grupo de usiários WidgetCo. John também cria um bucket especial chamado aws-s3-bucket1 para Shirley usar.

João atualiza as políticas existentes ou adiciona novas políticas, a fim de acomodar o parceiro Widget Company. Por exemplo, John pode criar uma nova política que nega aos membros do grupo de usuários WidgetCo a capacidade de usar qualquer ação exceto gravação. Essa política será necessária apenas se houver uma política ampla que forneça a todos os usuários acesso a um amplo conjunto de ações do Amazon S3.