Políticas gerenciadas e em linha - AWS Identity and Access Management

Políticas gerenciadas e em linha

Quando você precisa definir as permissões para uma identidade no IAM, você deve decidir se deseja usar uma política gerenciada pelaAWS , uma política gerenciada pelo cliente ou uma política em linha. As seções a seguir oferecem mais informações sobre cada um dos tipos de políticas baseadas em identidade e quando usá-las.

Políticas gerenciadas pela AWS

Uma política gerenciada pela AWS é uma política independente que é criada e administrada pela AWS. Política independente significa que a política tem seu próprio nome de recurso da Amazon (ARN) que inclui o nome da política. Por exemplo, arn:aws:iam::aws:policy/IAMReadOnlyAccess é uma política gerenciada da AWS. (Para obter mais informações sobre ARNs, consulte ARNs do IAM).

As políticas gerenciadas pela AWS são criadas para fornecer permissões para vários casos de uso comuns. As políticas gerenciadas pela AWS de acesso total, como AmazonDynamoDBFullAccess e IAMFullAccess, definem permissões para administradores de serviço concedendo acesso total a um serviço. As políticas gerenciadas pela AWS de usuário avançado, como AWSCodeCommitPowerUser e AWSKeyManagementServicePowerUser, foram projetadas para usuários avançados. As políticas AWS de acesso parcial gerenciadas pela, como AmazonMobileAnalyticsWriteOnlyAccess e AmazonEC2ReadOnlyAccess, oferecem níveis específicos de acesso a serviços da AWS sem conceder permissões no nível de acesso de gerenciamento de permissões. As políticas gerenciadas pela AWS facilitam a atribuição de permissões apropriadas a usuários, grupos e funções em comparação à elaboração de suas próprias políticas.

Uma categoria especialmente útil de políticas gerenciadas pela AWS são as projetadas para funções de trabalho. Essas políticas se alinham intimamente a funções de trabalho normalmente usadas no setor de TI. O objetivo é tornar a concessão de permissões para essas funções de trabalho comuns algo fácil. Uma das principais vantagens de usar políticas de função de trabalho é que elas são mantidas e atualizadas pela AWS à medida que novos serviços e operações de API são introduzidos. Por exemplo, a função de trabalho AdministratorAccess fornece acesso total e delegação de permissões para cada serviço e recurso na AWS. Recomendamos que essa política seja usada apenas para o administrador da conta. Para usuários avançados que exigem acesso completo a todos os serviços, exceto o acesso limitado ao IAM e ao Organizations, use a função de trabalho PowerUserAccess. Para obter uma lista e as descrições das políticas de função de trabalho, consulte Políticas gerenciadas pela AWS para funções de trabalho.

Você não pode alterar as permissões definidas em políticas gerenciadas pela AWS. Ocasionalmente, a AWS atualizará as permissões definidas em uma política gerenciada da AWS. Quando a AWS fizer isso, a atualização afetará todas as principais entidades (usuários, grupos e funções) às quais a política está anexada. É mais provável que a AWS atualize uma política gerenciada da AWS quando um novo serviço da AWS for iniciado ou novas chamadas de API se tornarem disponíveis para os serviços existentes. Por exemplo, a política gerenciada pela AWS denominada ReadOnlyAccess fornece acesso somente leitura a todos os serviços e recursos da AWS. Quando a AWS lança um novo serviço, a AWS atualiza a política ReadOnlyAccess para adicionar permissões somente leitura para o novo serviço. As permissões atualizadas são aplicadas a todas as entidades principais às quais política estiver anexada.

O seguinte diagrama ilustra as políticas gerenciadas pela AWS. O diagrama mostra três políticas gerenciadas pela AWS: AdministratorAccess, PowerUserAccess e AWSCloudTrailReadOnlyAccess. Uma única política gerenciada pela AWS pode ser anexada a entidades principais em diferentes contas da AWS e a entidades principais diferentes em uma única conta da AWS.


        Diagrama de políticas gerenciadas pela AWS

Políticas gerenciadas pelo cliente

Você pode criar políticas independentes que são administradas em sua própria conta da AWS, o que chamamos de políticas gerenciadas pelo cliente. Em seguida, você pode anexar as políticas a várias entidades principais na sua conta da AWS. Ao anexar uma política a uma entidade principal, você atribui à entidade as permissões que estão definidas na política.

Uma ótima forma de criar uma política gerenciada pelo cliente é começar copiando uma política gerenciada pela AWS. Dessa forma, você sabe que a política está correta no início e basta personalizá-la para seu ambiente.

O seguinte diagrama ilustra as políticas gerenciadas pelo cliente. Cada política é uma entidade no IAM com seu próprio nome de recurso da Amazon (ARN) que inclui o nome da política. Observe que a mesma política pode ser anexada a várias entidades de segurança, por exemplo, a mesma política DynamoDB-books-app é anexada a duas funções do IAM distintas.


        Diagrama de políticas gerenciadas pelo cliente

Conceitos básicos do uso de permissões com políticas gerenciadas pela AWS

Recomendamos o uso de políticas que concedam privilégios mínimos ou conceder apenas as permissões necessárias para executar uma tarefa. A maneira mais segura de conceder privilégio mínimo é escrever uma política gerenciada pelo cliente apenas com as permissões necessárias para sua equipe. Você deve criar um processo para permitir que sua equipe solicite mais permissões quando necessário. É necessário tempo e experiência para criar políticas gerenciadas pelo cliente do IAM que fornecem à sua equipe apenas as permissões de que precisam.

Para começar a adicionar permissões às suas identidades do IAM (usuários, grupos de usuários e funções), você pode usar as Políticas gerenciadas pela AWS. As políticas gerenciadas pela AWS não concedem permissões de privilégio mínimo. Você deve considerar o risco de segurança de conceder às suas entidades de segurança mais permissões do que elas precisam para realizar um trabalho.

Você pode anexar políticas gerenciadas pela AWS, incluindo funções de trabalho, a qualquer identidade do IAM. Para alternar para permissões de privilégio mínimo, você pode executar o AWS Identity and Access Management Access Analyzer para monitorar as entidades de segurança com políticas gerenciadas pela AWS. Depois de saber quais permissões elas estão usando, você pode escrever uma política personalizada ou gerar uma política apenas com as permissões necessárias para sua equipe. Isso é menos seguro, mas oferece mais flexibilidade à medida que você aprende como sua equipe está usando a AWS.

As políticas gerenciadas pela AWS são criadas para fornecer permissões para vários casos de uso comuns. Para obter mais informações sobre políticas gerenciadas pela AWSque são projetadas para funções de trabalho específicas, consulte Políticas gerenciadas pela AWS para funções de trabalho.

Políticas em linha

Uma política em linha é uma política incorporada a uma identidade do IAM (um usuário, um grupo ou uma função). Ou seja, a política é uma parte inerente da identidade. Você pode criar uma política e incorporá-la em uma identidade, seja ao criar a identidade ou posteriormente.

O seguinte diagrama ilustra as políticas em linha. Cada política é uma parte inerente do usuário, do grupo ou da função. Observe que duas funções incluem a mesma política (DynamoDB-books-app), mas elas não compartilham uma única política; cada função tem sua própria cópia da política.


        Diagrama de políticas em linha

Escolher entre políticas gerenciadas e em linha

Os diferentes tipos de políticas são para casos de uso diferentes. Na maioria dos casos, recomendamos que você use políticas gerenciadas em vez de políticas em linha.

As políticas gerenciadas fornecem os seguintes recursos:

Capacidade de reutilização

Uma única política gerenciada pode ser anexada a várias entidades principais (usuários, grupos e funções). Na verdade, você pode criar uma biblioteca de políticas que definem permissões úteis para sua conta da AWS e, em seguida, anexar essas políticas a entidades principais, conforme necessário.

Gerenciamento de alterações central

Quando você alterar uma política gerenciada, a alteração será aplicada a todas as entidades principais às quais a política estiver anexada. Por exemplo, se você deseja adicionar permissões para uma nova API da AWS, poderá atualizar a política gerenciada para adicionar a permissão. (Se você estiver usando uma política gerenciada pela AWS, a AWS atualizará a política.) Quando a política for atualizada, as alterações serão aplicadas a todas as entidades principais às quais a política estiver anexada. Por outro lado, para alterar uma política em linha, é necessário editar individualmente cada identidade que contenha a política. Por exemplo, se um grupo e uma função contiverem a mesma política em linha, você deverá editar individualmente as duas entidades principais para alterar essa política.

Versionamento e reversão

Quando você altera uma política gerenciada pelo cliente, a política alterada não substitui a política existente. Em vez disso, o IAM cria uma nova versão da política gerenciada. O IAM armazena até cinco versões de suas políticas gerenciadas pelo cliente. Você pode usar as versões da política para reverter uma política para uma versão anterior, se necessário.

nota

Uma versão de política é diferente de um elemento de política Version. O elemento de política Version é usado em uma política e define a versão da linguagem da política. Para saber mais sobre as versões de política, consulte Versionamento de políticas do IAM. Para saber mais sobre o elemento de política Version, consulte Elementos de política JSON do IAM: Version.

Como delegar o gerenciamento de permissões

Você pode permitir que os usuários em sua conta da AWS anexe e desanexe políticas sem deixar de manter o controle das permissões definidas nessas políticas. Na verdade, você pode designar alguns usuários como administradores completos, ou seja, administradores que podem criar, atualizar e excluir políticas. Em seguida, você pode designar outros usuários como administradores limitados. Ou seja, administradores que podem anexar políticas a outras entidades principais, mas somente as políticas que você permitiu que eles anexem.

Para obter mais informações sobre como delegar permissões, consulte Controle de acesso a políticas.

Atualizações automáticas para políticas gerenciadas pela AWS

A AWS mantém políticas gerenciadas pela AWS e as atualiza quando necessário (por exemplo, para adicionar permissões para novos serviços da AWS), sem precisar fazer alterações. As atualizações são aplicadas automaticamente às principais entidades às quais você tenha anexado a política gerenciada pela AWS.

Usar políticas em linha

As políticas em linha são úteis se você desejar manter um relacionamento rigorosamente individual entre uma política e a identidade à qual ela é aplicada. Por exemplo, você deseja ter certeza de que as permissões em uma política não sejam atribuídas acidentalmente a uma identidade diferente da pretendida. Quando você usa uma política em linha, as permissões nela não podem ser anexadas acidentalmente à identidade errada. Além disso, quando você usa o AWS Management Console para excluir a identidade, as políticas incorporadas nela também são excluídas. A razão disso é porque elas fazem parte da entidade principal.

Converter uma política em linha em uma política gerenciada

Se tiver políticas em linha na conta, você poderá convertê-las em políticas gerenciadas. Para fazer isso, copie a política para uma nova política gerenciada. Depois, anexe a nova política à identidade que tem a política em linha. Depois disso, exclua a política em linha. Você não pode fazer isso as instruções abaixo.

Para converter uma política em linha em uma política gerenciada

  1. Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha User groups (Grupos de usários), Users (Usuários) ou Roles (Funções).

  3. Na lista, selecione o nome do grupo de usuários, usuário ou função que tem a política que você deseja remover.

  4. Escolha a guia Permissions (Permissões).

  5. Para grupos de usuários, selecione o nome da política em linha que você deseja remover. Para usuários e funções, escolha Show n more (Mostrar n mais), se necessário, e, em seguida, escolha a seta próxima da política em linha que você deseja remover.

  6. Copie o documento da política JSON.

  7. No painel de navegação, escolha Policies (Políticas).

  8. Escolha Create policy (Criar política) e escolha a guia JSON.

  9. Substitua o texto existente pelo texto da política JSON e escolha Review policy (Revisar política).

  10. Digite um nome para a política e escolha Create policy (Criar política).

  11. No painel de navegação, escolha User groups (Grupos de usuários), Users (Usuários) ou Roles (Funções) e, novamente, escolha o nome do grupo de usuários, usuário ou função que tem a política que você deseja remover.

  12. Para grupos de usuários, escolha a guia Permissions (Permissões). Para usuários e funções, escolha Add permissions (Adicionar permissões).

  13. Para grupos de usuários, marque a caixa de seleção ao lado do nome da sua nova política, escolha Add permissions (Adicionar permissões) e, em seguida, escolha Attach policy (Anexar política). Para usuários ou funções, escolha Add permissions (Adicionar permissões). Na próxima página, escolha Attach existing policies directly (Anexar políticas existentes diretamente), marque a caixa de seleção próxima do nome da nova política, escolha Next: Review (Avançar: revisar) e Add permissions (Adicionar permissões).

    Você será direcionado para a página Summary (Resumo) do grupo de usuários, do usuário ou da função.

  14. Para grupos de usuários, marque a caixa de seleção ao lado da política em linha que você deseja remover e escolha Remove (Remover). Para usuários ou funções, escolha X próximo da política em linha que você deseja remover.