Desabilitar permissões de credenciais de segurança temporárias - AWS Identity and Access Management

Desabilitar permissões de credenciais de segurança temporárias

As credenciais de segurança temporárias são válidas até que expirem. Essas credenciais são válidas pela duração especificada, de 900 segundos (15 minutos) até um máximo de 129.600 segundos (36 horas). A duração padrão da sessão é de 43.200 segundos (12 horas). É possível revogar essas credenciais, mas também é necessário alterar as permissões do perfil para impedir que atividades mal-intencionadas na conta usem credenciais comprometidas. As permissões atribuídas às credenciais de segurança temporárias são avaliadas cada vez que são usadas para fazer uma solicitação da AWS. Quando você remove todas as permissões das credenciais, as solicitações da AWS que as usam falham.

Pode levar alguns minutos para que as atualizações da política entrem em vigor. Revogue as credenciais de segurança temporárias do perfil para forçar todos os usuários que assumem o perfil a se autenticarem novamente e a solicitarem novas credenciais.

Não é possível alterar as permissões para um Usuário raiz da conta da AWS. Da mesma forma, você não pode alterar as permissões para as credenciais de segurança temporárias criadas chamando GetFederationToken ou GetSessionToken enquanto estiver conectado como usuário raiz. Por esse motivo, recomendamos que você não chame o GetFederationToken nem o GetSessionToken como usuário raiz.

Importante

Para usuários no Centro de Identidade do IAM, consulte Disable user access no Guia do usuário do AWS IAM Identity Center. Você também pode remover o acesso do usuário para aplicações em nuvem ou aplicações SAML 2.0 personalizadas no console do Centro de Identidade do IAM.

Negar acesso a todas as sessões associadas a um perfil

Use essa abordagem quando tiver preocupações com relação a acesso suspeito por meio de:

  • Entidades principais de outra conta usando acesso entre contas

  • Identidades de usuários externos com permissões de acesso a recursos da AWS em sua conta

  • Os usuários que foram autenticados em uma aplicação móvel ou Web com um provedor de OIDC

Esse procedimento nega permissões para todos os usuários que tenham permissões para assumir um perfil.

Para alterar ou remover permissões atribuídas a credenciais de segurança temporárias obtidas chamando as APIs AssumeRole, AssumeRoleWithSAML, AssumeRoleWithWebIdentity, GetFederationToken ou GetSessionToken, edite ou exclua a política de permissões que define as permissões do perfil.

Importante

Se houver uma política baseada em recursos que permita o acesso da entidade principal, você também deverá adicionar uma negação explícita para o recurso. Para mais detalhes, consulte Negar um usuário de sessão com políticas baseadas em recursos.

  1. Faça login no AWS Management Console e abra o console do IAM.

  2. No painel de navegação, escolha o nome do perfil a ser editado. Você pode usar a caixa de pesquisa para filtrar a lista.

  3. Selecione a política relevante.

  4. Escolha a aba Permissões.

  5. Escolha a guia JSON e atualize a política para negar todos os recursos e ações.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "*", "Resource": "*" } ] }
  6. Na página Revisão, revise o Resumo da política e, em seguida, selecione Salvar alterações para salvar seu trabalho.

Quando você atualiza a política, as alterações afetam as permissões de todas as credenciais de segurança temporárias associadas ao perfil, incluindo credenciais emitidas antes da alteração da política de permissões do perfil. Após atualizar a política, você poderá revogar as credenciais de segurança temporárias do perfil para revogar imediatamente todas as permissões às credenciais emitidas pelo perfil.

Negar acesso a uma sessão específica

Quando você atualiza os perfis que podem ser assumidos com base em um IdP com uma política de negação ou exclui totalmente o perfil, todos os usuários com acesso ao perfil são interrompidos. É possível negar o acesso com base no elemento Principal sem afetar as permissões de todas as outras sessões associadas ao perfil.

É possível negar permissões à Principal usando chaves de contexto de condição ou políticas baseadas em recursos.

dica

Você pode encontrar os ARNs de usuários federados usando logs do AWS CloudTrail. Para obter mais informações, consulte  a página How to Easily Identify Your Federated Users by Using AWS CloudTrail.

Negar uma sessão de usuário com chaves de contexto de condição

Você pode usar chaves de contexto de condição em situações em que deseja negar acesso a sessões temporárias de credenciais de segurança específicas sem afetar as permissões do usuário ou perfil do IAM que criaram as credenciais.

Para obter mais informações sobre chaves de contexto de condição, consulte Chaves de contexto de condição globais da AWS.

nota

Se houver uma política baseada em recursos que permita o acesso da entidade principal, você também deverá adicionar uma instrução de negação explícita à política baseada em recursos após completar essas etapas.

Após atualizar a política, você poderá revogar as credenciais de segurança temporárias do perfil para revogar imediatamente todas as credenciais emitidas.

aws:PrincipalArn

É possível usar a chave de contexto de condição aws:PrincipalArn para negar acesso a um ARN de entidade principal específico. Faça isso especificando o identificador exclusivo (ID) do usuário, perfil ou usuário federado do IAM ao qual as credenciais de segurança temporárias estão associadas na condição de uma política.

  1. No painel de navegação do console do IAM, escolha o nome do perfil a ser editado. Você pode usar a caixa de pesquisa para filtrar a lista.

  2. Selecione a política relevante.

  3. Escolha a aba Permissões.

  4. Escolha a guia JSON e adicione uma instrução de negação para o ARN da entidade principal, conforme mostrado no exemplo a seguir.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "ArnEquals": { "aws:PrincipalArn": [ "arn:aws:iam::222222222222:role/ROLENAME", "arn:aws:iam::222222222222:user/USERNAME", "arn:aws:sts::222222222222:federated-user/USERNAME" ] } } } ] }
  5. Na página Revisão, revise o Resumo da política e, em seguida, selecione Salvar alterações para salvar seu trabalho.

aws:userid

Você pode usar a chave de contexto de condição aws:userid para negar acesso a todas ou a sessões temporárias de credenciais de segurança específicas que estão associadas ao usuário ou perfil do IAM. Faça isso especificando o identificador exclusivo (ID) do usuário, perfil ou usuário federado do IAM ao qual as credenciais de segurança temporárias estão associadas no elemento Condition de uma política.

A política a seguir mostra um exemplo de como é possível negar acesso a sessões temporárias de credenciais de segurança usando a chave de contexto de condição aws:userid.

  • AIDAXUSER1 representa o identificador exclusivo de um usuário do IAM. Especificar o identificador exclusivo de um usuário do IAM como valor para a chave de contexto aws:userid negará todas as sessões associadas ao usuário do IAM.

  • AROAXROLE1 representa o identificador exclusivo de um perfil do IAM. Especificar o identificador exclusivo de um perfil do IAM como valor para a chave de contexto aws:userid negará todas as sessões associadas ao perfil.

  • AROAXROLE2 representa o identificador exclusivo de uma sessão assumed-role. Na parte caller-specified-role-session-name do identificador exclusivo assumed-role, você pode especificar o nome da sessão do perfil ou um caractere curinga se o operador de condição StringLike for usado. Se você especificar o nome da sessão do perfil, isso negará a sessão do perfil nomeada sem afetar as permissões do perfil que criou as credenciais. Se você especificar um curinga para o nome da sessão do perfil, ele negará todas as sessões associadas ao perfil.

  • account-id:<federated-user-caller-specified-name> representa o identificador exclusivo de uma sessão de usuário federado. O usuário federado é criado por um usuário do IAM que chama a API GetFederationToken. Se você especificar o identificador exclusivo para o usuário federado, ele negará a sessão do usuário federado nomeado sem afetar as permissões do perfil que criou as credenciais.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "StringLike": { "aws:userId": [ "AIDAXUSER1", "AROAXROLE1", "AROAXROLE2:<caller-specified-role-session-name>", "account-id:<federated-user-caller-specified-name>" ] } } } ] }

Para exemplos específicos de valores de chave de entidade principal, consulte Valores de chave de principal. Para obter mais informações sobre identificadores exclusivos do IAM, consulte Identificadores exclusivos.

Negar um usuário de sessão com políticas baseadas em recursos

Se o ARN da entidade principal também estiver incluído em qualquer política baseada em recursos, você também deverá revogar o acesso com base nos valores principalId e sourceIdentity do usuário específico no elemento Principal de uma política baseada em recursos. Se você atualizar somente a política de permissões para o perfil, o usuário ainda poderá realizar as ações permitidas na política baseada em recursos.

  1. Consulte Serviços da AWS que funcionam com o IAM para ver se o serviço oferece suporte a políticas baseadas em recursos.

  2. Faça login no AWS Management Console e abra o console do serviço. Cada serviço tem uma localização diferente no console para anexar políticas.

  3. Edite a instrução de política para especificar as informações de identificação da credencial:

    1. Em Principal, insira o ARN da credencial a ser negada.

    2. Em Effect, digite “Deny”.

    3. Em Action, insira o namespace do serviço e o nome da ação a ser negada. Para negar todas as ações, use o caractere curinga (*). Por exemplo: “s3:*.”

    4. Em Resource, insira o ARN do recurso de destino. Por exemplo: arn:aws:s3:::EXAMPLE-BUCKET.”

    { "Version": "2012-10-17", "Statement": { "Principal": [ "arn:aws:iam::222222222222:role/ROLENAME", "arn:aws:iam::222222222222:user/USERNAME", "arn:aws:sts::222222222222:federated-user/USERNAME" ], "Effect": "Deny", "Action": "s3:*", "Resource": "arn:aws:s3:::EXAMPLE-BUCKET" } }
  4. Salve seu trabalho.