OIDC e Funções
Se você estiver usando o controle de acesso baseado em em funções, você atribuir funções a uma entidade OIDC para conceder acesso à sua infraestrutura Equinix . Em seguida, quando a entidade OIDC realizar uma troca de tokens, use roleassignments:<org-id> como parâmetro de escopo. Se a entidade tiver atribuições de função na organização, a troca de tokens emitirá um token de portador.
As permissões necessárias para atribuir e gerenciar funções são:
- Controle de acesso baseado em funções - A função
IAM Admin. - Controle de acesso baseado em atributos - Uma política de acesso contendo:
use/createRoleAssignment,use/listRoleAssignments,use/getRoleAssignment,use/deleteRoleAssignment.
Vagas disponíveis
Para listar todas as funções, envie uma solicitar GET para o endpoint /v1/roles.
Exemplo de solicitação cURL:
curl -X GET 'https://access.eqix.equinix.com/v1/roles' \
-H 'Authorization: Bearer <token>'
Para listar as funções disponíveis em um projeto específico, envie uma solicitar GET para o endpoint /v1/projects/{projectId}/roles.
Exemplo de solicitação cURL:
curl -X GET 'https://access.eqix.equinix.com/v1/projects/project:{projectId}/roles' \
-H 'Authorization: Bearer <token>'
A resposta contém o ID da função e o escopo da atribuição.
O campo assignmentScope.type lista os possíveis escopos de atribuição permitidos para essa função da seguinte lista: assignmentScopeType=PDS_ORG, assignmentScopeType=ORGANIZATION, assignmentScopeType=PROJECT, assignmentScopeType=BILLING_ACCOUNT, assignmentScopeType=SUBSCRIPTION_KEY, assignmentScopeType=PORT. O assignmentScope.id é o ID exclusivo para esse escopo.
Ao criar uma atribuição de função, você precisa especificar o ID do projeto e as informações de escopo.
Criar uma atribuição de função
Para criar uma atribuição de função, envie uma solicitar POST para o endpoint /v1/roleAssignments.
Exemplo de solicitação 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 atribuições de funções
Para listar todas as atribuições de função para um tipo de escopo de atribuição, envie uma solicitar GET para o endpoint /v1/roleAssignments. Use os parâmetros de consulta assignmentScopeId e assignmentScopeType para limitar a resposta ao tipo de escopo especificado.
Exemplo de solicitação cURL:
curl -X GET 'https://access.eqix.equinix.com/v1/roleAssignments?assignmentScopeId=<assignment_scope_id>&assignmentScopeType=<assignment_scope_type>' \
-H 'Authorization: Bearer <token>'
Obtenha detalhes sobre a atribuição de função.
Para obter detalhes sobre uma atribuição de função específica, envie uma solicitar GET para o endpoint /v1/roleAssignments/{roleAssignmentId}.
Exemplo de solicitação cURL:
curl -X GET 'https://access.eqix.equinix.com/v1/roleAssignments/{roleassignment:roleAssignmentId}' \
-H 'Authorization: Bearer <token>'
Excluir uma atribuição de função
Ao você uma atribuição de função, o usuário OIDC perde o acesso às permissões concedidas pela função. Para excluir uma atribuição de função, envie uma solicitar DELETE para o endpoint /v1/roleAssignments/{roleAssignmentId}.
Exemplo de solicitação cURL:
curl -X DELETE 'https://access.eqix.equinix.com/v1/roleAssignments/roleassignment:{roleAssignmentId}' \
-H 'Authorization: Bearer <token>'