# Política de acesso à APIs internas

O acesso à APIs internas é um padrão de segurança usado para chamadas de API que permitem acesso seguro aos *pipelines*.

Você pode escolher entre 3 opções para cada ambiente, como descrito abaixo:

* **Uso obrigatório somente de chave de API:** todos os *pipelines* que usam um *trigger* que exponha o seu *pipeline* a chamadas externas devem utilizar uma chave. Habilite essa opção ao configurar um *trigger*.
* **Uso obrigatório de JWT com chave de API:** todos os *pipelines* que usam um *trigger* que exponha o seu *pipeline* a chamadas externas devem usar um token JWT e também uma chave de API.
* **Qualquer tipo de autenticação permitida:** esta opção permite aos desenvolvedores escolher o tipo de autenticação, mas nenhuma autenticação é obrigatória. Recomendamos o uso de pelo menos uma das opções acima.

Confira na imagem abaixo como visualizar as alternativas e selecionar uma para cada ambiente.

<figure><img src="https://content.gitbook.com/content/cO0A6g1dOsu8BiHYqO67/blobs/FWeHJoFPCa8Mf5ItLHUS/pol%C3%ADtica-de-acesso-a-apis-internas-overview.png" alt=""><figcaption></figcaption></figure>

## Como funciona

Uma vez configurada a sua Política de acesso à APIs internas, cada novo *pipeline* deve seguir as regras de acordo com as suas definições. Caso a política não seja aplicada, a pessoa que criou o *pipeline* será lembrada durante a fase de implantação. Em outras palavras, não é possível implantar o *pipeline* até a correção do problema.

[Para saber mais sobre conceitos, visite o artigo Políticas.](https://docs.digibee.com/documentation/developer-guide/pt-br/platform-administration/governance/policies)

Para habilitar sua **API Key** ou seu **Token JWT** no *trigger* de seu *pipeline*, ative o botão conforme imagem abaixo:

<figure><img src="https://content.gitbook.com/content/cO0A6g1dOsu8BiHYqO67/blobs/2JxPuRrOSJB0TBmZ06Zw/trigger-api-interna.png" alt=""><figcaption></figcaption></figure>

## Criando sua Chave de API

Agora que você tem sua política e um *pipeline* configurado para usar uma Chave de API, você pode criar uma nova chave ou usar uma já existente ao acessar a página **Consumers (Chaves de API)** no menu **Configurações**.

Depois de criar sua chave de API, lembre-se de associá-la ao seu *pipeline* em ambos os ambientes.

[Saiba mais na documentação de Consumers (Chaves de API).](https://docs.digibee.com/documentation/developer-guide/pt-br/platform-administration/settings/api-keys-consumers)

## Criando seu Token JWT

Ao optar pelo uso de **Tokens JSON Web**, é preciso criar um segundo *pipeline* que funcionará como seu fluxo de login. O fluxo de login vai gerar o JWT que será utilizado em suas chamadas de API.

[Saiba mais sobre implementação na documentação de Digibee JWT (*Generate and Decode*).](https://app.gitbook.com/s/SKBJ6ZiEWBU93x170HH4/connectors/security/digibee-jwt/digibee-jwt-implementation)
