Authentification de l'API OIDC
Les API Equinix utilisent le protocole OAuth 2.0 pour authentifier les requêtes de votre utilisateur OIDC auprès des points de terminaison de l'API. Pour interagir avec les API Equinix, vous avez besoin d'un jeton d'accès porteur.
Conditions préalables
-
Un fournisseur OIDC.
-
Un jeton d'identification OIDC fourni par votre fournisseur OIDC enregistré.
-
Autorisations spécifiques au produit ou au service permettant de définir la portée du jeton d'accès à l'API. Vous avez besoin soit:
ern:<access-policy-ern>où<access-policy-ern>est une politique d'accès unique qui a été accordée au principal.roleassignments:<org-id>où<org-id>est l'ID de l'organisation où le principal OIDC a attribué rôles.projectpolicies:<project-id>où<project-id>est un ID de projet où le principal OIDC s'est vu accorder une politique d'accès ou des politiques d'accès.orgpolicies:<org-id>où<org-id>est un ID d'organisation où le principal s'est vu accorder une ou plusieurs stratégies d'accès.orgpolicies:<org-id> roleassignments:<org-id>où<org-id>est un ID d'organisation où le principal s'est vu attribuer à la fois des rôles et des politiques d'accès.
Pour plus d'informations, voir Étendues du contrôle d'accès.
Demande d'un jeton d'accès
Pour demander un jeton d'accès porteur, envoyez une requête POST au point de terminaison /v1/token.
Dans le corps de la requête, veuillez préciser:
grant_type- Utilisezurn:ietf:params:oauth:grant-type:token-exchangepour recevoir un jeton d'accès.scope(obligatoire) - Indiquez le périmètre. Les autorisations accordées par le jeton sont vérifiées afin de déterminer si le directeur dispose des rôles ou des stratégies d'accès appropriés. Pour plus d'informations, consultez Périmètres de contrôle d'accès.subject_token- Le jeton d'identification OIDC.subject_token_type- Utilisezurn:ietf:params:oauth:token-type:id_tokenqui identifie votresubject_tokencomme un jeton d'identification OIDC.
Exemple de requête 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>'
Utilisation des jetons d'accès
Pour interagir avec l'API Equinix, envoyez votre jeton d'accès dans l'en-tête Authorization de la requête HTTP avec Authorization: Bearer <token>.