Como faço para ativar a autenticação do IAM para APIs REST do API Gateway?

4 minuto de leitura
0

Quero ativar a autenticação do AWS Identity and Access Management (IAM) para acessar minha API REST do Amazon API Gateway (API Gateway). Como faço para configurar isso?

Breve descrição

Ative a autenticação do IAM para um método de API no console do API Gateway. Em seguida, use políticas do IAM e políticas de recursos para designar permissões para os usuários da sua API.

Para obter mais informações sobre os diferentes recursos de segurança disponíveis para o API Gateway, consulte Controlling and managing access to a REST API in API Gateway.

Resolução

Ative a autenticação do IAM para sua API REST

1.No console do API Gateway, escolha o nome da sua API.

2.No painel Recursos, escolha um método (como GET ou POST) para o qual você deseja ativar a autenticação do IAM.

3.No painel Execução de método, escolha Solicitação de método.

4.Em Configurações, em ** Autorização**, escolha o ícone de lápis (Editar). Em seguida, escolha AWS_IAM na lista suspensa e o ícone de marca de seleção (Atualizar).

5.(Opcional) Repita as etapas de 2 a 4 para cada método de API para o qual você deseja ativar a autenticação do IAM.

6.Implante sua API para que as alterações entrem em vigor.

7.No painel Editor de estágio, copie o URL da invocação. Você usará o URL da invocação posteriormente para testes.

Para obter mais informações, consulte Set up a method using the API Gateway console. Veja também Obtain an API's invoke URL in the API Gateway console.

Conceder autorização de API a um grupo de usuários do IAM

1.Determine as permissões que você deseja que seus usuários da API tenham. Para obter mais informações, consulte Control access to an API with IAM permissions.

2.Crie uma política do IAM que inclua as permissões necessárias. Para obter exemplos e orientações de formatação, consulte o seguinte:
Controle o acesso para invocar uma API
Exemplos de políticas do IAM para permissões de execução de API
Exemplos de políticas baseadas em identidade do Amazon API Gateway
Observação: para concluir as instruções de teste no final deste artigo, você deve dar permissões de invocação.

3.Anexe sua política do IAM a um grupo do IAM fazendo o seguinte:
Anexe a política a um grupo existente do IAM.
-ou-
Anexe a política ao criar um novo grupo do IAM.

Para obter mais informações, consulte Create and attach a policy to an IAM User.

Observação: é uma prática recomendada conceder acesso no nível do grupo do IAM.

(Opcional) Configurar uma política de recursos do API Gateway

Você também pode usar as políticas de recursos do API Gateway (permissões baseadas em recursos) junto com as políticas do IAM (permissões baseadas em identidade) para gerenciar o acesso à sua API. Para obter mais informações, consulte IAM authentication and resource policy e Identity-based policies and resource-based policies.

Importante: se você negar acesso à sua API com um tipo de política do IAM e permitir o acesso com outro tipo de política, o acesso será negado. Para obter mais informações, consulte as Policy evaluation outcome tables.

Enviar uma solicitação para testar as configurações de autenticação

Use o aplicativo Postman para enviar uma solicitação ao seu recurso de API usando o método para o qual você ativou a autenticação do IAM.

Observação: para autenticar manualmente as solicitações enviadas ao API Gateway usando outra ferramenta ou ambiente, use o processo de assinatura Signature versão 4. Para obter mais informações, consulte Solicitações de assinatura.

1.No Postman, na guia Authorization, faça o seguinte:
Em Type, escolha AWS Signature.
Para AccessKey e SecretKey, insira o ID da chave de acesso do IAM e a chave de acesso secreta de um usuário do IAM. O usuário do IAM deve estar no grupo do IAM que tem acesso à sua API.

2.No campo Enter request URL, cole o URL de invocação da sua API. Se você ativou a autenticação do IAM em um método para um recurso específico da API, anexe o nome do recurso ao final da URL de invocação.

Observação: o URL completo da solicitação com o nome do recurso tem a seguinte aparência: https://restApiId.execute-api.region.amazonaws.com/stageName/resourceName

Uma solicitação autenticada retorna um código de resposta de 200 OK. Uma solicitação não autorizada retorna a mensagem Missing Authentication Token e um código de resposta 403 Forbidden.


Informações relacionadas

How API Gateway resource policies affect authorization workflow