SCIM API 2.0 (gebruikers)

Belangrijk

Deze functie is beschikbaar als openbare preview.

Een Azure Databricks beheerder kan alle SCIM API-eindpunten aanroepen. Gebruikers zonder beheerdersrechten kunnen de Laat het eindpunt van gebruikers de weergavenamen en -ID's van gebruikers lezen.

Notitie

Elke werkruimte kan maximaal 10.000 gebruikers en 5000 groepen hebben. Service principals tellen mee voor het gebruikers maximum.

Met SCIM (gebruikers) kunt u gebruikers maken in Azure Databricks en hen het juiste toegangsniveau geven, gebruikersaccounts tijdelijk vergrendelen en ontgrendelen, en de toegang voor gebruikers verwijderen (deprovision ervan verwijderen) wanneer ze uw organisatie verlaten of geen toegang meer nodig hebben tot Azure Databricks.

Vereisten

Uw Azure Databricks-account moet het Azure Databricks Premium plan hebben.

Gebruikers krijgen

Eindpunt HTTP-methode
2.0/preview/scim/v2/Users GET

Gebruikers met beheerdersrechten: haal een lijst op met alle gebruikers in Azure Databricks werkruimte.

Gebruikers zonder beheerdersrechten: haal een lijst op met alle gebruikers in de Azure Databricks werkruimte, en retourneren alleen de gebruikersnaam, weergavenaam van de gebruiker en de object-id.

Voorbeelden

In dit voorbeeld wordt informatie over alle gebruikers ontvangen.

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/preview/scim/v2/Users \
| jq .

In dit voorbeeld wordt de eqeq (is gelijk aan) gebruikt met om userName informatie over een specifieke gebruiker op te halen.

curl --netrc -X GET \
"https://<databricks-instance>/api/2.0/preview/scim/v2/Users?filter=userName+eq+<username>" \
| jq .

Vervang:

  • <databricks-instance> door de naam Azure Databricks <databricks-instance>, bijvoorbeeld adb-1234567890123456.7.azuredatabricks.net .
  • <username> met de Azure Databricks werkruimte-gebruikersnaam van de gebruiker, bijvoorbeeld someone@example.com .

In dit voorbeeld wordt een .netrc-bestand en jq gebruikt.

Gebruiker op id op halen

Eindpunt HTTP-methode
2.0/preview/scim/v2/Users/{id} GET

Gebruikers met beheerdersrechten: haal één gebruikersresource op uit Azure Databricks werkruimte, op Azure Databricks id.

Voorbeeld

Aanvraag

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/preview/scim/v2/Users/<user-id> \
| jq .

Vervang:

  • <databricks-instance> door de naam Azure Databricks <databricks-instance>, bijvoorbeeld adb-1234567890123456.7.azuredatabricks.net .
  • <user-id> met de Azure Databricks werkruimte-id van de gebruiker, bijvoorbeeld 2345678901234567 . Als u de gebruikers-id wilt op halen, roept u Gebruikers op.

In dit voorbeeld wordt een .netrc-bestand en jq gebruikt.

Antwoord

Gebruiker maken

Eindpunt HTTP-methode
2.0/preview/scim/v2/Users POST

Gebruikers met beheerdersrechten: maak een gebruiker in Azure Databricks werkruimte.

Aanvraagparameters volgen het standaard SCIM 2.0-protocol.

Aanvragen moeten de volgende kenmerken bevatten:

  • schemas ingesteld op urn:ietf:params:scim:schemas:core:2.0:User
  • userName

Voorbeeld

curl --netrc -X POST \
https://<databricks-instance>/api/2.0/preview/scim/v2/Users \
--header 'Content-type: application/scim+json' \
--data @create-user.json \
| jq .

create-user.json:

{
  "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ],
  "userName": "<username>",
  "groups": [
    {
       "value":"123456"
    }
  ],
  "entitlements":[
    {
       "value":"allow-cluster-create"
    }
  ]
}

Vervang:

  • <databricks-instance> door de naam Azure Databricks <databricks-instance>, bijvoorbeeld adb-1234567890123456.7.azuredatabricks.net .
  • <username> met de Azure Databricks werkruimte-gebruikersnaam van de gebruiker, bijvoorbeeld someone@example.com .

In dit voorbeeld wordt een .netrc-bestand en jq gebruikt.

Gebruiker bijwerken op id ( PATCH )

Eindpunt HTTP-methode
2.0/preview/scim/v2/Users/{id} PATCH

Gebruikers met beheerdersrechten: werk een gebruikersresource bij met bewerkingen op specifieke kenmerken, behalve de resources die onveranderbaar zijn ( userName en userId ). De PATCH methode wordt aanbevolen voor de methode voor het instellen of bijwerken van PUT gebruikersrechten.

Aanvraagparameters volgen het standaard SCIM 2.0-protocol en zijn afhankelijk van de waarde van het schemas kenmerk.

Voorbeeld

In dit voorbeeld wordt allow-cluster-create het recht toegevoegd aan de opgegeven gebruiker.

curl --netrc -X PATCH \
https://<databricks-instance>/api/2.0/preview/scim/v2/Users/<user-id> \
--header 'Content-type: application/scim+json' \
--data @update-user.json \
| jq .

update-user.json:

{
  "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
  "Operations": [
    {
      "op": "add",
      "path": "entitlements",
      "value": [
        {
           "value": "allow-cluster-create"
        }
      ]
    }
  ]
}

Vervang:

  • <databricks-instance> door de naam Azure Databricks <databricks-instance>, bijvoorbeeld adb-1234567890123456.7.azuredatabricks.net .
  • <user-id> met de Azure Databricks werkruimte-id van de gebruiker, bijvoorbeeld 2345678901234567 . Als u de gebruikers-id wilt op halen, roept u Gebruikers op.

In dit voorbeeld wordt een .netrc-bestand en jq gebruikt.

Gebruiker bijwerken op id ( PUT )

Eindpunt HTTP-methode
2.0/preview/scim/v2/Users/{id} PUT

Gebruikers met beheerdersrechten: overschrijf de gebruikersresource over meerdere kenmerken, behalve de kenmerken die onveranderbaar zijn ( userName en userId ).

De aanvraag moet het schemas kenmerk bevatten, ingesteld op urn:ietf:params:scim:schemas:core:2.0:User .

Notitie

De PATCH methode wordt aanbevolen voor de methode voor het instellen of bijwerken van PUT gebruikersrechten.

Voorbeeld

In dit voorbeeld worden de vorige rechten van de opgegeven gebruiker gewijzigd in alleen het allow-cluster-create recht .

curl --netrc -X PUT \
https://<databricks-instance>/api/2.0/preview/scim/v2/Users/<user-id> \
--header 'Content-type: application/scim+json' \
--data @overwrite-user.json \
| jq .

overwrite-user.json:

{
  "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ],
  "userName": "<username>",
  "entitlements": [
    {
      "value": "allow-cluster-create"
    }
  ]
}

Vervang:

  • <databricks-instance> door de naam Azure Databricks <databricks-instance>, bijvoorbeeld adb-1234567890123456.7.azuredatabricks.net .
  • <user-id> met de Azure Databricks werkruimte-id van de gebruiker, bijvoorbeeld 2345678901234567 . Als u de gebruikers-id wilt op halen, roept u Gebruikers op.
  • <username> met de Azure Databricks werkruimte-gebruikersnaam van de gebruiker, bijvoorbeeld someone@example.com . Als u de gebruikersnaam wilt op halen, roept u Gebruikers zoeken aan.

In dit voorbeeld wordt een .netrc-bestand en jq gebruikt.

Gebruiker verwijderen op id

Eindpunt HTTP-methode
2.0/preview/scim/v2/Users/{id} DELETE

Gebruikers met beheerdersrechten: Verwijder een gebruikersresource. Een gebruiker die geen eigenaar is van een werkruimte in Azure Databricks, wordt na 30 dagen automatisch verwijderd.

Als u een gebruiker uit een werkruimte verwijdert, worden ook objecten verwijderd die aan de gebruiker zijn gekoppeld. Notebooks worden bijvoorbeeld gearchiveerd, clusters worden beëindigd en taken worden eigenaarloos.

De basismap van de gebruiker wordt niet automatisch verwijderd. Alleen een beheerder kan de basismap van een verwijderde gebruiker openen of verwijderen.

Voorbeeldaanvraag

curl --netrc -X DELETE \
https://<databricks-instance>/api/2.0/preview/scim/v2/Users/<user-id>

Vervang:

  • <databricks-instance> door de naam Azure Databricks <databricks-instance>, bijvoorbeeld adb-1234567890123456.7.azuredatabricks.net .
  • <user-id> met de Azure Databricks werkruimte-id van de gebruiker, bijvoorbeeld 2345678901234567 . Als u de gebruikers-id wilt op halen, roept u Gebruikers op.

In dit voorbeeld wordt een .netrc-bestand gebruikt.

Gebruiker activeren en deactiveren op id

Belangrijk

Deze functie is beschikbaar als openbare preview.

Eindpunt HTTP-methode
2.0/preview/scim/v2/Users/{id} PATCH

Gebruikers met beheerdersrechten: Activeer of deactiveer een gebruiker. Als u een gebruiker deactiveert, wordt alle toegang tot een werkruimte voor die gebruiker verwijderd, maar blijven de machtigingen en objecten die aan de gebruiker zijn gekoppeld ongewijzigd. Clusters die aan de gebruiker zijn gekoppeld, blijven actief en notebooks blijven op hun oorspronkelijke locaties. De tokens van de gebruiker worden bewaard, maar kunnen niet worden gebruikt voor verificatie terwijl de gebruiker wordt gedeactiveerd. Geplande taken mislukken echter tenzij ze zijn toegewezen aan een nieuwe eigenaar.

U kunt de aanvragen Get users en Get user by ID gebruiken om weer te geven of gebruikers actief of inactief zijn.

Notitie

Het duurt minstens vijf minuten voordat de cache is geweerd voordat deactivering van kracht wordt.

Belangrijk

Een Azure Active Directory (Azure AD) met de rol Inzender of Eigenaar voor het Azure Databricks-abonnement kan zichzelf opnieuw activeren met behulp van de Azure AD-aanmeldingsstroom. Als een gebruiker met een van deze rollen moet worden gedeactiveerd, moet u ook de bevoegdheden voor het abonnement intrekken.

Stel de actieve waarde in op false om een gebruiker te deactiveren en een gebruiker te true activeren.

Voorbeeld

Aanvraag

curl --netrc -X PATCH \
https://<databricks-instance>/api/2.0/preview/scim/v2/Users/<user-id> \
--header 'Content-type: application/scim+json' \
--data @toggle-user-activation.json \
| jq .

toggle-user-activation.json:

{
  "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
  "Operations": [
    {
      "op": "replace",
      "path": "active",
      "value": [
        {
          "value": "false"
        }
      ]
    }
  ]
}

Vervang:

  • <databricks-instance> met de Azure Databricks <databricks-instance>bijvoorbeeld adb-1234567890123456.7.azuredatabricks.net .
  • <user-id> met de Azure Databricks werkruimte-id van de gebruiker, bijvoorbeeld 2345678901234567 .

In dit voorbeeld wordt een .netrc-bestand en jq gebruikt.

Antwoord

{
  "emails": [
    {
      "type": "work",
      "value": "someone@example.com",
      "primary": true
    }
  ],
  "displayName": "Someone User",
  "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:workspace:2.0:User"
  ],
  "name": {
    "familyName": "User",
    "givenName": "Someone"
  },
  "active": false,
  "groups": [],
  "id": "123456",
  "userName": "someone@example.com"
}

Actieve en inactieve gebruikers filteren

Belangrijk

Deze functie is beschikbaar als openbare preview.

Eindpunt HTTP-methode
2.0/preview/scim/v2/Users GET

Gebruikers met beheerdersrechten: haal een lijst met actieve of inactieve gebruikers op.

Voorbeeld

curl --netrc -X GET \
"https://<databricks-instance>/api/2.0/preview/scim/v2/Users?filter=active+eq+false" \
| jq .

Vervang <databricks-instance> door de naam Azure Databricks <databricks-instance>, bijvoorbeeld adb-1234567890123456.7.azuredatabricks.net .

In dit voorbeeld wordt een .netrc-bestand en jq gebruikt.

Gebruikers automatisch deactiveren

Belangrijk

Deze functie is beschikbaar als openbare preview.

Gebruikers met beheerdersrechten: deactiveer gebruikers die zich niet hebben aangemeld voor een aanpasbare periode. Geplande taken die eigendom zijn van een gebruiker, worden ook beschouwd als activiteiten.

Eindpunt HTTP-methode
2.0/preview/workspace-conf PATCH

De aanvraag body is een sleutel-waardepaar waarbij de waarde de tijdslimiet is voor hoe lang een gebruiker inactief kan zijn voordat deze automatisch wordt gedeactiveerd.

Voorbeeld

curl --netrc -X PATCH \
https://<databricks-instance>/api/2.0/preview/workspace-conf \
--data @deactivate-users.json \
| jq .

deactivate-users.json:

{
  "maxUserInactiveDays": "90"
}

Vervang <databricks-instance> door de naam Azure Databricks <databricks-instance>, bijvoorbeeld adb-1234567890123456.7.azuredatabricks.net .

In dit voorbeeld wordt een .netrc-bestand en jq gebruikt.

De maximale periode voor inactiviteit van een gebruiker van een werkruimte op te halen

Belangrijk

Deze functie is beschikbaar als openbare preview.

Gebruikers met beheerdersrechten: haal de limiet voor inactiviteit van de gebruiker op die is gedefinieerd voor een werkruimte.

Eindpunt HTTP-methode
2.0/preview/workspace-conf GET

Voorbeeldaanvraag

curl --netrc -X GET \
"https://<databricks-instance>/api/2.0/preview/workspace-conf?keys=maxUserInactiveDays" \
| jq .

Vervang <databricks-instance> door de naam Azure Databricks <databricks-instance>, bijvoorbeeld adb-1234567890123456.7.azuredatabricks.net .

In dit voorbeeld wordt een .netrc-bestand en jq gebruikt.

Voorbeeld van een antwoord

{
  "maxUserInactiveDays": "90"
}