Interfejs API SCIM 2.0 (użytkownicy)

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Administrator usługi Azure Databricks może wywoływać wszystkie punkty końcowe interfejsu API SCIM. Użytkownicy niebędący administratorami mogą wywoływać punkt końcowy Uzyskiwanie użytkowników w celu odczytywania nazw wyświetlanych i identyfikatorów użytkowników.

Uwaga

Każdy obszar roboczy może mieć maksymalnie 10 000 użytkowników i 5000 grup. Jednostki usługi są wliczane do maksymalnej liczby użytkowników.

Program SCIM (użytkownicy) umożliwia tworzenie użytkowników w usłudze Azure Databricks i przyznawanie im odpowiedniego poziomu dostępu, tymczasowe blokowanie i odblokowywanie kont użytkowników oraz usuwanie dostępu dla użytkowników (co do których należy anulować aprowizowanie), gdy opuszczają organizację lub nie potrzebują już dostępu do usługi Azure Databricks.

Wymagania

Twoje konto usługi Azure Databricks musi mieć plan usługi Azure Databricks Premium.

Pobieranie użytkowników

Punkt końcowy HTTP, metoda
2.0/preview/scim/v2/Users GET

Użytkownicy administracyjni: pobierz listę wszystkich użytkowników w obszarze roboczym usługi Azure Databricks.

Użytkownicy niebędący administratorami: pobierz listę wszystkich użytkowników w obszarze roboczym usługi Azure Databricks, zwracając nazwę użytkownika, nazwę wyświetlaną użytkownika i tylko identyfikator obiektu.

Przykłady

Ten przykład pobiera informacje o wszystkich użytkownikach.

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

W tym przykładzie użyto parametru zapytania filtrueq (równości) z parametrem userName , aby uzyskać informacje o określonym użytkowniku.

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

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • <username> przy użyciu nazwy użytkownika obszaru roboczego usługi Azure Databricks, na przykład someone@example.com.

W tym przykładzie użyto pliku .netrc i jq.

Pobieranie użytkownika według identyfikatora

Punkt końcowy HTTP, metoda
2.0/preview/scim/v2/Users/{id} GET

Użytkownicy administracyjni: pobieranie pojedynczego zasobu użytkownika z obszaru roboczego usługi Azure Databricks przy użyciu identyfikatora usługi Azure Databricks.

Przykład

Żądanie

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

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • <user-id> z identyfikatorem obszaru roboczego usługi Azure Databricks użytkownika, na przykład 2345678901234567. Aby uzyskać identyfikator użytkownika, wywołaj metodę Pobierz użytkowników.

W tym przykładzie użyto pliku .netrc i jq.

Reakcja

Tworzenie użytkownika

Punkt końcowy HTTP, metoda
2.0/preview/scim/v2/Users POST

Użytkownicy administracyjni: utwórz użytkownika w obszarze roboczym usługi Azure Databricks.

Parametry żądania są zgodne ze standardowym protokołem SCIM 2.0.

Żądania muszą zawierać następujące atrybuty:

  • schemas ustaw wartość na urn:ietf:params:scim:schemas:core:2.0:User
  • userName

Przykład

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"
    }
  ]
}

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • <username> przy użyciu nazwy użytkownika obszaru roboczego usługi Azure Databricks, na przykład someone@example.com.

W tym przykładzie użyto pliku .netrc i jq.

Aktualizowanie użytkownika według identyfikatora (PATCH)

Punkt końcowy HTTP, metoda
2.0/preview/scim/v2/Users/{id} PATCH

Użytkownicy administracyjni: zaktualizuj zasób użytkownika przy użyciu operacji na określonych atrybutach, z wyjątkiem tych, które są niezmienne (userName i userId). Metoda jest zalecana PATCH za PUT pośrednictwem metody ustawiania lub aktualizowania uprawnień użytkownika.

Parametry żądania są zgodne ze standardowym protokołem SCIM 2.0 i zależą od wartości atrybutu schemas .

Przykład

W tym przykładzie allow-cluster-create dodano uprawnienie do określonego użytkownika.

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"
        }
      ]
    }
  ]
}

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • <user-id> z identyfikatorem obszaru roboczego usługi Azure Databricks użytkownika, na przykład 2345678901234567. Aby uzyskać identyfikator użytkownika, wywołaj metodę Pobierz użytkowników.

W tym przykładzie użyto pliku .netrc i jq.

Aktualizowanie użytkownika według identyfikatora (PUT)

Punkt końcowy HTTP, metoda
2.0/preview/scim/v2/Users/{id} PUT

Użytkownicy administracyjni: zastąp zasób użytkownika wieloma atrybutami, z wyjątkiem tych, które są niezmienne (userName i userId).

Żądanie musi zawierać schemas atrybut , ustawiony na urn:ietf:params:scim:schemas:core:2.0:Userwartość .

Uwaga

Metoda jest zalecana PATCH za PUT pośrednictwem metody ustawiania lub aktualizowania uprawnień użytkownika.

Przykład

W tym przykładzie zmiany poprzednich uprawnień określonego użytkownika mają teraz tylko allow-cluster-create uprawnienia.

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"
    }
  ]
}

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • <user-id> z identyfikatorem obszaru roboczego usługi Azure Databricks użytkownika, na przykład 2345678901234567. Aby uzyskać identyfikator użytkownika, wywołaj metodę Pobierz użytkowników.
  • <username> przy użyciu nazwy użytkownika obszaru roboczego usługi Azure Databricks, na przykład someone@example.com. Aby uzyskać nazwę użytkownika, wywołaj metodę Pobierz użytkowników.

W tym przykładzie użyto pliku .netrc i jq.

Usuwanie użytkownika według identyfikatora

Punkt końcowy HTTP, metoda
2.0/preview/scim/v2/Users/{id} DELETE

Użytkownicy administracyjni: usuwanie zasobu użytkownika. Użytkownik, który nie jest właścicielem obszaru roboczego lub należy do niego w usłudze Azure Databricks, jest automatycznie czyszczone po 30 dniach.

Usunięcie użytkownika z obszaru roboczego powoduje również usunięcie obiektów skojarzonych z użytkownikiem. Na przykład notesy są archiwizowane, klastry są przerywane, a zadania stają się bez właściciela.

Katalog główny użytkownika nie jest automatycznie usuwany. Tylko administrator może uzyskać dostęp do usuniętego katalogu macierzystego użytkownika lub usunąć go.

Przykładowe żądanie

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

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • <user-id> z identyfikatorem obszaru roboczego usługi Azure Databricks użytkownika, na przykład 2345678901234567. Aby uzyskać identyfikator użytkownika, wywołaj metodę Pobierz użytkowników.

W tym przykładzie użyto pliku .netrc .

Aktywowanie i dezaktywowanie użytkownika według identyfikatora

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Punkt końcowy HTTP, metoda
2.0/preview/scim/v2/Users/{id} PATCH

Użytkownicy administracyjni: aktywowanie lub dezaktywowanie użytkownika. Dezaktywacja użytkownika usuwa cały dostęp do obszaru roboczego dla tego użytkownika, ale pozostawia uprawnienia i obiekty skojarzone z użytkownikiem bez zmian. Klastry skojarzone z użytkownikiem są nadal uruchomione, a notesy pozostają w oryginalnych lokalizacjach. Tokeny użytkownika są zachowywane, ale nie można ich używać do uwierzytelniania, gdy użytkownik jest dezaktywowany. Jednak zaplanowane zadania kończą się niepowodzeniem, chyba że przypisano go do nowego właściciela.

Aby wyświetlić, czy użytkownicy są aktywni, czy nieaktywni, możesz użyć opcji Pobierz użytkowników i Pobierz użytkownika według identyfikatorów .

Uwaga

Poczekaj co najmniej pięć minut na wyczyszczenie pamięci podręcznej, aby dezaktywacja została wprowadzona.

Ważne

Użytkownik Azure Active Directory (Azure AD) z rolą Współautor lub Właściciel w subskrypcji usługi Azure Databricks może ponownie aktywować się przy użyciu przepływu logowania usługi Azure AD. Jeśli użytkownik z jedną z tych ról musi zostać zdezaktywowany, należy również odwołać swoje uprawnienia w subskrypcji.

Ustaw aktywną wartość, aby false dezaktywować użytkownika i true aktywować użytkownika.

Przykład

Żądanie

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"
        }
      ]
    }
  ]
}

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • <user-id> z identyfikatorem obszaru roboczego usługi Azure Databricks użytkownika, na przykład 2345678901234567.

W tym przykładzie użyto pliku .netrc i jq.

Reakcja

{
  "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"
}

Filtrowanie aktywnych i nieaktywnych użytkowników

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Punkt końcowy HTTP, metoda
2.0/preview/scim/v2/Users GET

Użytkownicy administracyjni: pobieranie listy aktywnych lub nieaktywnych użytkowników.

Przykład

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

Zastąp <databricks-instance> ciąg nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.

W tym przykładzie użyto pliku .netrc i jq.

Automatyczne dezaktywowanie użytkowników

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Użytkownicy administracyjni: dezaktywuj użytkowników, którzy nie zalogowali się w okresie dostosowywalnym. Zaplanowane zadania należące do użytkownika są również uznawane za działania.

Punkt końcowy HTTP, metoda
2.0/preview/workspace-conf PATCH

Treść żądania jest parą klucz-wartość, w której wartość jest limitem czasu, przez jaki użytkownik może być nieaktywny, zanim zostanie automatycznie zdezaktywowany.

Przykład

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

deactivate-users.json:

{
  "maxUserInactiveDays": "90"
}

Zastąp <databricks-instance> ciąg nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.

W tym przykładzie użyto pliku .netrc i jq.

Pobieranie maksymalnego okresu braku aktywności użytkownika w obszarze roboczym

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Użytkownicy administracyjni: pobieranie limitu braku aktywności użytkownika zdefiniowanego dla obszaru roboczego.

Punkt końcowy HTTP, metoda
2.0/preview/workspace-conf GET

Przykładowe żądanie

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

Zastąp <databricks-instance> ciąg nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.

W tym przykładzie użyto pliku .netrc i jq.

Przykładowa odpowiedź

{
  "maxUserInactiveDays": "90"
}