Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
OAuth 2.0 Taşıyıcı belirteç kimlik doğrulamasını kullanarak HTTP API'sini (örneğin FastAPI veya Gradio uygulaması) kullanıma sunan bir Databricks uygulamasını çağırabilirsiniz. Bu yöntem yerel geliştirme ortamınızdan, dış uygulamalardan ve diğer Azure Databricks uygulamalarından çalışır.
Uyarı
Bu yöntem yalnızca API'leri veya uç noktaları kullanıma sunan uygulamalar için geçerlidir (yollar kullanılarak /api/ erişilebilir). Yalnızca kullanıcı arabirimi veya arka plan işleme sağlayan uygulamalar için belirteç kimlik doğrulaması kullanarak bağlanamazsınız.
Gereksinimler
Belirteç kimlik doğrulaması kullanarak bir Databricks uygulamasına bağlanmak için aşağıdaki gereksinimleri karşılamanız gerekir:
- Uygulama, yollar kullanılarak
/api/erişilebilen en az bir API uç noktasını kullanıma sunmalıdır. - Uygulamada
CAN USEyetkisine sahip olmalısınız. Bkz . Databricks uygulaması için izinleri yapılandırma. - Desteklenen kimlik doğrulama yöntemlerinden birini kullanarak Azure Databricks erişim belirteci oluşturabilmeniz gerekir.
Kimlik doğrulama yöntemleri
Uyarı
Azure Entra Id belirtecini kullanarak bir Databricks uygulamasını doğrudan çağıramazsınız. Belirteç federasyonu, Azure Databricks'in sunucu tarafında gerçekleştirmediği bir müşteri taraflı belirteç değişim adımı gerektirir. Kimlik doğrulaması için Azure Entra Id belirteçlerini kullanmak için önce bunları OAuth belirteçleriyle değiştirmeniz gerekir. Bkz. Kimlik sağlayıcısı belirteci ile kimlik doğrulaması.
Bağlantı senaryonuzla eşleşen kimlik doğrulama yöntemini seçin:
Yerel geliştirme
Yerel geliştirme ortamınızdan bağlanmak için kullanıcı kimlik bilgilerinizle Databricks CLI veya SDK'ları kullanın.
CLI ile oturum açın:
databricks auth login --host https://<workspace-url> --profile my-envAzure Databricks , OAuth kullanıcıdan makineye (U2M) kimlik doğrulamasının kullanılmasını önerir.
Erişim belirteci oluşturma:
CLI
databricks auth token --profile my-envPiton
from databricks.sdk.core import Config config = Config(profile="my-env") token = config.oauth_token().access_token
Dış uygulamalar
Dış uygulamalardan programlı erişim için makineden makineye (M2M) kimlik bilgileriyle hizmet sorumlusu kimlik doğrulamasını kullanın. Bkz. OAuth ile Azure Databricks'e hizmet sorumlusu erişimini yetkilendirme.
Bir hizmet yetkilisi oluşturun ve istemci kimliğini ve gizli anahtarı elde edin. Bkz. Hizmet sorumluları.
Databricks SDK'sını kullanarak erişim belirteci oluşturma:
from databricks.sdk import WorkspaceClient import requests # Option 1: Explicit credentials wc = WorkspaceClient( host="https://<workspace-url>", client_id="<service-principal-client-id>", client_secret="<service-principal-client-secret>" ) # Option 2: Environment variables # Set DATABRICKS_HOST, DATABRICKS_CLIENT_ID, DATABRICKS_CLIENT_SECRET wc = WorkspaceClient() # Generate Bearer token headers = wc.config.authenticate()
Diğer Databricks uygulamalarından
Bir Databricks uygulamasından diğerine bağlandığınızda uygulama, atanan hizmet sorumlusunu kullanarak kimlik doğrulamasını otomatik olarak işler.
from databricks.sdk import WorkspaceClient
import requests
# No explicit credentials needed, uses app's service principal
wc = WorkspaceClient()
headers = wc.config.authenticate()
Kullanıcı yetkilendirmesi için OAuth kapsamları belirtme
Önceki bölümde gösterildiği gibi Databricks CLI veya SDK'ları birleşik kimlik doğrulamasıyla kullandığınızda, araçlar otomatik olarak temel all-apis kapsamı ister. Ancak, uygulamanız kullanıcı yetkilendirmesi kullanıyorsa, özel bir OAuth akışı kullanarak ek kapsamlara sahip bir erişim belirtecini el ile istemeniz gerekir.
Erişim belirtecinizinKullanıcı yetkilendirmesini> bölümünde yapılandırılan kapsamları içerdiğinden emin olun. Belirteç gerekli kapsamlara sahip değilse istekler 401 veya 403 hatalarıyla başarısız olabilir.
Örneğin, aşağıdaki istek açıkça sql, file.files ve dashboards.genie kapsamlarıyla bir erişim belirteci istemektedir:
curl --request POST \
https://<databricks-instance>/oidc/v1/token \
--data "client_id=databricks-cli" \
--data "grant_type=authorization_code" \
--data "redirect_uri=<redirect-url>" \
--data "code_verifier=<code-verifier>" \
--data "code=<authorization-code>" \
--data "scope=sql+file.files+dashboards.genie"
Tam yönergeler için bkz. OAuth U2M erişim belirteçlerini el ile oluşturma.
Uygulamaya istek gönderme
Uygulamanızın API uç noktalarını çağırdığınızda, Yetkilendirme üst bilgisine Bearer belirtecini ekleyin ve <your-endpoint> etiketini uygulamanızın gerçek API yolu ile değiştirin:
CURL
curl "https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>" \
-H "Authorization: Bearer <YOUR_TOKEN>"
İstekleri olan Python
import requests
response = requests.get(
"https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>",
headers={"Authorization": f"Bearer {token}"}
)
SDK ile Python
from databricks.sdk import WorkspaceClient
import requests
wc = WorkspaceClient()
headers = wc.config.authenticate()
response = requests.get(
"https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>",
headers=headers
)
Güvenlikle ilgili dikkat edilmesi gerekenler
Yerel ortamınızdan uygulamalara bağlanırken şu en iyi güvenlik uygulamalarını izleyin:
- Kaynak kodunuzda erişim belirteçlerini asla sabit kodlamayın. Ortam değişkenlerini veya güvenli kimlik bilgisi depolarını kullanın.
- Risk altında olmaları durumunda güvenlik risklerini en aza indirmek için belirteçleri düzenli olarak yenileyin.
- Uygulama günlüklerinizde erişim belirteçlerini veya hassas verileri günlüğe kaydetmekten kaçının.
Sorun giderme
Yerel bir makineden uygulamanıza bağlanırken sorunlarla karşılaşırsanız bu çözümleri deneyin.
Kimlik doğrulama hataları (401 hataları)
Aşağıdakileri doğrulayın:
- Belirteciniz geçerli (çalıştır
databricks auth token --profile my-env) - Profiliniz
databricks auth loginile doğru yapılandırıldı. - Belirtecin süresi dolmadı
- Jetonunuz gerekli OAuth kapsamlarını içerir. CLI ve SDK araçları yalnızca gibi
all-apistemel kapsamlar sağlar ve bu kapsamlar kullanıcı yetkilendirmesi için yeterli olmayabilir.
İzin reddedildi (403 hataları)
Aşağıdakileri doğrulayın:
- Uygulamada izniniz var
CAN USE - Jetonunuz gerekli OAuth kapsamlarını içerir. Yetersiz kapsamlar, geçerli izinlerle bile 403 hatasına neden olabilir.
Uygulama bulunamadı (404 hataları)
Aşağıdakileri doğrulayın:
- Kimlik ve çalışma alanı URL'si doğru
- Uygulama dağıtıldı ve çalışıyor
- Uç nokta yolu uygulamada var
Ağ bağlantısı sorunları
Aşağıdakileri doğrulayın:
- Ağınız giden HTTPS bağlantılarına izin verir
-
*.databricksapps.comalan adı ağınızdan erişilebilir
Ayrıca, kuruluşunuzun yapılandırma gerektiren bir ara sunucu kullanıp kullanmadığını denetleyin.
Ek kaynaklar
Daha fazla bilgi için aşağıdaki kaynaklara bakın:
- Yemek kitabı: Yerel makineden bağlanma
- Kılavuz: Dış uygulamalardan bağlanma
- Yemek kitabı: Diğer uygulamalardan bağlanma
- Databricks uygulaması için izinleri yapılandırma
- Databricks Apps çalışma alanınızı ve geliştirme ortamınızı ayarlama
- Databricks CLI için kimlik doğrulaması
- Databricks birleşik kimlik doğrulaması