Cree un usuario
Se puede crear un usuario con credenciales específicas y un rol predefinido. También puede restringir de manera opcional el acceso del usuario a espacios de nombres específicos.
1. Seleccione un nombre de usuario
Realice el flujo de trabajo "Enumere usuarios" y seleccione un nombre disponible que no esté en uso actualmente.
2. Cree el usuario
Realice la siguiente llamada de API de REST para crear un usuario. Una vez finalizada correctamente la llamada, el nuevo usuario aún no será utilizable.
Método HTTP | Ruta |
---|---|
PUBLICAR |
/accounts/{account_id}/core/v1/users |
Ejemplo de entrada JSON
{
"type" : "application/astra-user",
"version" : "1.1",
"firstName" : "John",
"lastName" : "West",
"email" : "jwest@example.com"
}
Ejemplo de curl
curl --location -i --request POST 'https://astra.netapp.io/accounts/<ACCOUNT_ID>/core/v1/users' --header 'Accept: */*' --header 'Authorization: Bearer <API_TOKEN>' --data @JSONinput
Ejemplo de resultado JSON
{
"metadata": {
"creationTimestamp": "2022-11-20T17:23:15Z",
"modificationTimestamp": "2022-11-20T17:23:15Z",
"createdBy": "a20e91f3-2c49-443b-b240-615d940ec5f3",
"labels": []
},
"type": "application/astra-user",
"version": "1.2",
"id": "d07dac0a-a328-4840-a216-12de16bbd484",
"authProvider": "local",
"authID": "jwest@example.com",
"firstName": "John",
"lastName": "West",
"companyName": "",
"email": "jwest@example.com",
"postalAddress": {
"addressCountry": "",
"addressLocality": "",
"addressRegion": "",
"streetAddress1": "",
"streetAddress2": "",
"postalCode": ""
},
"state": "active",
"sendWelcomeEmail": "false",
"isEnabled": "true",
"isInviteAccepted": "true",
"enableTimestamp": "2022-11-20T17:23:15Z",
"lastActTimestamp": ""
}
3. Seleccione opcionalmente los espacios de nombres permitidos
Realice el flujo de trabajo "Enumere los espacios de nombres" y seleccione los espacios de nombres a los que desea restringir el acceso.
4. Enlazar el usuario a un rol
Ejecute la siguiente llamada API de REST para enlazar el usuario con un rol. En el ejemplo siguiente no se establece ninguna restricción en el acceso al espacio de nombres. Consulte "RBAC mejorado con granularidad de espacio de nombres" si quiere más información.
Método HTTP | Ruta |
---|---|
PUBLICAR |
/Accounts/{account_id}/core/v1/roleBindings |
Ejemplo de entrada JSON
{
"type" : "application/astra-roleBinding",
"version" : "1.1",
"userID" : "d07dac0a-a328-4840-a216-12de16bbd484",
"accountID" : "29e1f39f-2bf4-44ba-a191-5b84ef414c95",
"role" : "viewer",
"roleConstraints": [ "*" ]
}
Ejemplo de curl
curl --location -i --request POST 'https://astra.netapp.io/accounts/<ACCOUNT_ID>/core/v1/roleBindings' --header 'Accept: */*' --header 'Authorization: Bearer <API_TOKEN>' --data @JSONinput
5. Crear una credencial
Realice la siguiente llamada a la API DE REST para crear una credencial y asociarla con el usuario. En este ejemplo se utiliza una contraseña que se proporciona como valor base64. La name
La propiedad debe contener el ID del usuario devuelto en el paso anterior. La propiedad de entrada change
también se debe codificar en base64 y determinar si el usuario debe cambiar su contraseña al iniciar sesión (true
o. false
).
Este paso solo es necesario con las implementaciones de Astra Control Center mediante autenticación local. No es necesario con las puestas en marcha de Astra Control Center con LDAP o con las puestas en marcha de Astra Control Service. |
Método HTTP | Ruta |
---|---|
PUBLICAR |
/accounts/{account_id}/core/v1/credenciales |
Ejemplo de entrada JSON
{
"type" : "application/astra-credential",
"version" : "1.1",
"name" : "d07dac0a-a328-4840-a216-12de16bbd484",
"keyType" : "passwordHash",
"keyStore" : {
"cleartext" : "TmV0QXBwMTIz",
"change" : "ZmFsc2U="
},
"valid" : "true"
}
Ejemplo de curl
curl --location -i --request POST 'https://astra.netapp.io/accounts/<ACCOUNT_ID>/core/v1/credentials' --header 'Accept: */*' --header 'Authorization: Bearer <API_TOKEN>' --data @JSONinput