Skip to main content

OIDC et rôles

Si vous utilisez le contrôle d'accès basé sur les rôles, vous pouvez attribuer à un principal OIDC des rôles qui lui donneront accès à votre infrastructure Equinix. Ensuite, lorsque votre principal OIDC effectue un échange de jetons, utilisez roleassignments:<org-id> comme paramètre de portée. Si le principal a des attributions de rôles dans l'organisation, l'échange de jetons émet un jeton au porteur.

Les autorisations nécessaires à l'attribution et à la gestion des rôles 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/createRoleAssignment, use/listRoleAssignments, use/getRoleAssignment, use/deleteRoleAssignment.

Rôles disponibles

Pour obtenir la liste de tous les rôles, envoyez une requête GET au point de terminaison /v1/roles.

Exemple de requête cURL :

curl -X GET 'https://access.eqix.equinix.com/v1/roles' \
-H 'Authorization: Bearer <token>'

Pour dresser la liste des rôles disponibles dans un projet particulier, envoyez une requête GET au point de terminaison /v1/projects/{projectId}/roles. Exemple de requête cURL :

curl -X GET 'https://access.eqix.equinix.com/v1/projects/project:{projectId}/roles' \
-H 'Authorization: Bearer <token>'

La réponse contient l'identifiant du rôle et l'étendue de l'affectation.

Le champ assignmentScope.type énumère les champs d'affectation possibles autorisés pour ce rôle à partir de la liste suivante : assignmentScopeType=PDS_ORG, assignmentScopeType=ORGANIZATION, assignmentScopeType=PROJECT, assignmentScopeType=BILLING_ACCOUNT, assignmentScopeType=SUBSCRIPTION_KEY, assignmentScopeType=PORT. Le champ assignmentScope.id est l'identifiant unique de ce champ d'application.

Lorsque vous créez une attribution de rôle, vous devez spécifier l'ID du projet et les informations relatives au périmètre.

Créer une attribution de rôle

Pour créer une attribution de rôle, envoyez une requête POST au point de terminaison /v1/roleAssignments.

Exemple de requête cURL :

curl -X POST 'https://access.eqix.equinix.com/v1/roleAssignments' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"principal": "<principal:principal_id>",
"roleId": "<role:role_id>",
"assignmentScope": {
"id": "<role_assignment_scope_id>",
"type": "<role_assignment_scope>"
}
}'

Liste des attributions de rôles

Pour dresser la liste de toutes les attributions de rôle pour un type d'étendue d'attribution, envoyez une requête GET au point de terminaison /v1/roleAssignments. Utilisez les paramètres de requête assignmentScopeId et assignmentScopeType pour limiter la réponse au type d'affectation spécifié.

Exemple de requête cURL :

curl -X GET 'https://access.eqix.equinix.com/v1/roleAssignments?assignmentScopeId=<assignment_scope_id>&assignmentScopeType=<assignment_scope_type>' \
-H 'Authorization: Bearer <token>'

Obtenir un rôle Détails de la mission

Pour obtenir les détails d'une attribution de rôle spécifique, envoyez une requête GET au point de terminaison /v1/roleAssignments/{roleAssignmentId}.

Exemple de requête cURL :

curl -X GET 'https://access.eqix.equinix.com/v1/roleAssignments/{roleassignment:roleAssignmentId}' \
-H 'Authorization: Bearer <token>'

Supprimer une attribution de rôle

Lorsque vous supprimez une attribution de rôle, l'utilisateur de l'OIDC perd l'accès aux autorisations accordées par le rôle. Pour supprimer une attribution de rôle, envoyez une demande DELETE au point de terminaison /v1/roleAssignments/{roleAssignmentId}.

Exemple de requête cURL :

curl -X DELETE 'https://access.eqix.equinix.com/v1/roleAssignments/roleassignment:{roleAssignmentId}' \
-H 'Authorization: Bearer <token>'
Cette page vous a-t-elle été utile ?