Criar subscrições na Gestão de API do Azure

Concluído

Ao publicar uma API com o Gerenciamento de API, você define quem pode acessar a API por meio do gateway.

Para seu aplicativo meteorológico, você deseja garantir que apenas os clientes que se inscreveram no seu serviço possam acessar a API e usar seus dados de previsão. Você realiza esse controle de acesso emitindo chaves de assinatura.

Importante

As subscrições neste contexto não estão relacionadas com subscrições do Azure utilizadas para gerir a sua conta do Azure.

Nesta unidade, irá saber como utilizar chaves de subscrição para proteger as suas APIs.

Subscrições e chaves

Você pode optar por tornar suas APIs e as informações que elas contêm disponíveis gratuitamente. Mas, geralmente, você deseja restringir o acesso a usuários que pagaram ou organizações com as quais você tem um relacionamento de trabalho. Uma maneira de controlar o acesso às suas APIs é usando assinaturas. As assinaturas são usadas para segmentar o acesso do usuário a uma API.

As chaves de subscrição constituem a autorização para permitir o acesso a estas subscrições. Sempre que um cliente faz uma solicitação para uma API protegida, uma chave de assinatura válida deve ser incluída na solicitação HTTP, caso contrário, a chamada será rejeitada.

Uma chave de assinatura é uma chave exclusiva gerada automaticamente que pode ser passada como parte de uma chamada de API. A chave está diretamente relacionada com uma subscrição, que estão no âmbito de áreas diferentes. As subscrições concedem-lhe controlo granular sobre as permissões e as políticas.

Os três principais âmbitos de subscrição são os seguintes:

Âmbito Detalhes
Todas as APIs Aplica-se a todas as APIs acessíveis a partir do gateway.
Única API Aplica-se a uma única API importada e a todos os seus endpoints.
Produto Um produto é uma coleção de uma ou mais APIs que configura na Gestão de API. Pode atribuir APIs a mais do que um produto. Os produtos podem ter diferentes regras de acesso, quotas de utilização e termos de utilização. Portanto, se você quiser que seus parceiros e fornecedores tenham direitos de acesso diferentes à sua API WeatherData , atribua a API a um produto e use o portal do Azure para associar APIs a um produto.

Os aplicativos que chamam uma API protegida devem incluir uma chave de assinatura em cada solicitação.

Você pode regenerar essas chaves de assinatura a qualquer momento; Por exemplo, se suspeitar que uma chave foi partilhada com utilizadores não autorizados, pode criar uma nova.

Chaves de subscrição.

Cada subscrição tem duas chaves - uma chave primária e uma chave secundária. Ter duas chaves facilita a tarefa de voltar a gerar uma chave, quando necessário. Por exemplo, se quiser alterar a chave primária e evitar períodos de indisponibilidade, utilize a chave secundária nas suas aplicações.

Para produtos nos quais as assinaturas estão habilitadas, os clientes devem fornecer uma chave ao fazer chamadas para APIs nesse produto. Os programadores podem obter uma chave ao enviar um pedido de subscrição. Se aprovar o pedido, tem de enviar a chave de subscrição de forma segura, por exemplo, numa mensagem encriptada. Este passo é uma parte importante do fluxo de trabalho da Gestão de API.

Chamar uma API com a chave de subscrição

Os aplicativos devem incluir uma chave válida em todas as solicitações HTTP que fazem chamadas para pontos de extremidade de API protegidos por uma assinatura. As chaves podem ser passadas no cabeçalho da solicitação ou como um parâmetro de cadeia de caracteres de consulta na URL.

O nome do cabeçalho da chave de assinatura padrão é Ocp-Apim-Subscription-Key e o nome da cadeia de caracteres de consulta padrão é subscription-key.

Para testar suas chamadas de API, você pode usar um console de teste no portal do Azure, no portal do desenvolvedor ou em ferramentas de linha de comando, como curl. Eis um exemplo de um pedido GET no portal do programador, que mostra o cabeçalho da chave de subscrição:

Captura de tela que mostra como chamar sua API do portal do desenvolvedor.

Aqui está um exemplo de como você passaria uma chave em um cabeçalho de solicitação usando curl:

curl --header "Ocp-Apim-Subscription-Key: <key string>" https://<apim gateway>.azure-api.net/api/path

Aqui está um exemplo de como você usaria um comando curl para passar uma chave como uma cadeia de caracteres de consulta em uma URL:

curl https://<apim gateway>.azure-api.net/api/path?subscription-key=<key string>

Se uma chave necessária não for passada no cabeçalho ou como uma cadeia de caracteres de consulta na URL, você obterá uma resposta 401 Acesso Negado do gateway de API.