Sincronizar APIs do Amazon API Gateway com o Centro de API do Azure (visualização)
Este artigo mostra como integrar um Amazon API Gateway para que as APIs do gateway sejam continuamente atualizadas no inventário do seu centro de APIs.
Sobre a integração do Amazon API Gateway
A integração do Amazon API Gateway como uma fonte de API para seu centro de API permite a sincronização contínua para que o inventário de API permaneça atualizado. O Centro de API do Azure também pode sincronizar APIs de fontes, incluindo o Gerenciamento de API do Azure.
Quando você integra um Amazon API Gateway como uma fonte de API, acontece o seguinte:
- As APIs e, opcionalmente, as definições de API (especificações) do API Gateway são adicionadas ao inventário do centro de APIs.
- Você configura um ambiente do tipo Amazon API Gateway no centro de APIs.
- Uma implantação associada é criada para cada definição de API sincronizada.
A sincronização é unidirecional do Amazon API Gateway para o seu centro de API do Azure, o que significa que as atualizações de API no centro de API não são sincronizadas de volta ao Amazon API Gateway.
Nota
- A integração do Amazon API Gateway está atualmente em visualização.
- Há limites para o número de fontes de API integradas.
- As APIs no Amazon API Gateway são sincronizadas com o seu centro de API uma vez por hora. Somente APIs REST são sincronizadas.
- As definições de API também são sincronizadas com o centro de API se você selecionar a opção para incluí-las durante a integração. Somente as definições das APIs implantadas são sincronizadas.
Entidades sincronizadas a partir do Amazon API Gateway
Você pode adicionar ou atualizar propriedades e documentação de metadados às APIs sincronizadas em seu centro de APIs para ajudar as partes interessadas a descobrir, entender e consumir as APIs. Saiba mais sobre as propriedades de metadados internas e personalizadas do Centro de API do Azure.
A tabela a seguir mostra as propriedades da entidade que podem ser modificadas na Central de APIs do Azure e as propriedades definidas com base em seus valores na fonte da API.
Entidade | Propriedades configuráveis no Centro de API | Propriedades determinadas na origem da API integrada |
---|---|---|
API | Resumo ciclo de vidaEstágio termosdeserviço license externalDocumentação customProperties |
title descrição variante |
Versão da API | ciclo de vidaEstágio | title definições (se sincronizadas) |
Environment | title descrição tipo server.managementPortalUri inclusão customProperties |
servidor.type |
Implementação | title descrição servidor state customProperties |
server.runtimeUri |
Nota
As IDs de recurso e de sistema para entidades sincronizadas com a Central de APIs do Azure são geradas automaticamente e não podem ser alteradas.
Pré-requisitos
Um centro de API na sua subscrição do Azure. Se você ainda não criou um, consulte Guia de início rápido: criar sua central de APIs.
Um cofre de chaves do Azure. Se você precisar criar um, consulte Guia de início rápido: criar um cofre de chaves usando o portal do Azure. Para adicionar ou gerenciar segredos no cofre de chaves, pelo menos a função Key Vault Secrets Officer ou permissões equivalentes são necessárias.
Um gateway de API da Amazon.
Uma identidade de usuário do AWS IAM com a
AmazonAPIGatewayAdministrator
política anexada.Para a CLI do Azure:
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
Nota
az apic
comandos exigem a extensão da CLI doapic-extension
Azure. Se você não tiver usadoaz apic
comandos, a extensão pode ser instalada dinamicamente quando você executa seu primeiroaz apic
comando, ou você pode instalar a extensão manualmente. Saiba mais sobre as extensões da CLI do Azure.Consulte as notas de versão para obter as alterações e atualizações mais recentes no
apic-extension
. Alguns recursos podem exigir uma visualização ou uma versão específica da extensão.Nota
Os exemplos de comandos da CLI do Azure neste artigo podem ser executados no PowerShell ou em um shell bash. Quando necessário devido à sintaxe variável diferente, exemplos de comandos separados são fornecidos para os dois shells.
Criar chaves de acesso de usuário do IAM
Para autenticar seu centro de API no Amazon API Gateway, você precisa de chaves de acesso para um usuário do AWS IAM.
Para gerar o ID da chave de acesso e a chave secreta necessários usando o Console de Gerenciamento da AWS, consulte Criar uma chave de acesso para você mesmo na documentação da AWS.
Guarde as suas chaves de acesso num local seguro. Você os armazenará no Azure Key Vault nas próximas etapas.
Atenção
As chaves de acesso são credenciais de longo prazo, e você deve gerenciá-las com a mesma segurança com que faria com uma senha. Saiba mais sobre como proteger chaves de acesso
Armazenar chaves de acesso de usuário do IAM no Azure Key Vault
Carregue manualmente e armazene com segurança as duas chaves de acesso de usuário do IAM no Cofre de Chaves do Azure usando a configuração recomendada na tabela a seguir. Para obter mais informações, consulte Guia de início rápido: definir e recuperar um segredo do Cofre da Chave do Azure usando o portal do Azure.
Segredo da AWS | Opções de carregamento | Nome | Valor secreto |
---|---|---|---|
Chave de acesso | Manual | aws-access-key | ID da chave de acesso recuperado da AWS |
Chave de acesso secreta | Manual | aws-secret-access-key | Chave de acesso secreta recuperada da AWS |
Anote o identificador secreto de cada segredo, um URI semelhante ao https://<key-vault-name>.vault.azure.net/secrets/<secret-name>
. Você usará esses identificadores nas próximas etapas.
Habilite uma identidade gerenciada em seu centro de API
Para esse cenário, sua central de API usa uma identidade gerenciada para acessar recursos do Azure. Dependendo das suas necessidades, habilite uma identidade gerenciada atribuída pelo sistema ou uma ou mais identidades gerenciadas atribuídas pelo usuário.
Os exemplos a seguir mostram como habilitar uma identidade gerenciada atribuída ao sistema usando o portal do Azure ou a CLI do Azure. Em um alto nível, as etapas de configuração são semelhantes para uma identidade gerenciada atribuída pelo usuário.
- No portal, navegue até o centro de APIs.
- No menu à esquerda, em Segurança, selecione Identidades gerenciadas.
- Selecione Sistema atribuído e defina o status como Ativado.
- Selecione Guardar.
Atribuir a identidade gerenciada à função Usuário de Segredos do Cofre de Chaves
Para permitir a importação de APIs, atribua à identidade gerenciada do seu centro de API a função Usuário de Segredos do Cofre de Chaves em seu cofre de chaves do Azure. Você pode usar o portal ou a CLI do Azure.
- No portal, navegue até o cofre das chaves.
- No menu à esquerda, selecione Controle de acesso (IAM).
- Selecione + Adicionar atribuição de função.
-
Na página Adicionar atribuição de função, defina os valores da seguinte forma:
- Na guia Função, selecione Usuário de Segredos do Cofre da Chave.
- Na guia Membros, em Atribuir acesso a - Selecione Identidade> gerenciada+ Selecionar membros.
- Na página Selecionar identidades gerenciadas, selecione a identidade gerenciada atribuída ao sistema do seu centro de API que você adicionou na seção anterior. Clique em Selecionar.
- Selecione Rever + atribuir.
Integrar um Amazon API Gateway
Execute o comando az apic integration create aws (preview) para integrar um Amazon API Gateway ao seu centro de API.
Forneça os nomes do grupo de recursos, do centro de API e da integração.
Forneça os identificadores secretos do Key Vault para a chave de acesso da AWS e a chave de acesso secreta, bem como a região da AWS onde o Amazon API Gateway está implantado.
az apic integration create aws \
--resource-group <resource-group-name> \
--service-name-name <api-center-name> \
--integration-name <aws-integration-name> \
--aws-access-key-reference <access-key-uri> \
--aws-secret-access-key-reference <secret-access-key-uri>
--aws-region-name <aws-region>
O ambiente é adicionado no seu centro de API. As APIs do Amazon API Gateway são importadas para o inventário do centro de APIs.
Excluir uma integração
Embora uma fonte de API esteja integrada, você não pode excluir APIs sincronizadas do seu centro de APIs. Se precisar, você pode excluir a integração. Quando você exclui uma integração:
- As APIs sincronizadas no inventário do centro de APIs são excluídas
- O ambiente e as implantações associadas à origem da API são excluídos
Para excluir uma integração usando a CLI do Azure, execute o comando az apic integration delete (preview). Forneça os nomes do grupo de recursos, do centro de API e da integração.
az apic integration delete \
--resource-group <resource-group-name> \
--service-name <api-center-name> \
--integration-name <integration-name>