Autenticação da API OIDC
As APIs da Equinix usam o protocolo OAuth 2.0 para autenticar as solicitações do seu usuário OIDC aos endpoints da API . Para interagir com as APIs da Equinix, você precisa de um token de acesso de portador.
Pré-requisitos
-
Um provedor OIDC.
-
Um token de identificação OIDC do seu provedor OIDC registrado.
-
Permissões específicas do produto ou serviço para especificar o escopo do token de acesso à API. Você precisa de:
ern:<access-policy-ern>where<access-policy-ern>is a single access policy that has been granted to the principal.roleassignments:<org-id>where<org-id>is the organization ID where the OIDC principal has assigned roles.projectpolicies:<project-id>where<project-id>is a project ID where the OIDC principal has been granted an access policy or access policies.orgpolicies:<org-id>where<org-id>is an organization ID where the principal has been granted an access policy or access policies.orgpolicies:<org-id> roleassignments:<org-id>where<org-id>is an organization ID where the principal has been granted both roles and access policies.
Para obter mais informações, consulte Escopos de controle de acesso.
Solicitação de um token de acesso
Para solicitar um token de acesso de portador, envie uma solicitar POST para o endpoint /v1/token.
No corpo da solicitação, especifique:
grant_type- Useurn:ietf:params:oauth:grant-type:token-exchangeto receive an access token.scope(required) - Provide the scope. The permissions granted by the token are checked against whether the principal has been granted the appropriate roles or access policies. For more information, see Access Control Scopes.subject_token- The OIDC ID token.subject_token_type- Useurn:ietf:params:oauth:token-type:id_tokenwhich identifies yoursubject_tokenas an OIDC ID token.
Exemplo de solicitação cURL:
curl -X POST 'https://sts.eqix.equinix.com/v1/token' \
--data-urlencode 'grant_type=urn:ietf:params:oauth:grant-type:token-exchange' \
--data-urlencode 'subject_token_type=urn:ietf:params:oauth:token-type:id_token' \
--data-urlencode 'scope=<role_or_access_policy>' \
--data-urlencode 'subject_token=<oidc_id_token>'
Utilizando tokens de acesso
Para interagir com a API da Equinix, envie seu token de acesso no cabeçalho de Autorização da solicitar HTTP com Authorization: Bearer <token>.