Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Federasi ke Databricks Unity Catalog
AWS Glue Data Catalog federasi untuk Databricks menggunakan OAuth2 kredensi dari kepala layanan. Databricks Mekanisme otentikasi ini memungkinkan AWS Glue Data Catalog untuk mengakses metadata berbagai objek (seperti katalog, database, dan tabel) diDatabricks Unity Catalog, berdasarkan hak istimewa yang terkait dengan prinsip layanan. Untuk memastikan akses ke objek yang tepat, penting untuk memberikan prinsipal layanan dengan izin yang diperlukan Databricks untuk membaca metadata objek ini.
Selanjutnya, federasi katalog memungkinkan penemuan dan kueri Iceberg tabel di Katalog Unity Databricks Anda. Untuk membaca tabel delta, pastikan Iceberg metadata tersedia untuk tabel ini menggunakan. Uniform Ikuti Databricks tutorial dan dokumentasi untuk membuat prinsip layanan dan hak istimewa terkait di ruang Databricks kerja Anda.
Prasyarat
Sebelum Anda membuat katalog federasi di Katalog Data yang diatur oleh Lake Formation, pastikan Anda memiliki izin berikut:
Prinsipal IAM Anda (pengguna atau peran) harus memiliki izin berikut:
-
Izin Lake Formation —
lakeformation:RegisterResource,lakeformation:DescribeResource -
AWS Glue izin —
glue:CreateConnection,,glue:CreateCatalog,glue:GetConnectionglue:PassConnection -
Izin Secrets Manager —
secretsmanager:CreateSecret,secretsmanager:GetSecretValue -
Izin IAM —
iam:CreateRole,,iam:AttachRolePolicyiam:PassRole
Anda harus menjadi administrator danau data Lake Formation atau memiliki CREATE_CATALOG izin pada Katalog Data
Buat Katalog Federasi
Masuk ke konsol dan buka konsol Lake Formation di https://console.aws.amazon.com/lakeformation/
. Pilih AWS wilayah yang disukai di bagian halaman kanan atas.
Di panel navigasi kiri, pilih Katalog.
Pilih Create Catalog untuk membuka Create Catalog Workflow.
Di Pilih langkah sumber data, pilih Databricks dari opsi yang tersedia.
Pada langkah Atur detail katalog, Anda memberikan tiga informasi - detail katalog, detail koneksi, dan detail pendaftaran.
Dalam wadah detail katalog, berikan nama unik ke katalog AWS Glue federasi Anda dan masukkan nama Databricks katalog yang ada.
Dalam kontainer detail koneksi, Anda dapat memilih dari koneksi yang ada yang dapat Anda akses atau menyediakan konfigurasi untuk membuat konektor baru.
Konfigurasi koneksi baru meliputi:
Nama Koneksi — Nama unik dari objek AWS Glue koneksi.
URL Workspace — URL endpoint dari ruang kerja Anda yang adaDatabricks.
Otentikasi — Tentukan konfigurasi otentikasi yang AWS Glue digunakan untuk terhubung ke server katalog jarak jauh. AWS Glue mendukung keduanya OAuth2 dan otentikasi Kustom.
URL Token — Tentukan URL penyedia identitas katalog jarak jauh.
OAuth2 ID Klien — Tentukan ID Klien dari OAuth2 kredensi yang terkait dengan katalog jarak jauh Anda.
Rahasia — Simpan dan gunakan rahasia OAuth2 klien menggunakan AWS Secrets Manager atau masukkan nilai rahasia di kotak teks. Saat Anda memasukkan rahasia secara manual di konsol, AWS Glue buat rahasia atas nama Anda.
Cakupan URL Token — Tentukan OAuth ruang lingkup untuk otentikasi.
Buat peran IAM yang dapat digunakan oleh kepala layanan Lake Formation untuk mengakses rahasia di AWS Glue dan lokasi Amazon S3 dari tabel jarak jauh masing-masing. Iceberg Pilih peran IAM di dropdown pendaftaran. Lihat langkah 2 dan 3 di bagian CLI berikut untuk detail kebijakan IAM.
Pilih Uji Koneksi untuk menguji apakah properti koneksi dan akses peran IAM dikonfigurasi dengan benar. Fungsionalitas koneksi uji tidak tersedia saat menghubungkan Databricks menggunakan Amazon VPC.
Pilih Berikutnya untuk meninjau pengaturan Anda.
Pilih Buat Katalog di halaman ulasan.
-
Buat AWS Secrets Manager rahasia
AWS Glue Konektor mendukung dua jenis otentikasi - OAuth2dan Custom. Saat menggunakan OAuth2 opsi, gunakan AWS Secrets Manager untuk menyimpan rahasia klien dari kepala Databricks layanan. Anda nantinya akan menggunakan rahasia ini saat membuat AWS Glue Koneksi. Untuk otentikasi kustom, gunakan AWS Secrets Manager untuk menyimpan dan mengambil token akses.
Dalam contoh berikut, ganti
,<databricks-secret>,<client_secret>dengan informasi Anda sendiri.<region>aws secretsmanager create-secret \ --name<databricks-secret>\ --description "Databricks secret" \ --secret-string '{ "USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET": "<client_secret>" }' \ --region<region>catatan
USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRETadalah kata kunci yang dicadangkan yang AWS Glue digunakan untuk merujuk ke nilai rahasia klien dalam rahasia. Gunakan kata kunci yang sama saat Anda membuat rahasia di konsol Lake Formation juga. -
Buat peran IAM yang memberikan akses objek AWS Glue koneksi ke rahasia yang dibuat pada langkah sebelumnya
Objek AWS Glue koneksi memerlukan akses ke AWS Secrets Manager rahasia saat Anda gunakan AWS Secrets Manager untuk menyimpan, mengambil, dan menyegarkan token OAuth rahasia Anda. Objek AWS Glue koneksi juga memerlukan akses untuk membuat, mendeskripsikan, dan menggunakan antarmuka jaringan Amazon VPC saat Anda menggunakan titik akhir VPC Amazon untuk membatasi konektivitas ke ruang kerja Anda. Databricks
Buat kebijakan IAM dan lampirkan ke peran IAM. Tambahkan prinsip AWS Glue layanan ke kebijakan kepercayaan.
Dalam contoh berikut, ganti
,<your-secrets-manager-ARN>, dan<your-vpc-id>dengan informasi Anda sendiri.<your-subnet-id1>contoh Kebijakan IAM
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:PutSecretValue" ], "Resource": [ "<your-secrets-manager-ARN>" ] }, { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeNetworkInterfaces" ], "Resource": "*", "Condition": { "ArnEquals": { "ec2:Vpc": "arn:aws:ec2:region:account-id:vpc/<your-vpc-id>", "ec2:Subnet": ["arn:aws:ec2:region:account-id:subnet/<your-subnet-id1>"] } } } ] }contoh Kebijakan Kepercayaan
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" }] } -
Buat kebijakan IAM yang memberikan akses baca Lake Formation ke lokasi Amazon S3 katalog
Sebagai pemilik katalog katalog federasi di Katalog Data, Anda menggunakan Lake Formation untuk memberikan akses tabel berbutir kasar, akses berbutir halus - tingkat kolom, tingkat baris, dan tingkat sel - akses, dan akses berbasis tag ke tim data Anda. Lake Formation menggunakan peran IAM yang memberikan akses ke lokasi Amazon S3 yang mendasari tabel Iceberg jarak jauh Anda. Akses ini memungkinkan Lake Formation untuk menjual kredenal akses cakupan ke mesin analitik yang menanyakan tabel jarak jauh.
Buat kebijakan IAM dan lampirkan ke peran IAM. Tambahkan kepala layanan Lake Formation ke kebijakan kepercayaan peran IAM.
Dalam contoh berikut, ganti
dan<your-s3-bucket-N>dengan informasi Anda sendiri.<your-kms-key>contoh Kebijakan IAM
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::<your-s3-bucket-1>/*", "arn:aws:s3:::<your-s3-bucket-2>/*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::<your-s3-bucket-1>", "arn:aws:s3:::<your-s3-bucket-2>" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt" ], "Resource": [ "<your-kms-key>" ] } ] }contoh Kebijakan Kepercayaan
{ "Version": "2012-10-17", "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": { "Service": "lakeformation.amazonaws.com" }, "Action": "sts:AssumeRole" }] }catatan
Saat Anda menggunakan konsol Lake Formation untuk membuat katalog federasi, konsol menggunakan peran IAM tunggal dengan kedua kebijakan yang dilampirkan untuk menyelesaikan penyiapan.
-
Buat objek AWS Glue koneksi
Data Catalog mendukung ConnectionType
DATABRICKSICEBERGRESTCATALOG: untuk menghubungkan Data Catalog ke. Databricks AWS Glue Konektor ini mendukung OAuth2 dan metode otentikasi kustom.Contoh berikut menggunakan konfigurasi OAuth2 otentikasi untuk membuat AWS Glue koneksi. Ganti
dengan informasi Anda.highlighed sectionsaws glue create-connection \ --connection-input '{ "Name": "<your-glue-connection-to-databricks-unity-account>", "ConnectionType": "DATABRICKSICEBERGRESTCATALOG", "ConnectionProperties": { "INSTANCE_URL": "<your-databricks-workspace-catalog-URL>", "ROLE_ARN": "<your-IAM-role-for-secrets-and-VPC-access>" }, "AuthenticationConfiguration": { "AuthenticationType": "OAUTH2", "OAuth2Properties": { "OAuth2GrantType": "CLIENT_CREDENTIALS", "TokenUrl": "<your-internal-or-external-token-server-url>", "OAuth2ClientApplication": { "UserManagedClientApplicationClientId": "<your-client-id>" }, "TokenUrlParametersMap": { "scope": "all-apis" } }, "SecretArn": "arn:aws:secretsmanager:<aws-region>:<your-aws-account-id>:secret:<databricks-secret>" } }' -
Daftarkan AWS Glue koneksi sebagai sumber daya Lake Formation
Menggunakan objek AWS Glue koneksi (dibuat di Langkah 4) dan peran IAM (dibuat pada Langkah 3), Anda sekarang dapat mendaftarkan objek AWS Glue koneksi sebagai sumber daya yang dikelola Lake Formation.
Ganti
dan<your-glue-connector-arn>dengan informasi Anda.<your-IAM-role-ARN-having-LF-access>aws lakeformation register-resource \ --resource-arn<your-glue-connector-arn>\ --role-arn<your-IAM-role-ARN-having-LF-access>\ --with-federation \ --with-privileged-access -
Buat katalog federasi di Katalog Data
Setelah membuat objek AWS Glue koneksi dan mendaftarkannya dengan Lake Formation, Anda dapat membuat katalog federasi di Katalog Data:
Berikan katalog federasi nama unik di
, referensi katalog Databricks di at<your-federated-catalog-name>, dan masukkan nama koneksi yang dibuat sebelumnya di"<catalog-name-in-Databricks>."<your-glue-connection-name>aws glue create-catalog \ --name<your-federated-catalog-name>\ --catalog-input '{ "FederatedCatalog": { "Identifier":"<catalog-name-in-Databricks>", "ConnectionName":"<your-glue-connection-name>" }, "CreateTableDefaultPermissions": [], "CreateDatabaseDefaultPermissions": [] }'
Pertimbangan saat berintegrasi dengan Databricks
-
Saat Anda menghapus sumber daya (seperti database dan tabel) diDatabricks, Lake Formation tidak secara otomatis mencabut izin yang diberikan pada sumber daya federasi tersebut. Untuk menghapus izin akses, Anda harus secara eksplisit mencabut izin yang sebelumnya diberikan pada sumber daya federasi menggunakan Lake Formation.
-
Anda dapat menanyakan tabel Iceberg yang disimpan di Amazon S3 menggunakan integrasi ini. Saat menggunakan format tabel atau penyimpanan objek lainnya, Anda dapat menggabungkan metadata dalam katalog jarak jauh ke AWS Glue dan mencantumkan database dan tabelnya tetapi operasi kueri seperti
SELECT ColumnFoo from TableBarakan gagal selama kueri dengan kesalahan 'Gagal membaca tabel. Apache Iceberg Lokasi penyimpanan objek tidak didukung. ' -
Anda dapat menggunakan kembali AWS Glue koneksi yang sama untuk membuat beberapa katalog federasi. Menghapus katalog tidak akan menghapus objek koneksi terkait. Untuk menghapus objek koneksi, gunakan
aws glue delete-connectionperintah AWS CLI dan pastikan semua katalog terkait dihapus terlebih dahulu.