SCIM-provisjonerings-API
- Lesetid
- 4 min
- Kategori
- Proton VPN for Business
Oversikt
SCIM-provisjonerings-API-et (System for Cross-domain Identity Management) er en standard protokoll for automatisering av provisjonering og administrasjon av brukeridentiteter i skybaserte applikasjoner. Proton støtter dette API-et, som lar deg opprette, oppdatere, slette og administrere brukerkontoer og grupper. API-et er basert på SCIM 2.0-spesifikasjonen, som gir et felles brukerskjema og et RESTful API-grensesnitt for enkel integrering.
Proton støtter følgende identitetsleverandører:
- Okta (https://www.okta.com/(nytt vindu))
- Microsoft Entra ID
Base-URL-en for alle kall fra identitetsleverandøren er: https://scim.proton.me/{tenentId}/v2/(nytt vindu). Alle SCIM-metoder er forgreininger av denne base-URL-en.
Autentisering
Tokenet må inkluderes i en Authorization-topptekst av typen Bearer når du kaller noen av SCIM-metodene. Dette tokenet kan genereres og erstattes i delen Single-sign-on > SCIM automatisk provisjonering. Klikk på «Generer nytt token»-knappen og kopier det genererte tokenet.

For eksempel:
GET /Users?count=10Host: scim.proton.meAccept: application/scim+jsonAuthorization: Bearer {token}Brukere
Kjerneattributter
| id | En unik identifikator for en SCIM-ressurs, som en bruker, som er definert av Proton. |
| userName (påkrevd) | En unik identifikator for brukeren. Her bruker vi e-post som userName. |
| aktiv | En boolsk verdi som indikerer om brukeren er aktiv. Standarden er true. |
Operasjoner
Hent en paginert liste over alle brukere
Forespørsel
GET /Users?count=1 Host: scim.proton.meAccept: application/scim+jsonAuthorization: Bearer {token}Svar
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"totalResults": 1,
"itemsPerPage": 1,
"startIndex": 1,
"Resources": [
{
"id": "avveKyJZ_cCkULxxxZj4_U8j1IwqaGkcso02I6bDFoyrfJSqqXLS3FToNOiwP1tNwBaaraqfKVE993xaVcYSxQ==",
"userName": "test@sso.protonhub.org",
"active": true
}
]
}Opprett en ny bruker
Forespørsel
POST /UsersHost: scim.proton.meAccept: application/scim+jsonAuthorization: Bearer {token}Svar
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"id": "avveKyJZ_cCkULxxxZj4_U8j1IwqaGkcso02I6bDFoyrfJSqqXLS3FToNOiwP1tNwBaaraqfKVE993xaVcYSxQ==",
"userName": "test@sso.protonhub.org",
"active": true,
"meta": {
"resourceType": "User",
"created": "2024-07-25T04:39:27Z",
"lastModified": "2024-07-25T04:39:27Z",
"location": "https://scim.proton.me/{tenent-id}/v2/Users/avveKyJZ_cCkULxxxZj4_U8j1IwqaGkcso02I6bDFoyrfJSqqXLS3FToNOiwP1tNwBaaraqfKVE993xaVcYSxQ==",
"version": "1"
}
}
Hent en enkelt bruker
Forespørsel
GET /Users/avveKyJZ_cCkUL1iBZj4_U8j1IxxxGkcso02I6xDFoyrfJSxxXLS3FToNOiwP1tNwBaaraqfKVExx3xaVcYSxQ==Host: scim.proton.meAccept: application/scim+jsonAuthorization: Bearer {token}Svar
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"id": "avveKyJZ_cCkUL1iBZj4_U8j1IxxxGkcso02I6xDFoyrfJSxxXLS3FToNOiwP1tNwBaaraqfKVExx3xaVcYSxQ==",
"userName": "test@sso.protonhub.org",
"active": true,
"meta": {
"resourceType": "User",
"created": "2024-07-24T06:22:20Z",
"lastModified": "2024-07-24T06:22:20Z",
"location": "https://scim.proton.me/{tenentId}/v2/Users/avveKyJZ_cCkUL1iBZj4_U8j1IwqaGkcso02I6bDFoyrfJSqqXLS3FToNOiwP1tNwBaaraqfKVE993xaVcYSxQ==",
"version": "1"
},
"externalId": "00uganxwluxxxxxxxxxx"
}Slett en bruker
Forespørsel
DELETE /Users/avveKyJZ_cCkUL1iBZj4_U8j1IxxxGkcso02I6xDFoyrfJSxxXLS3FToNOiwP1tNwBaaraqfKVExx3xaVcYSxQ==Host: scim.proton.meAccept: application/scim+jsonAuthorization: Bearer {token}Grupper
Kjerneattributter
| id | En unik identifikator for en SCIM-ressurs, som en bruker, som er definert av Proton. |
| displayName | Navn på gruppen. |
| members | En liste over gruppemedlemmer. |
Operasjoner
Hent liste over grupper
Forespørsel
GET /Groups?startIndex=1&count=10Host: scim.proton.meAccept: application/scim+jsonAuthorization: Bearer {token}Svar
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"totalResults": 0,
"itemsPerPage": 100,
"startIndex": 1,
"Resources": [
{
"id": "d27f32f6-1e03-4e34-b5b5-9b89c11ed54e",
"displayName": "Admins",
"members": [
{
"value": "2819c223-7f76-453a-919d-413861904646",
"display": "John Doe"
}
],
"meta": {
"resourceType": "Group",
"created": "2024-07-25T05:10:22Z",
"lastModified": "2024-07-25T05:10:22Z",
"location": "https://scim.proton.me/{tenentId}/v2/Groups/d27f32f6-1e03-4e34-b5b5-9b89c11ed54e"
}
}
]
}Hent detaljene til en gruppe ved hjelp av den unike ID-en
Forespørsel
GET /Groups/d27f32f6-1e03-4e34-b5b5-9b89c11ed54eHost: scim.proton.meAccept: application/scim+jsonAuthorization: Bearer {token}Svar
{
"id": "d27f32f6-1e03-4e34-b5b5-9b89c11ed54e",
"displayName": "Admins",
"members": [{ "value": "2819c223-7f76-453a-919d-xxxxxxxxxxxx", "display": "John Doe" }],
"meta": {
"resourceType": "Group",
"created": "2024-07-25T05:10:22Z",
"lastModified": "2024-07-25T05:10:22Z",
"location": "https://scim.proton.me/{tenentId}/v2/Groups/d27f32f6-1e03-4e34-b5b5-9b89c11ed54e"
}
}
Feilhåndtering
Svarene er formatert i henhold til RFC-7644 avsnitt 3.12(nytt vindu), og leveres med en HTTP-statuskode som indikerer feilens art, og en svarkropp som gir mer informasjon.
Feilsvar
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],
"detail": "UserName is already taken",
"status": "400"
}
De vanligste feilene
- 400 Bad Request: Forespørselen var ugyldig eller kan ikke behandles på annen måte.
- 404 Not Found: Den forespurte ressursen ble ikke funnet.
- 409 Conflict: Forespørselen kunne ikke fullføres på grunn av en konflikt med den nåværende tilstanden til målressursen.
uniqueness: En unik attributtverdi eksisterer allerede i systemet.
- 500 Internal Server Error: Det oppsto en feil på tjenersiden.