Ir al contenido principal

OIDC y funciones

Si utiliza un control de acceso basado en funciones, puede asignar funciones a un mandante de OIDC para darle acceso a su infraestructura de Equinix. A continuación, cuando su entidad de seguridad OIDC realice un intercambio de tokens, utilice el roleassignments:<org-id> para el parámetro de ámbito. Si el mandante tiene asignados roles en la organización, el intercambio de tokens emite un token al portador.

Los permisos necesarios para asignar y gestionar roles son:

  • Control de acceso basado en roles - El rol IAM Admin.
  • Control de acceso basado en atributos - Una política de acceso que contiene: use/createRoleAssignment, use/listRoleAssignments, use/getRoleAssignment, use/deleteRoleAssignment.

Funciones disponibles

Para listar todas las funciones, envíe una solicitud GET al punto final /v1/roles.

Ejemplo de solicitud cURL:

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

Para listar los roles disponibles en un proyecto concreto, envíe una solicitud GET al punto final /v1/projects/{projectId}/roles. Ejemplo de solicitud cURL:

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

La respuesta contiene el ID del rol y el ámbito de asignación.

El campo assignmentScope.type enumera los posibles ámbitos de asignación permitidos para ese rol de la siguiente lista: assignmentScopeType=PDS_ORG, assignmentScopeType=ORGANIZATION, assignmentScopeType=PROJECT, assignmentScopeType=BILLING_ACCOUNT, assignmentScopeType=SUBSCRIPTION_KEY, assignmentScopeType=PORT. El assignmentScope.id es el ID único para ese ámbito.

Cuando cree una asignación de funciones, deberá especificar el ID del proyecto y la información sobre el alcance.

Crear una asignación de funciones

Para crear una asignación de funciones, envíe una solicitud POST al punto final /v1/roleAssignments.

Ejemplo de solicitud 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>"
}
}'

Lista de asignaciones de funciones

Para listar todas las asignaciones de funciones para un tipo de ámbito de asignación, envíe una solicitud GET al punto final /v1/roleAssignments. Utilice los parámetros de consulta assignmentScopeId y assignmentScopeType para limitar la respuesta al tipo de ámbito especificado.

Ejemplo de solicitud cURL:

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

Obtener una asignación de funciones Detalles

Para obtener los detalles de la asignación de un rol específico, envíe una solicitud GET al punto final /v1/roleAssignments/{roleAssignmentId}.

Ejemplo de solicitud cURL:

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

Eliminar una asignación de funciones

Cuando elimina una asignación de funciones, el usuario de OIDC pierde el acceso a los permisos concedidos por la función. Para eliminar una asignación de rol, envíe una solicitud DELETE al punto final /v1/roleAssignments/{roleAssignmentId}.

Ejemplo de solicitud cURL:

curl -X DELETE 'https://access.eqix.equinix.com/v1/roleAssignments/roleassignment:{roleAssignmentId}' \
-H 'Authorization: Bearer <token>'
¿Fue útil esta página?