Politiques de l'OIDC et d'accès
Si vous utilisez le contrôle d'accès basé sur les attributs, vous pouvez attribuer une politique d'accès à un principal OIDC pour lui permettre d'accéder à votre infrastructure Equinix. Ensuite, lorsque ce principal OIDC effectue un échange de jetons (../../equinix-api/oidc-api-authentication.md), fournissez l'ERN de la politique d'accès pour le paramètre scope. Si le principal a l'autorisation, l'échange de jetons émet un jeton 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 offert en disponibilité limitée. L'accès est restreint à un ensemble contrôlé de clients et de cas d'utilisation. Les fonctionnalités peuvent être incomplètes, sujettes à modification et peuvent contenir des défauts. Des mesures de sécurité opérationnelles et des limites de capacité s'appliquent. En utilisant cette API, vous reconnaissez que:
- Il est destiné uniquement à un accès anticipé et à la collecte de commentaires.
- La disponibilité peut être limitée par la région, le segment ou des contraintes de capacité.
- La fonctionnalité, la performance et la stabilité ne sont pas garanties à ce stade.
- La documentation et les ressources de soutien peuvent évoluer.
- Les commentaires fournis au cours de cette phase permettront d'apporter des améliorations avant la mise à disposition générale (GA).
Consulter les politiques d'accès
Pour consulter les politiques d'accès existantes d'un projet, envoyez une requête GET au point de terminaison /v1/projects/{projectId}/accessPolicies. Lorsque vous ajoutez une autorisation à une politique d'accès, vous devez fournir l'identifiant de cette politique dans votre requête.
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 autorisation à 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 requête.
-
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 voir quels principaux OIDC ont reçu une politique d'accès spécifique, obtenez la liste des autorisations. Envoyer 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>'
Éliminer une subvention
Lorsque vous supprimez une autorisation, le principal OIDC perd l'accès aux permissions accordées par la politique d'accès. Pour supprimer une autorisation, envoyez une requête 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>'