OIDC et politiques d'accès
Si vous utilisez un contrôle d'accès basé sur les attributs, vous pouvez accorder à un principal OIDC une politique d'accès pour lui permettre d'accéder à votre infrastructure Equinix. Ensuite, lorsque votre principal OIDC effectue un échange de jetons, fournissez l'ERN de la politique d'accès pour le paramètre scope. Si le donneur d'ordre bénéficie d'une subvention, l'échange de jetons émet un jeton au porteur.
Les autorisations nécessaires pour gérer les subventions et les politiques d'accès sont soit :
- Contrôle d'accès basé sur les rôles - Le rôle
IAM Admin. - Contrôle d'accès basé sur les attributs - Une politique d'accès contenant :
use/listAccessPolicies,use/addGrant,use/listGrants,use/removeGrant.
Le contrôle d'accès basé sur les attributs est actuellement proposé sous le statut de disponibilité limitée (LA). L'accès est limité à un ensemble contrôlé de clients et de cas d'utilisation. Les fonctionnalités peuvent être incomplètes, sujettes à des modifications, et peuvent contenir des défauts. Des garanties opérationnelles et des limites de capacité s'appliquent. En utilisant cette API, vous reconnaissez que :
- Il s'agit d'un accès anticipé et d'un retour d'information uniquement.
- La disponibilité peut être limitée par la région, le segment ou les contraintes de capacité.
- La fonctionnalité, les performances et la stabilité ne sont pas garanties à ce stade.
- La documentation et les ressources d'assistance peuvent évoluer.
- Les commentaires fournis au cours de cette phase permettront d'apporter des améliorations avant la mise à disposition générale (GA).
Voir les politiques d'accès
Pour afficher les politiques d'accès existantes pour un projet, envoyez une requête GET au point de terminaison /v1/projects/{projectId}/accessPolicies. Lorsque vous ajoutez une subvention à une politique d'accès, vous devez fournir l'identifiant de la politique d'accès dans votre demande.
Exemple de requête cURL :
curl -X GET 'https://access.eqix.equinix.com/v1/projects/{projectId}/accessPolicies' \
-H 'Authorization: Bearer <token>'
Ajouter une subvention
Pour ajouter une subvention à une politique d'accès, envoyez une requête POST au point de terminaison /v1/projects/{projectId}/accessPolicies/{accessPolicyId}/grants. Précisez :
-
le projet et l'identifiant de la politique d'accès dans le chemin de la demande.
-
Votre principal OIDC auquel vous accordez l'accès dans l'objet
granteedans l'un des formats suivants :principal:<projectId>:<idp>:<subject>for a user or service.group:<projectId>:<idp>:<groupName>for a group.project:<projectId>for another project to export this access policy to another project.
Exemple de requête cURL :
curl -X POST 'https://access.eqix.equinix.com/v1/projects/{projectId}/accessPolicies/{accessPolicyId}/grants' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"grantee": "principal:<projectId>:<idp>:<subject>"
}'
Liste des subventions
Pour savoir quels mandants de l'OIDC se sont vu accorder une politique d'accès spécifique, obtenez la liste des octrois. Envoyez une requête GET au point de terminaison /v1/projects/{projectId}/accessPolicies/{accessPolicyId}/grants.
Exemple de requête cURL :
curl -X GET 'https://access.eqix.equinix.com/v1/projects/{projectId}/accessPolicies/{accessPolicyId}/grants' \
-H 'Authorization: Bearer <token>'
Supprimer une subvention
Lorsque vous supprimez une autorisation, le principal OIDC perd l'accès aux autorisations accordées par la politique d'accès. Pour supprimer une autorisation, envoyez une demande DELETE au point de terminaison /v1/projects/{projectId}/accessPolicies/{accessPolicyId}/grants/{grantId}.
Exemple de requête cURL :
curl -X DELETE 'https://access.eqix.equinix.com/v1/projects/{projectId}/accessPolicies/{accessPolicyId}/grants/{grantId}' \
-H 'Authorization: Bearer <token>'