Exemplo de política da AWS IAM

Exemplo de política da AWS IAM

Os provedores de serviços em nuvem geralmente oferecem um recurso de gerenciamento de identidade ou identidade e acesso para fornecer uma conta extra de uma conta de raiz do usuário. Em um ambiente de trabalho/produção, dando a cada usuário acesso a uma conta raiz ou gerenciando serviços diretamente da raiz, a conta é vulnerável a ameaças à segurança. Em vez disso, podemos criar usuários com permissões específicas para evitar problemas de escalada de privilégios. Seguindo o mesmo padrão, a AWS fornece provisões para criar usuários, funções e políticas baseadas em IAM.

Ao anexar políticas do IAM aos papéis do IAM, podemos controlar o tipo de acesso, tarefas que podem ser executadas e os recursos usados ​​com essas tarefas. As políticas do IAM podem ser usadas para fornecer permissão de acesso a AWS APIs e recursos específicos. Da mesma maneira, podemos decidir em que condição o acesso deve ser fornecido.

Precisamos de permissões para entidades IAM, como usuários, grupos e funções para fazê -los acessar recursos da AWS. Por padrão, a AWS não fornece permissões para essas entidades. E é aí que entram as políticas da AWS. Essas políticas são anexadas às entidades acima para conceder -lhes várias permissões.

O que vamos cobrir?

Neste guia, discutiremos a seção de política da AWS e veremos algumas políticas de exemplo. Também veremos uma demonstração prática de usar uma política da AWS para operações baseadas em RDS.

Tipos de políticas

A AWS fornece os seguintes tipos de políticas:

  1. Políticas baseadas em identidade: Usado para anexar políticas gerenciadas e embutidas a entidades IAM, como usuários, grupos e funções. Dá permissão a uma identidade.
  1. Políticas baseadas em recursos: Usado para anexar políticas embutidas aos recursos, e.g., Anexar um balde S3.
  1. Limites de permissões de Iam: Esse recurso permite especificar as permissões máximas que podem ser definidas para uma entidade IAM por uma política baseada em identidade.
  1. Políticas de controle de serviço: Usado para definir as permissões máximas concedidas a contas pertencentes a uma organização.
  1. Listas de controle de acesso (ACLs): Usado para controlar quais diretores especificados de outras contas podem acessar os recursos na conta nativa.
  1. Políticas de sessão: Eles são passados ​​como um argumento ou parâmetro quando uma sessão temporária é criada para uma função.

O formato JSON é usado para definir a maioria das políticas na AWS. No entanto, também podemos usar o editor visual em vez de escrever a sintaxe JSON para definir uma política. A AWS fornece uma política pré-construída para muitos casos de uso que podem ser usados ​​com suas identidades IAM. Esta página documenta vários casos de uso para identidades de IAM. Vamos fazer um caso de uso de uma política baseada em identidade para RDS.

Exemplo de uma política da AWS IAM

Para este tutorial, criamos um usuário do IAM que, por padrão, não pode criar ou modificar os recursos do RDS devido a barreiras de permissão. Para e.g., Em seu estado atual, sem nenhuma política anexada, este usuário do IAM não pode criar uma instância do RDS DB. Se tentarmos criar um DB RDS a partir do console RDS deste usuário do IAM, obtemos o seguinte erro:


Como administrador do IAM, criaremos uma política e depois a conectaremos ao usuário do IAM. Esta política permitirá que nossos usuários do IAM:

  1. Crie banco de dados
  2. Excluir banco de dados
  3. Descreva o banco de dados
  4. Inicie o banco de dados
  5. Stop Database

Para a operação acima, adicionaremos uma política baseada em identidade chamada Política em linha. Esta política embutida é um conjunto de permissão mínima conjunta para a operação de banco de dados acima especificada. Agora siga as instruções abaixo:

Passo 1. Vá para o console da AWS IAM da conta raiz e clique em 'Usuários' e escolha o usuário alvo na lista ('Linuxhint' em nosso caso):


Passo 2. Na nova página, podemos ver que não há políticas anexadas ao usuário do IAM. Clique em 'Adicionar política embutida', como mostrado abaixo:


etapa 3. Um novo assistente nomeado como 'Create Policy' aparecerá onde você deve selecionar a guia JSON e colar o código abaixo:


"Versão": "2012-10-17",
"Declaração": [

"Sid": "visualizador0",
"Efeito": "permitir",
"Ação": [
"EC2: descrevevpcattribute",
"EC2: descrevendo grupos",
"EC2: Descrepininternetgateways",
"EC2: DescreviveAbilabilityZones",
"EC2: descrevevpcs",
"EC2: descreva,
"EC2: descrevebnets",
"RDS: descreva*",
"RDS: ListTagsforResource",
"RDS: CreatedBinstance",
"RDS: CreatedBSubnetGroup",
"RDS: DeletedBinstance",
"RDS: StopDbInstance",
"RDS: startdbinstance"
],
"Recurso": "*"

]

Passo 4. Agora clique no botão 'Política de revisão' na parte inferior:


Etapa 5. Dê um nome adequado à sua política e clique no botão "Criar política":


A política embutida acima agora pode ser vista na guia Permissões:


Agora podemos criar e gerenciar um banco de dados RDS através de um usuário do IAM. Para verificar isso, volte para o console RDS do usuário do IAM e tente novamente lançar uma instância do RDS DB. Desta vez, podemos lançar o banco de dados facilmente na opção 'Standard Create' do Assistente de lançamento do RDS.


Nota final: Não se esqueça de limpar os recursos que não estão em uso para evitar cobranças inesperadas.

Conclusão

Neste guia, aprendemos sobre as políticas da AWS para o controle de recursos finos dos recursos. Vimos uma demonstração anexando uma política baseada em identidade a um usuário, o que lhe permitiu gerenciar recursos RDS. Tente experimentar diferentes políticas disponíveis na AWS, atribuindo permissões mínimas a um usuário do IAM.