Como posso resolver os erros “HTTP 403 Forbidden” (HTTP 403 proibido) ao invocar a API com autenticação do IAM entre contas para o API Gateway?

2 minuto de leitura
0

Chamei a API do Amazon API Gateway com uma entidade do AWS Identity and Access Management (IAM) entre contas (usuário ou perfil). Eu recebo um erro “HTTP 403 Forbidden” (HTTP 403 Proibido).

Resolução

APIs REST

Para acessar as APIs REST do API Gateway, ative a autenticação do IAM para um método de API no console do API Gateway. Depois, use as políticas do IAM e as políticas do recurso para designar permissões para os usuários da API.

Certifique-se de que a entidade do IAM entre contas tenha permissões para invocar a API e tenha permissão de acesso na política do recurso.

Neste exemplo, a API REST da conta A 111111111 tem a autenticação do IAM habilitada. O usuário1 tenta invocar da conta B 999999999. O usuário1 na conta B tem a seguinte política do IAM anexada:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "execute-api:Invoke",
        "execute-api:ManageConnections"
      ],
      "Resource": "arn:aws:execute-api:us-east-1:111111111:AB12CDEF34/*/*/*"
    }
  ]
}

Para permitir que o usuário do IAM da conta B na conta A invoque o acesso entre contas, use uma política de recurso semelhante à seguinte:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::999999999:user/User1"
      },
      "Action": "execute-api:Invoke",
      "Resource": "arn:aws:execute-api:us-east-1:111111111:AB12CDEF34/stage/*/*"
    }
  ]
}

Para obter mais informações, consulteComo faço para ativar a autenticação do IAM para APIs REST do API Gateway?

APIs HTTP

Para acessar as APIs HTTP do API Gateway, você pode usar a ação da API STS:AssumeRole para assumir uma função na conta da API HTTP. A função assumida fornece credenciais de segurança temporárias que podem ser usadas para invocar a API HTTP em outra conta.

Certifique-se de que as credenciais de segurança temporárias usadas para invocar a API HTTP estejam corretas e não tenham expirado.

Para obter mais informações, consulte Como posso fornecer autorização do IAM entre contas para APIs HTTP do API Gateway?


Informações relacionadas

Exemplos de políticas de recursos do API Gateway