SCIM

SCIM-Användarsynkronisering

SCIM är ett ramverk som standardiserar hanteringen av identitets managering mellan domäner.

Målgruppen för denna artikel är en användare med teknisk kompetens. Behöver du hjälp med uppsättning av SCIM ber vi dig kontakta er kundansvarige.

💡Använder ni inte Användarsynkronisering idag, vänligen kontakta er kundansvarig på Stratsys för vidare dialog då det är en Enterprise-/tilläggstjänst.

Innehåll

Uppsättningsguide

Exempelscenarion

Övrig dokumentation

FAQ

 

Stratsys erbjuder fler olika möjligheter av användarsynkronisering. I den här artikeln beskrivs införande, uppsättning samt exempel på tänkta anrop till en lösning som baseras på API:er efter ramverket SCIM.  Detta är en Enterprise Funktionalitet. 

Uppsättningsguide

Förberedande steg 1 till 5 här behöver utföras för att kunna använda SCIM-synkronisering mot Stratsys.

Använd gärna vår swagger: https://azureadsync.svc.stratsys.com/swagger/index.html

Nyckeln som tas ut i plattformen används för att authentisera i swaggern.

 

Base-url till anropen är alltid: https://azureadsync.svc.stratsys.com, addera därefter "/api/v1/scim/...." för att nå rätt endpoint.

 

För att börja behöver grupperna provisioneras, detta görs genom att skicka ett POST-anrop mot de grupper som man vill börja provisionera:


Ta först ut gruppernas id genom att skicka en GET till:

"/api/v1/scim/groups"

Använd sedan POST på grupperna, exempel på body:

"api/v1/scim/groups"

{
    "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group", "http://schemas.microsoft.com/2006/11/ResourceManagement/ADSCIM/2.0/Group"],
    "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159",
    "displayName": "displayName",
    "meta": {
        "resourceType": "Group"
    }
}

 

Provisioneringen är nu startad och en bock syns i fältet "Provisionerad".

Om alla steg ovan är följda är det nu möjligt att börja synkronisera och göra anrop.

Exempelscenarion

Nedan följer olika exempel av scenarion på användarhantering med SCIM.

Ta bort medlem ur grupp:
En användare skall tas bort från en grupp. Börja med att ta fram ID på användaren i fråga, använd GET på users alternativt gå till plattformen och sök fram användaren.

När användaren markeras återfinns ID i URL:en på webbläsaren, om användaren tillhör en grupp anges dennes ID under "Scim-detaljer"

Lägg till id i endpoint-url efter /groups/.

Nedan är en exempelbody på en borttagning av användare från grupp:


PATCH ”/api/v1/scim/groups/[id]”

{

    "schemas": [

        "urn:ietf:params:scim:api:messages:2.0:PatchOp"

    ],

    "Operations": [

        {

            "op": "remove",

            "path": "members",

            "value": [

                {

                    "$ref": null,

                    "value": "37ada649-dc21-452a-dd52-08d95708b133"

                }

            ]

        }

    ]

}

 

Lägg till medlem i grupp:

En användare får ökad behöright eller skall läggas till en grupp. Börja med att ta fram ID på användaren i fråga, använd GET på users alternativt gå till plattformen och sök fram användaren. Gruppens ID återfinns genom att göra en GET på groups:

“/api/v1/scim/groups/..."

Lägg till ID i endpoint-url efter /groups/.

Nedan är en exempelbody på att lägga till en användare till en grupp:

PATCH “/api/v1/scim/groups/[id]”



{

    "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],

    "Operations": [{

        "op": "Add",

        "path": "members",

        "value": [{

            "$ref": null,

            "value": "f648f8d5ea4e4cd38e9c"

        }]

    }]

}

 

Flytta användare till annan avdelning:

En användare skall byta avdelning/department. Börja med att ta fram ID på användaren i fråga, använd GET på users alternativt gå till plattformen och sök fram användaren. Department anges i string-format.

“/api/v1/scim/users/..."

Lägg till ID i endpoint-url efter /users/.

Nedan är en exempelbody på att lägga till en användare till en grupp:

PATCH "/api/v1/scim/users/[id]"



{

    "schemas": [

        "urn:ietf:params:scim:api:messages:2.0:PatchOp"

    ],

    "Operations": [

        {

            "op": "replace",

            "path": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:department",

            "value": "ny-enhet"

        }

    ]

}

 

Ändra namn/email:

En användares namn eller email skall ändras. Börja med att ta fram ID på användaren i fråga, använd GET på users alternativt gå till plattformen och sök fram användaren. 

“/api/v1/scim/users/..."

Lägg till ID i endpoint-url efter /users/.

Nedan är en exempelbody på att lägga till en användare till en grupp:

PATCH “/api/v1/scim/users/[id]”



{

    "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],

    "Operations": [

            {

            "op": "Replace",

            "path": "emails[type eq \"work\"].value",

            "value": updatedEmail@microsoft.com

            },

            {

            "op": "Replace",

            "path": "name.familyName",

            "value": "updatedFamilyName"

            }

    ]

}

 

Övrig dokumentation:

Swagger.json för nedladdning - https://azureadsync.svc.stratsys.com/swagger/v1/swagger.json
Microsofts egna Tutorial - https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups

Getting started - https://techcommunity.microsoft.com/t5/identity-standards-blog/provisioning-with-scim-getting-started/ba-p/880010

Information om ramverket SCIM - http://www.simplecloud.info/

 

FAQ

 

Kommer snart!