Conexão com gateways AWS

Esta página descreve como integrar suas soluções Sensedia (Adaptive Governance e Developer Portal) aos gateways da AWS, permitindo a importação e governança de APIs (conexões nativas) publicadas no Amazon API Gateway.

Veja nesta página:

Versões e Tipos de API suportados

O Amazon API Gateway é estruturado em duas infraestruturas principais (v1 e v2). A importação de APIs por meio de conexão nativa com a AWS oferece suporte a ambas.

  • REST API (v1). Versão tradicional do API Gateway, que disponibiliza o conjunto mais amplo de recursos de gerenciamento de APIs. Veja a documentação oficial

  • HTTP API (v2). Infraestrutura mais recente do Amazon API Gateway, otimizada para menor latência e redução de custos, focada em APIs HTTP de alta performance e integrações simplificadas com serviços da AWS. Veja a documentação oficial Para uma análise detalhada das diferenças entre essas duas versões, consulte: Diferenças entre REST APIs e HTTP APIs

A tabela abaixo resume as principais características dos tipos de API suportados:

Recurso REST API (v1) HTTP API (v2)

Foco principal

Recursos avançados de gerenciamento de API

Alta performance e menor custo

Suporte a Apps no Portal

Sim

Não (limitação do modelo HTTP API na AWS)

Importação via conexão nativa

Sim

Sim

  • A criação da conexão nativa com a AWS e a configuração de credenciais é idêntica para ambas as versões. A distinção ocorre apenas no momento da importação das APIs.

  • Atualmente, nossas soluções oferecem suporte apenas a APIs dos tipos REST (v1) e HTTP (v2). APIs do tipo WebSocket não são suportadas neste fluxo de integração.

Credenciais de acesso

Para criar uma conexão para o API Gateway AWS você deverá inserir suas credenciais AWS na tela Connections.

A obtenção dessas credenciais é feita do lado da AWS.

Acesse o AWS Management Console e siga os passos abaixo para:

Consulte a documentação da AWS para mais detalhes.

Para listar e importar suas APIs, verifique se a política de acesso configurada na AWS concede permissão aos recursos corretos do serviço apigateway, conforme a versão do gateway:

  • Para gateways v1 (REST): a policy deve permitir acesso aos recursos sob o namespace /restapis.

  • Para gateways v2 (HTTP): a policy deve permitir acesso aos recursos sob o namespace /apis.

Se a policy permitir apenas um desses conjuntos de recursos, você visualizará apenas as APIs correspondentes. Caso não haja permissão para nenhum deles, um erro será exibido na tela de importação.

Criando um usuário

Existem algumas formas diferentes para criar um usuário IAM na sua conta AWS.

Com os passos abaixo, você cria um usuário pelo AWS Management Console:

  1. Na parte superior do AWS Management Console, na barra de pesquisa, busque e selecione IAM.
    detalhe da tela de pesquisa do AWS Management Console com o resultado para busca por IAM

  2. No menu lateral esquerdo, em Access management, selecione Users.
    tela do painel de gerenciamento AWS com destaque para a opção Users

  3. Clique no botão Create user no canto superior direito da tela.

  4. No campo User name, informe o valor: adaptive_governance_integration_aws e clique em Next.
    tela do painel de gerenciamento AWS com destaque para campo user name

  5. Em Permissions options, selecione Attach policies directly e clique em Next.
    tela do painel de gerenciamento AWS com destaque para adicionar <em>policies</em>

    Em Permissions policies, NÃO selecione Policy name.
  6. Em Review and Create, revise as informações e clique em Create user.


Adicionando uma política de acesso

  1. Na lista de usuários, selecione adaptive_governance_integration_aws
    lista de usuários com destaque para o usuário criado

  2. Na aba Permissions, em Permissions policies, clique no botão Add Permissions e, em seguida, clique em Create inline policy.
    tela com destaque para a aba Permissions e botão Add Permissions

  3. Em Policy editor, selecione a aba JSON.
    tela com destaque para a aba JSON

  4. Copie e cole o código abaixo no editor.

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "apigateway:GET"
                ],
                "Resource": [
                    "*"
                ]
            }
        ]
    }
    
    ou
    
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "apigateway:GET"
                ],
                "Resource": [
                    "arn:aws:apigateway:*::/restapis",
                    "arn:aws:apigateway:*::/restapis/*",
                    "arn:aws:apigateway:*::/restapis/*/stages",
                    "arn:aws:apigateway:*::/restapis/*/deployments",
                    "arn:aws:apigateway:*::/restapis/*/deployments/*",
    
                    "arn:aws:apigateway:*::/apis",
                    "arn:aws:apigateway:*::/apis/*",
    
                    "arn:aws:apigateway:*::/apikeys",
                    "arn:aws:apigateway:*::/usageplans"
                ]
            }
        ]
    }
    Dependendo da necessidade do seu negócio, existem alguns modelos de policy que poderão ser utilizados.
  5. Clique em Next.

  6. No campo Policy name, informe o valor adaptive_governance-aws e clique em Create policy.
    tela create and review


Criando as credenciais

  1. Na lista de usuários, selecione adaptive_governance_integration_aws e clique na aba Security credentials.
    aws security credentials

  2. Role a tela para baixo e, em Access keys, clique em Create access key.
    aws create access key

  3. Selecione a opção Application running on an AWS compute service.
    tela indicando a opção

    Marque a caixa de confirmação no rodapé da página.
    caixa de confirmação
  4. Clique em Next.

  5. Você verá a sua access key e sua secret access key.
    Anote estas credenciais para serem utilizadas no cadastro da conexão AWS no Adaptive Governance.
    tela Retrieve access key

  6. Clique em Done.

Criando uma nova conexão

Siga os passos abaixo para criar uma nova conexão.

  1. Entre na tela Connections, clicando no menu lateral esquerdo ou no card na tela inicial.

  2. Clique no botão + CREATE CONNECTION, localizado na parte superior direita da tela.
    screenshot da tela connetions com destaque para o botão create connection

  3. Selecione o provedor da conexão e clique em CREATE CONNECTION.
    detalhe da tela de criação de conexão com a etapa 1

  4. Selecione o modo de conexão: se é nativa (dados atualizados diretamente com o provedor) ou não (upload manual).
    tela com opções de conexão

Conexão não-nativa:

  • Defina um nome para a conexão e clique em NEXT.
    tela com campo para nome da conexão

  • Confirme as informações e clique em SAVE.

Conexão nativa:

  • Defina um nome para a conexão e clique em NEXT.
    tela com campo para nome da conexão

  • Selecione um modo de conexão: Access Key ou IAM (Role ).
    tela com opções de autenticação

    • Para Access Key:

      • AWS Access Key Id: informe a chave do seu recurso AWS.

      • AWS Secret Access Key Id: informe o segredo da chave AWS.
        detalhe da tela de configuração com campos para AWS Access Key Id e AWS Secret Access Key Id

      • Revise as informações e clique em SAVE.

    • Para IAM:

      • Configure your role: copie o código exemplo exibido nesta seção e utilize-o no seu provedor AWS para criar uma role:

        • Passos no Console da AWS:

          • Acesse IAM > Roles e clique no botão "Create role".

          • Selecione "Custom trust policy" e cole o código copiado.

          • Adicione a política gerada na etapa Adicionando uma política de acesso.

          • Conclua a criação da role, adicionando as informações necessárias, como tags.

          • Após criar a role, copie o Role ARN gerado pela AWS.

      • Role ARN: cole aqui o Role ARN gerado.

      • Revise as informações e clique em SAVE.

        detalhe da tela de configuração com campos para Configure your role e Role ARN

Importando APIs

A importação de APIs a partir de uma conexão nativa com a AWS suporta múltiplos tipos de API Gateway.

Os tipos de API suportados são:

  • REST — APIs provenientes do AWS REST API Gateway (v1).

  • HTTP — APIs provenientes do AWS HTTP API Gateway (v2).

Esses tipos são apresentados na coluna Protocol Type durante o processo de importação.

Para importar APIs, siga os passos abaixo:

  1. Entre na tela Connections, clicando no menu lateral esquerdo ou no card na tela inicial.

  2. Encontre a conexão que deseja editar e clique no ícone icon view 2.
    Se precisar, utilize a barra de busca para localizar a conexão desejada.

  3. Na tela API Imports, clique no botão + IMPORT API, localizado logo abaixo de General Info e acima de API Imports.
    screenshot da tela de importação de APIs

  4. Selecione a região das APIs que deseja importar.
    screenshot da tela de importação de APIs para gateways AWS

  5. Na lista de APIs, utilize a coluna Type para identificar o protocolo (REST ou HTTP). Selecione as APIs desejadas e clique em SAVE.
    Lista de importação mostrando a coluna Type com REST e HTTP

A geração de credenciais (criação de Apps) no Developer Portal não é suportada atualmente para APIs do tipo HTTP (v2), devido a uma limitação inerente a essa versão do AWS Gateway.

Nesses casos, a opção Enable Apps registration permanece desabilitada nas configurações de API Docs do Portal Manager.

A funcionalidade de Discovery também identifica e unifica APIs de ambas as versões (REST e HTTP) automaticamente, desde que as permissões de acesso do usuário IAM cubram os recursos necessários. Se você tiver permissão apenas para uma das versões, apenas as APIs correspondentes serão listadas.

Sempre que uma API for atualizada, clique em icone de recarregar.
detalhe com o botão de recarregar APIs importadas

Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]