Ir para o conteúdo

Como faço para solucionar erros de "AccessDenied" com o controle de acesso baseado em tags do IAM?

4 minuto de leitura
0

Quando realizo ações de API da AWS com políticas do AWS Identity and Access Management (IAM) que usam controle de acesso baseado em tags, recebo um erro "AccessDenied".

Resolução

Faça o seguinte para solucionar o erro "AccessDenied" em suas políticas do IAM.

Verifique os requisitos de correspondência de tags

Chaves de condição do IAM como aws:ResourceTag, aws:RequestTag e aws:TagKeys diferenciam maiúsculas de minúsculas. As chaves de condição aws:RequestTag e aws:ResourceTag verificam se as letras do valor da tag são maiúsculas ou minúsculas. A chave de condição aws:TagKeys verifica o uso de maiúsculas e minúsculas da chave da tag.

Insira os valores corretos nas condições da política do IAM para corresponder exatamente às letras maiúsculas e minúsculas das tags do recurso.

Importante: use aws:ResourceTag para ações em recursos existentes e aws:RequestTag para ações de criação de recursos. O uso da chave de condição incorreta também causa um erro "AccessDenied".

Para mais informações sobre os requisitos de controle de acesso com base em tags, consulte Controlar o acesso a recursos da AWS usando tags.

Confirme a compatibilidade do serviço da AWS para condições baseadas em tags

Use um serviço da AWS que aceite chaves de condição baseadas em tags para todas as ações de API. Para verificar a compatibilidade de um serviço, siga estas etapas:

  1. Acesse os serviços da AWS que funcionam com o IAM.
  2. Analise a tabela do seu serviço e verifique se Sim aparece na coluna ABAC.
  3. Escolha o nome do serviço para abrir a Referência de Autorização de Serviço.
  4. Na tabela Ações, localize sua ação de API e verifique a coluna Chaves de condição.
  5. Na tabela Tipos de recurso, verifique quais chaves de condição são compatíveis com seu tipo de recurso.

Para mais informações sobre o controle de acesso baseado em tags, consulte Controlar o acesso a recursos da AWS usando tags.

Verifique a presença de declarações "Deny" explícitas

Uma declaração Deny (Negar) explícita em uma política do IAM substitui uma declaração Allow (Permitir). Analise os seguintes tipos de política em busca de declarações Deny explícitas que possam bloquear o acesso:

  • Políticas baseadas em identidade
  • Políticas de controle de serviços (SCPs)
  • Limites de permissões
  • Políticas baseadas em recursos

Para mais informações sobre a lógica de avaliação de políticas, consulte Lógica da avaliação de política.

Analise os logs do CloudTrail para informações detalhadas sobre o erro

É possível analisar os logs do AWS CloudTrail para verificar qual política apresenta o erro "AccessDenied" e qual é o problema. Para analisar os logs do CloudTrail, siga estas etapas:

  1. Abra o console do CloudTrail.
  2. No painel de navegação, selecione Histórico de eventos.
  3. Em Atributos de pesquisa, escolha Nome do evento.
  4. No campo de pesquisa, insira a ação da API que falhou.
  5. Analise os eventos e verifique o seguinte:
    Em Código de erro, procure por AccessDenied.
    Em Mensagem de erro, analise o problema.
    Em Identidade do usuário, identifique qual entidade principal tentou a ação.
    Em Recursos, verifique o nome do recurso da Amazon (ARN) do recurso e as tags.
    Em Parâmetros da solicitação, analise as tags passadas no contexto da solicitação.

Para mais informações sobre eventos do CloudTrail, consulte Registro em log de chamadas de API do IAM e do AWS STS com o AWS CloudTrail.

Use o simulador de políticas do IAM para testar políticas

O simulador de políticas do IAM ajuda você a testar e solucionar problemas em políticas baseadas em tags antes de implantá-las em produção. Para usar o simulador de políticas do IAM, siga estas etapas:

  1. Abra o simulador de políticas do IAM.
  2. Selecione o usuário, grupo ou perfil do IAM que você quer testar.
  3. Escolha Selecionar serviço e, em seguida, escolha o serviço da AWS.
  4. Escolha Selecionar ações e, em seguida, escolha as ações a serem testadas.
  5. Expanda as Configurações de simulação para a ação selecionada.
  6. Em ARN do recurso, insira o ARN do recurso que você quer simular.
  7. Em Chaves de contexto, adicione as chaves de condição de tag relevantes. Por exemplo, insira aws:ResourceTag/Environment. Depois, defina o valor. Por exemplo, você pode definir o valor como Production.
  8. Clique em Run Simulation (Executar simulação).
  9. Analise os resultados para identificar a declaração da política que permite ou nega o acesso.

Para mais informações sobre como testar políticas do IAM, consulte Testar políticas do IAM com o simulador de políticas do IAM.

AWS OFICIALAtualizada há 6 meses