Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Postgres-rollen beheren de toegang tot uw Postgres-databases, -schema's, -tabellen en andere databaseobjecten. Gebruik de Gebruikersinterface van Lakebase om rollen voor uw team te maken en te beheren.
Opmerking
Voordat u met rollen werkt, raadpleegt u hoe u verbinding maakt met uw database en verifieert met behulp van OAuth-tokens of systeemeigen Postgres-wachtwoordverificatie.
Overzicht van rollen
Wanneer u een project maakt, wordt automatisch een Postgres-rol gemaakt voor uw Databricks-identiteit (bijvoorbeeld user@databricks.com). Deze rol is eigenaar van de standaarddatabase databricks_postgres en is lid van databricks_superuser, waardoor deze uitgebreide bevoegdheden heeft voor het beheren van databaseobjecten. U kunt aanvullende rollen maken in de standaardtak van uw project of in subtakken.
Als u uw project beheert met Terraform en deze impliciete rol van eigenaar wilt overbrengen onder IaC-beheer, raadpleegt u De instelling van het Typische Lakebase-project met Terraform voor het replace_existing acceptatiepatroon.
Als u in plaats daarvan declaratieve Automation-bundels gebruikt, raadpleegt u de instelling van het Typische Lakebase-project met declaratieve Automation-bundels voor hetzelfde patroon.
Opmerking
De status van de Postgres-rol is onafhankelijk per branch. Wanneer u een branch maakt, neemt deze de Postgres-rollen, databases, roellidmaatschappen en machtigingen van de bovenliggende branch over op het moment waarop de branch wordt gemaakt. Na het aanmaken van een vertakking ontwikkelt elke vertakking zich onafhankelijk — rollen en databases die worden gemaakt, GRANT’s en REVOKE’s die worden toegepast, en rolkenmerken of lidmaatschappen die in de ene vertakking worden gewijzigd, hebben geen effect op andere vertakkingen, met inbegrip van de bovenliggende vertakking. Er is geen automatische synchronisatie van de rolstatus tussen vertakkingen.
Project machtigingen (CAN USE, CAN MANAGE) werken anders: ze zijn van toepassing op de hele project en alle vertakkingen. Zie Projectmachtigingen beheren.
Een rol maken
Gebruik het dialoogvenster Rol toevoegen in de Lakebase-app om een OAuth-rol te maken voor een Databricks-identiteit of een systeemeigen Postgres-wachtwoordrol.
Een OAuth-rol maken
OAuth-rollen zijn gekoppeld aan een Azure Databricks-identiteit (gebruiker, service-principal of groep) en worden geverifieerd met behulp van OAuth-tokens, die na één uur verlopen.
Wanneer u een onderliggende vertakking aanmaakt, weerspiegelt deze de rol en de databasestatus van de bovenliggende vertakking op het moment van vertakking. Daarna ontwikkelt de rolstatus van elke vertakking zich onafhankelijk. Voor groepen worden alleen groepen op werkruimteniveau ondersteund.
Optioneel databricks_superuser verlenen (beërft pg_read_all_data, pg_write_all_data, en pg_monitor) of standaard Postgres-kenmerken (CREATEDB, CREATEROLE, BYPASSRLS). Zie rolkenmerken in de PostgreSQL-documentatie.
Als u een OAuth-rol wilt maken, gaat u naarhet tabblad>> selecteert u een identiteit in de vervolgkeuzelijst Principal, configureert u machtigingen en klikt u op Toevoegen.
Opmerking
U kunt ook OAuth-rollen maken met behulp van de databricks_auth extensie met SQL of de REST API. Zie Postgres-rollen maken.
Een wachtwoordrol maken
Wachtwoordrollen gebruiken een statisch Postgres-wachtwoord en zijn niet gekoppeld aan een Azure Databricks-identiteit. Ze zijn handig voor toepassingen of hulpprogramma's waarvoor traditionele databasereferenties zijn vereist.
De Lakebase-app genereert automatisch een beveiligd wachtwoord. Kopieer deze direct na het maken. Het wordt niet opnieuw weergegeven. Als u een aangepast wachtwoord nodig hebt, stelt u dit later in met BEHULP van SQL. Dezelfde optionele machtigingen van de OAuth-rol zijn van toepassing (databricks_superuser, CREATEDB, CREATEROLE, BYPASSRLS). Rolnamen moeten geldige Postgres-id's zijn en mogen niet langer zijn dan 63 tekens.
Als u een wachtwoordrol wilt maken, gaat u naar het tabblad Rollen en databases>toevoegen van rolwachtwoord>, voert u een rolnaam in, configureert u machtigingen, klikt u op Toevoegen en kopieert u het gegenereerde wachtwoord.
Rollen weergeven
Als u alle rollen in een vertakking wilt weergeven, gaat u naar het tabblad Rollen en databases van uw vertakking in de Lakebase-app.
Wachtwoordverbindingen beheren
Wachtwoordverbindingen zijn standaard uitgeschakeld voor nieuwe Projecten voor automatisch schalen van Lakebase. Bestaande projecten worden niet beïnvloed door deze standaardinstelling.
Als u wachtwoordverbindingen wilt inschakelen, gaat u naar dedatabaseverbindingen van uw > en controleert u het wachtwoord (systeemeigen Postgres-rollen).
Als u wachtwoordverbindingen wilt uitschakelen, gaat u naar dedatabaseverbindingen van uw > en schakelt u Wachtwoord (systeemeigen Postgres-rollen) uit. Bestaande wachtwoordrollen worden niet verwijderd, maar kunnen niet worden geverifieerd terwijl wachtwoordverbindingen zijn uitgeschakeld.
U kunt dit ook per rekeneindpunt beheren. Selecteerdatabaseverbindingen> in de rekeninstellingen van uw vertakking en schakel wachtwoord (Postgres-rollen) in of uit.
Belangrijk
Dit is een gedragswijziging. Als u automatiseringsscripts of CI-pijplijnen hebt die nieuwe Lakebase Autoscaling-projecten maken en afhankelijk zijn van systeemeigen Postgres-wachtwoordverbindingen, moet u nu expliciet wachtwoordverbindingen inschakelen nadat het project is gemaakt.
Wachtwoordverbindingen programmatisch in- of uitschakelen:
CLI (Command Line Interface)
# Enable password connections
databricks postgres update-project projects/<project-id> spec.enable_pg_native_login \
--json '{"spec": {"enable_pg_native_login": true}}'
# Disable password connections
databricks postgres update-project projects/<project-id> spec.enable_pg_native_login \
--json '{"spec": {"enable_pg_native_login": false}}'
Python SDK
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.postgres import FieldMask, Project, ProjectSpec
w = WorkspaceClient()
# Enable password connections
w.postgres.update_project(
name="projects/<project-id>",
project=Project(spec=ProjectSpec(enable_pg_native_login=True)),
update_mask=FieldMask(field_mask=["spec.enable_pg_native_login"]),
).wait()
# Disable password connections
w.postgres.update_project(
name="projects/<project-id>",
project=Project(spec=ProjectSpec(enable_pg_native_login=False)),
update_mask=FieldMask(field_mask=["spec.enable_pg_native_login"]),
).wait()
curl
# Enable password connections
curl -X PATCH "https://${DATABRICKS_HOST}/api/2.0/postgres/projects/<project-id>?update_mask=spec.enable_pg_native_login" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"spec": {"enable_pg_native_login": true}}' | jq
# Disable password connections
curl -X PATCH "https://${DATABRICKS_HOST}/api/2.0/postgres/projects/<project-id>?update_mask=spec.enable_pg_native_login" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"spec": {"enable_pg_native_login": false}}' | jq
Zie Informatie over authenticatie.
Een wachtwoord opnieuw instellen
U kunt het wachtwoord opnieuw instellen voor systeemeigen Postgres-wachtwoordrollen. OAuth-rollen gebruiken OAuth-tokens voor verificatie en hebben geen wachtwoorden om opnieuw in te stellen.
Het wachtwoord van een rol opnieuw instellen:
- Navigeer naar het tabblad Rollen en databases van de branch van uw Lakebase-app.
- Selecteer Wachtwoord opnieuw instellen in het rollenmenu en klik op Opnieuw instellen.
- Kopieer het nieuwe gegenereerde wachtwoord.
Opmerking
Als u een wachtwoord opnieuw instelt in de Lakebase-app, wordt het wachtwoord opnieuw ingesteld op een gegenereerde waarde met 60-bits entropie. Als u uw eigen wachtwoordwaarde wilt instellen, kunt u het wachtwoord opnieuw instellen met behulp van de SQL-editor of een SQL-client zoals psql met de volgende syntaxis:
ALTER USER user_name WITH PASSWORD 'new_password';
Het wachtwoord moet minstens 12 tekens bevatten met een combinatie van kleine letters, hoofdletters, cijfers en symbooltekens. Door de gebruiker gedefinieerde wachtwoorden worden tijdens het maken gevalideerd om 60-bits entropie te garanderen.
Een nieuw OAuth-token ophalen
Als u OAuth-verificatie gebruikt en een nieuw OAuth-token nodig hebt (tokens verlopen na één uur), kunt u er een ophalen via de modale verbinding:
- Navigeer naar uw project in de Lakebase-app.
- Klik op Verbinding maken om de databaseverbinding modaal te openen.
- Selecteer uw OAuth-rol in de vervolgkeuzelijst Rollen .
- Klik op OAuth-token kopiëren om een nieuw token te kopiëren.
Meer informatie: Verbinding maken met een OAuth-rol | Over verificatie
Een rol verwijderen
Belangrijk
Het verwijderen van een rol is een permanente actie die niet ongedaan kan worden gemaakt en u kunt een rol die eigenaar is van een database niet verwijderen. De database moet worden verwijderd voordat u de rol verwijdert die eigenaar is van de database.
Een rol verwijderen:
- Navigeer naar het tabblad Rollen en databases van de branch van uw Lakebase-app.
- Selecteer Rol verwijderen in het rolmenu en bevestig de verwijdering.
Opmerking
Voor het beheren van databaserollen is de CAN MANAGE of CAN USE-projectmachtiging vereist. Als u niet over de vereiste machtiging beschikt, ziet u het bericht 'Machtigingen vereist' wanneer u een actie met betrekking tot rollen probeert uit te voeren. Neem contact op met een werkruimtebeheerder om toegang aan te vragen. Zie Projectmachtigingen beheren voor meer informatie.