AWS Identity and Access Management Service (IAM)

Este serviço da Amazon AWS atua nos processos de autenticação e gerenciamento de acesso aos recursos de uma conta ou serviço da Amazon. Neste artigo, pretendo mostrar os recursos básicos deste serviço para que você tenha uma visão geral do mesmo.

IAM é um serviço global, ou seja, não é configurado em regiões específicas. A configuração do serviço (níveis de permissão de acesso) é de responsabilidade do contratante do mesmo e não da Amazon. Você pode gerenciar os acessos às suas aplicações da maneira que achar mais conveniente. IAM possui os seguintes componentes: Users, Groups, Roles, Policy Permissions, Access Control Mechanisms. Vou descrever mais detalhes sobre alguns destes componentes.

Como você deve imaginar, Policy Permissions definem as permissões de acesso e podem ser associadas aos grupos (boa prática é associar ao grupo e não ao usuário). Grupos, por sua vez, são usados para agrupar um conjunto de usuários que necessitam do mesmo tipo de acesso. Adicionalmente, você pode usar as Roles para fornecer uma espécie de acesso temporários à grupos ou serviços (veremos adiante).

Na tela inicial do IAM você encontrará as informações mais relevantes do serviço, como:

  • Link de acesso ao console da sua conta Amazon
  • IAM resources (apresenta uma contagem dos recursos utilizados, como quantidade de usuários, grupos, etc)
  • Recomendações de boas práticas

AIM Users

Você já deve imaginar que o objetivo deste componente é permitir a criação e manutenção de usuário. No entanto, o que eu gostaria de ressaltar aqui são os dois tipos de acesso que você pode escolher ao criar um usuário. São eles:

  • programmatic access: habilita uma access key e uma secret access key para acesso aos serviços por meio de uma ferramenta de desenvolvimento
  • AWS management console access: habilita uma senha para que o usuário acesse o console da conta

AIM Roles

Este componente permite a atribuição de uma série de permissões temporárias para um determinado serviço da Amazon ou usuário/grupo. Existem diferentes tipos de Roles:

  • AWS Service Role: atribui permissão de acessos aos serviços da Amazon por parte de outros serviços da Amazon.Por exemplo, se uma instância EC2 precisa de acesso a um S3 bucket, você teria que armazenar as credenciais de acesso ao bucket dentro da instância EC2. No entanto, uma outra forma de resolver o mesmo caso (e também mais recomendada), seria associar a própria instância EC2 à uma IAM Role que possui acesso ao bucket.

A principal vantagem em se utilizar uma AIM Role neste caso é que você não teria que expor as credenciais de acesso aos serviços em nenhum lugar, pois as credenciais associadas à uma AIM Role são dinamicamente atribuídas pela Amazon AWS.

  • AWS Service-Linked Role: São associados a certos serviços da Amazon. Este tipo de Role é pre-definida pela Amazon e não permite alteração das permissões
  • Role for Cross-Account Access: permite a configuração acesso à diferentes contas (trusting vs trusted accounts)
  • Role for Identity Provider Access: permite atribuir acessos à terceiros (exemplo: API calls, Google, Facebook)

IAM Policies

Policies são especificadas por meio de arquivos JSON e seus principais elementos são:

  • Version
  • Statement
    • Sid => identificador único do statement
    • Action => ação que você quer configurar (são API calls para cada serviço). Por exemplo: “s3:PutObject
    • Effect => permissão. Por exemplo: “allow
    • Resource => especifica o recurso que você quer aplicar a action+effect definidos. or exemplo: “arn:aws:s3:::bucket-name
    • Condition => componente opcional que permite especificar quando a permissão será aplicada. Por exemplo: filtrar um endereço IP de origem

Podemos separar IAM Policies em diferentes categorias:

  • Managed Policies: É possível associar estas policies com groups, roles ou users
    • AWS managed policies: pré-configuradas pela AWS
    • Customer managed policies: configurada pelo usuário
      Para criar suas próprias policies, você pode copiar uma managed policy e fazer suas alterações em cima, utilizar o policy generator ou criar sua policy manualmente (criando o arquivo JSON do zero).
  • Inline Policies: Este tipo de policy é diretamente incorporado a um user, group ou role específicos, ou seja, não é possível replicá-la para outros users, groups ou roles.

Ao configurar as permissões de acesso aos seus serviços, leve em consideração que, por padrão, ninguém terá acesso aos recursos. É necessário configurar policies com effect “allow” para que os users, groups ou roles comecem a ter algum tipo de acesso. Quando existe sobreposição de polcies, deny sempre terá prioridade.

Multi-Factor Authentication (MFA)

Adiciona etapas adicionais ao processo de autenticação do usuário. MFA utiliza um número aleatório de 6 dígitos gerados por um MFA device para reforçar a autenticação. AWS não efetua cobranças adicionais por este serviço, porém, você deve usar o seu próprio MFA device (físico ou virtual).

Identity Federation

Identity Federation permite que recursos da Amazon AWS sejam acessados e gerenciados mesmo sem a presença de uma conta de usuário no IAM. Identity Providers (IdP) permitem que usuários acessem os recursos de forma segura. Por exemplo: Active Directory e OpenID Connect Web Providers (como Facebook e Google). Veja mais em http://openid.net/connect/

A vantagem de se utilizar Identity Providers são:

  • Minimiza os esforços de administração de usuários no IAM
  • Possibilita soluções SSO (Single Sign On)

Para que seja possível atribuir este tipo de acesso, é necessário criar uma relação de confiança entre o IdP e a conta AWS. Amazon AWS suporta dois tipos de IdP:

  • OpenId (permite conexão entre recursos AWS e OpenID Connect Providers)
  • SAML (permite conexão entre recursos AWS e Microsoft Active Directory – possibilitando uma solução SSO)

Key Management Service (KMS)

Permite que você gerencie suas chaves de criptografia para aumentar a segurança dos dados. Se você perder essas chaves, as mesmas não podem ser recuperadas. Você pode gerenciar suas Custom Master Keys (CMK) a partir do console do IAM.

Fonte: Cloud Academy – Identity and Access Management Service (IAM)

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: