E, no princípio, criaram-se as policies
Nessa segunda parte do artigo do IAM, falaremos sobre as Policies do IAM, seus tipos e formas de uso.
Policies, O que são ?
Uma IAM Policy é um caminho para permitir ou negar usuários a executarem certas ações em uma conta AWS. Quando um usuário é criado, por padrão esse terá apenas permissão para login. Ele não poderá ver, modificar ou criar nenhum recurso. Ou seja, as policies são usadas para garantir permissões adicionais.
IAM policies, pode ser definida de forma bem granular, é isso significa que com as políticas, se pode permitir ou restringir acesso, visualização, criação, deleção, modificação, entre outras ações de forma abrangente onde você diz, esse usuário pode fazer e acessar tudo e qualquer coisa, ele é o que PODE, e nisso termos vários riscos, por outro lado se pode restringir ao usuário ou serviço que ele possa apenas visualizar um único recurso de um único serviço.
Ex.: Tony, poderá apenas visualizar e modificar o arquivo4 do diretório setembro_2023 no Amazon S3 bucket relatorios_pa.
Existem 3 tipos de políticas baseadas em identidade
- Gerenciada pela AWS
São políticas que são criadas e administrada pela Amazon, essas políticas tem como característica a sua independência, isso significa que elas tem seu próprio nome de recurso (ARN) que inclui o nome da política.
Por exemplo, arn:aws:iam::aws:policy/IAMReadOnlyAccess é uma política gerenciada da AWS.
As políticas gerenciadas pela AWS facilitam a atribuição das devidas permissões a usuários, grupos e perfis. É mais rápido do que escrever as políticas por conta própria e contém permissões para vários casos de uso comuns.
Você não pode alterar as permissões definidas em políticas gerenciadas pela AWS. - Gerenciada pelo Cliente
Você pode criar políticas independentes em sua Conta da AWS que podem ser anexadas a entidades principais (usuários, grupos e perfis). Crie essas políticas gerenciadas pelo cliente para seus casos de uso específicos e você poderá alterá-las e atualizá-las quantas vezes quiser. Assim como nas políticas gerenciadas pela AWS, ao anexar uma política a uma entidade principal, você atribui à entidade as permissões que estão definidas na política. Quando você atualiza permissões na política, as alterações são aplicadas a todas as entidades principais às quais ela esteja anexada. - Em Linha
A política em linha é uma política criada para uma única identidade do IAM (um usuário, grupo ou perfil) e mantêm um relacionamento estrito de um para um entre uma política e uma identidade. Elas são excluídas quando você exclui a identidade. Você pode criar uma política e incorporá-la em uma identidade, seja ao criar a identidade ou posteriormente. Se a política puder ser aplicada a mais de uma entidade, é melhor usar uma política gerenciada.
Tipos de políticas
- Baseada em identidade
Também conhecidas como políticas do IAM, as políticas baseadas em identidade são gerenciadas e as políticas em linha anexadas a identidades do IAM (Usuários, grupos de usuários ou funções ) implantam as permissões principais do iam. - Baseada em recursos
Essas são políticas em linha anexadas aos recursos da AWS. Os exemplos mais comuns de políticas baseadas em recursos são as políticas de bucket do Amazon S3 e as políticas de confiança de função do IAM.
As políticas baseadas em recursos concedem permissões a entidade principal específica na política ou conta.
Limite de Permissões (Boundary)
Conjunto de limite de permissão define as permissões máximas que uma política baseada em identidade pode conceder a uma entidade.

Mas passando por esse fundamento, como podemos resolver?
Quando criar políticas, pense sempre em conceder o mínimo possível, não se pode ter preguiça e querer liberar acesso a tudo e permitir que a entidade faça o que quiser. Além do mais, mesmo para uma grande amigo, você permite que ele faça apenas algumas coisas dentro da sua casa. Então, guarde isso contigo, least privilege Sempre!
E como faço isso ? Como escrevo políticas com privilégios mínimos ?
Existe alguma técnica ?
Bom, sim existe algumas técnicas para tal. Veremos algumas coisas do tipo.
Inicie com o Editor visual
O editor visual é meu ponto de partida padrão para criar políticas, pois gosto do assistente e vejo todos os serviços, ações e condições disponíveis sem consultar a documentação. Se houver uma política complexa com muitos serviços, geralmente vejo as políticas gerenciadas pela AWS como um ponto de partida para as ações necessárias e, em seguida, uso o editor visual para ajustar e verificar os recursos e condições.

Uma forma de saber o que se precisa de permissão para executar alguma tarefa é fazendo uso de ferramentas geradoras como a iamlive. Assim, como base no retorno, se poder fazer acréscimos como condições, limitar os recursos, entre outros.
Lembre-se que ferramentas auxiliam, mas é primordial entender a base, entender os princípios. Privilégio mínimo é sempre o ideal!