Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Nawiąż połączenie z bazą danych przy użyciu tokenów OAuth lub haseł Postgres. Aby zarządzać infrastrukturą usługi Lakebase (tworzenie projektów, gałęzi, obliczeń), zobacz Uprawnienia projektu.
Wybierz metodę uwierzytelniania
Przed nawiązaniem połączenia zdecyduj, która metoda uwierzytelniania działa najlepiej w twoim przypadku użycia:
- Rola OAuth: Uwierzytelnij się za pomocą tożsamości Azure Databricks przy użyciu tokenu OAuth. Właściciel projektu może nawiązać natychmiastowe połączenie. Aby zezwolić innym tożsamościom usługi Azure Databricks na korzystanie z uwierzytelniania OAuth, utwórz role bazy danych Postgres przy użyciu interfejsu użytkownika usługi Lakebase, języka SQL lub interfejsu API REST. Zobacz Tworzenie roli OAuth.
- Natywne uwierzytelnianie haseł Postgres: Uwierzytelnianie przy użyciu roli Postgres przy użyciu tradycyjnego hasła bazy danych. Zobacz Tworzenie natywnej roli hasła Postgres.
Protokół OAuth zapewnia automatyczne wygasanie poświadczeń i integrację tożsamości obszaru roboczego, ale wymaga rotacji tokenów dla długotrwałych aplikacji. Hasła postgres nie wygasają ani nie wymagają rotacji, ale nie mają automatycznego wygasania i scentralizowanego zarządzania zabezpieczeniami usługi OAuth.
Nawiązywanie połączenia z bazą danych
Podczas łączenia się przez publiczny internet, jeśli korzystasz z zapory po stronie klienta, dodaj adresy IP używane przez Lakebase do swojej listy dozwolonych. Zobacz Adresy IP i domeny dla usług Databricks.
W poniższych przykładach użyto psqlstandardowego klienta Postgres. Aby uzyskać więcej informacji na temat nawiązywania połączenia przy użyciu narzędzia psql, zobacz Connect with psql (Nawiązywanie połączenia za pomocą narzędzia psql). Dostęp do bazy danych można również uzyskać za pośrednictwem notesów usługi Databricks, edytora SQL Lakebase, edytora tabel lub narzędzi innych firm, takich jak pgAdmin, oraz innych klientów zgodnych z Postgres. Aby uzyskać więcej opcji, zobacz Wykonywanie zapytań o dane .
Każdy projekt zawiera domyślną bazę danych o nazwie databricks_postgres , z którą można nawiązać połączenie. Ta baza danych jest własnością roli Postgres dla tożsamości Databricks (na przykład user@databricks.com), która automatycznie jest tworzona podczas tworzenia projektu. Aby utworzyć dodatkowe role bazy danych Postgres, zobacz Zarządzanie rolami Postgres.
Uwaga / Notatka
Wszystkie połączenia z bazą danych podlegają 24-godzinnym limitowi czasu bezczynności i maksymalnie 3-dniowemu okresowi połączenia. Zobacz Limity czasu połączenia.
Nawiązywanie połączenia z rolą OAuth
Role OAuth umożliwiają nawiązywanie połączenia przy użyciu tożsamości usługi Azure Databricks z uwierzytelnianiem opartym na tokenach. Rola OAuth właściciela projektu jest tworzona automatycznie. Aby zezwolić innym tożsamościom usługi Azure Databricks na korzystanie z uwierzytelniania OAuth, utwórz role bazy danych Postgres przy użyciu interfejsu użytkownika usługi Lakebase, języka SQL lub interfejsu API REST. Zobacz Tworzenie roli OAuth.
Aby wygenerować tokeny OAuth programowo lub w przypadku zautomatyzowanych przepływów pracy, zobacz Uzyskiwanie tokenu OAuth w przepływie użytkownika do maszyny na potrzeby sesji interakcyjnych lub Uzyskiwanie tokenu OAuth w przepływie maszynowo-maszynowym dla jednostek usługi.
Ważne
Tokeny OAuth wygasają po godzinie.
W przypadku aplikacji, które utrzymują długotrwałe połączenia z bazą danych, należy zaimplementować rotację tokenów, aby automatycznie odświeżyć poświadczenia przed ich wygaśnięciem. Bez rotacji tokenów aplikacja utraci łączność z bazą danych po godzinie.
Zobacz Przykłady rotacji tokenów , aby zapoznać się z przykładami kodu.
Aby nawiązać połączenie z rolą OAuth:
W aplikacji Lakebase wybierz projekt i kliknij pozycję Połącz.
Wybierz gałąź, obliczenia i bazę danych, z którą chcesz nawiązać połączenie, a następnie wybierz tożsamość usługi Azure Databricks z sekcji Role OAuth w menu rozwijanym Rola .
Kliknij Kopiuj token OAuth, a następnie ustaw token w zmiennej środowiskowej
PGPASSWORDw terminalu:export PGPASSWORD='<oauth-token>'Wybierz psql z rozwijanego menu nad fragmentem, następnie skopiuj fragment do terminala i uruchom go.
psqlodczytuje token zPGPASSWORD, więc nie jesteś proszony o podanie hasła. Jeśli i tak zostaniesz poproszony, zobacz Rozwiązywanie problemów z połączeniami OAuth.
Tokeny OAuth wygasają godzinę po wygenerowaniu. Aby ponownie połączyć się po wygaśnięciu tokena, skopiuj nowy token i wyeksportuj go ponownie do PGPASSWORD.
Uwaga / Notatka
Kopiuj token OAuth generuje token tylko dla twojej aktualnej tożsamości logowania, a nie dla podmiotów serwisowych czy innych użytkowników. Aby wygenerować tokeny dla innych tożsamości, użyj interfejsu wiersza polecenia lub zestawu SDK.
Rozwiązywanie problemów z połączeniami OAuth
psqlPrzestaje odpowiadać, gdy wkleisz token w monicie hasła. Tokeny OAuth są długie, a w niektórych terminalach wklejenie jednego w interaktywnym wierszu poleceń powoduje, żepsqlprzestaje odpowiadać. Wyeksportuj token doPGPASSWORDprzed uruchomieniempsql, jak opisano w poprzednich krokach.psqlpojawia się monit o hasło, mimo żePGPASSWORDjest ustawione. Inne ustawienia Postgres w Twoim środowisku mogą mieć pierwszeństwo przedPGPASSWORD, na przykład plik usługi połączeń ustawiony przez profil powłoki. Aby połączyć się niezależnie od tych ustawień, dodaj token do parametrów połączenia. Używaj podwójnych cudzysłowów, aby powłoka podstawiała wartość zmiennej:psql "postgresql://your-email%40databricks.com:${PGPASSWORD}@ep-abc-123.databricks.com/databricks_postgres?sslmode=require"Aby usunąć podstawową przyczynę, uruchom
env | grep '^PG', aby sprawdzić zmiennePGSERVICEFILElubPGSERVICE. Jeśli któraś z tych opcji jest ustawiona, wyłącz je na bieżącą sesję:unset PGSERVICE PGSERVICEFILEAby zapobiec ponownemu ustawianiu zmiennych w nowych sesjach, usuń linie
export, które je ustawiają, z profilu powłoki, takie jak~/.bashrclub~/.zshrc.
Nawiązywanie połączenia przy użyciu natywnego hasła postgres
Natywne uwierzytelnianie haseł Postgres umożliwia nawiązywanie połączenia przy użyciu roli Postgres z tradycyjnym hasłem bazy danych.
Aby nawiązać połączenie za pomocą natywnego uwierzytelniania Postgres przy użyciu hasła:
- W aplikacji Lakebase wybierz projekt i kliknij pozycję Połącz.
- Wybierz gałąź, obliczenia i bazę danych, z którą chcesz nawiązać połączenie, a następnie wybierz rolę Postgres w sekcji Role postgres w menu rozwijanym Rola .
- Wybierz psql z rozwijanego menu nad fragmentem, następnie skopiuj fragment do terminala i uruchom go, aby się połączyć.
Uwaga / Notatka
Usługa Lakebase zawiera wbudowany moduł puli połączeń dla natywnych ról haseł Postgres. Aby zmniejszyć obciążenie połączenia dla aplikacji o wysokiej przepływności, zobacz Używanie puli połączeń.