Aracılığıyla paylaş


Yapay zeka aracıları için kimlik doğrulaması

Yapay zeka aracılarının görevleri tamamlamak için genellikle diğer kaynaklarda kimlik doğrulaması gerçekleştirmesi gerekir. Örneğin, dağıtılan bir aracı yapılandırılmamış verileri sorgulamak için Vektör Arama dizinine veya dinamik istemleri yüklemek için Kayıt Defteri'ne erişmesi gerekebilir.

Bu sayfa, Mozaik AI Aracısı Çerçevesi kullanarak aracı geliştirirken ve dağıtırken kullanılabilen kimlik doğrulama yöntemlerini kapsar.

Kimlik doğrulama yöntemleri

Aşağıdaki tablo, kullanılabilir kimlik doğrulama yöntemlerini karşılaştırır. Bu yaklaşımlardan herhangi birini karıştırabilir ve eşleştirebilirsiniz:

Yöntem Description Güvenlik duruşu Kurulum karmaşıklığı
Otomatik kimlik doğrulama geçişi Ajans, ajansı dağıtan kullanıcının izinleriyle çalışır
Databricks, bildirilen kaynaklar için kısa süreli kimlik bilgilerini otomatik olarak yönetir
Kısa ömürlü kimlik bilgileri, otomatik döndürme Düşük - log tutma sırasında bağımlılıkları bildirme
Kullanıcı adına kimlik doğrulaması (OBO) Aracı, isteği yapan son kullanıcının izinleriyle çalışır Sınırlı kapsamlarla son kullanıcının kimlik bilgilerini kullanır Orta - kapsam bildirimini ve çalışma zamanını başlatmayı gerektirir
El ile kimlik doğrulaması Ortam değişkenlerini kullanarak kimlik bilgilerini açıkça sağlayın Uzun süreli kimlik bilgileri yenileme yönetimine ihtiyaç duyar. Yüksek - el ile kimlik bilgisi yönetimi gerektirir

Dış sistemlerde ve MCP sunucularında kimlik doğrulaması

Aracınızdan dış API'lerde ve MCP sunucularında kimlik doğrulaması yapmak için bkz. Yapay zeka aracısı araçlarını dış hizmetlere bağlama. Bu kaynaklar, Kimlik doğrulama yöntemleri bölümünde açıklandığı gibi aracı veya kullanıcı adına da sorgulanabilir.

Kaynağınız için doğru kimlik doğrulama yöntemini seçin

Her kaynak için doğru kimlik doğrulama yöntemini seçmek için bu akış çizelgesini kullanın. Gerektiğinde yöntemleri birleştirebilirsiniz ve bir aracı, kullanım örneğine bağlı olarak her kaynak için farklı bir yöntem kullanabilir.

  1. Kullanıcı başına erişim denetimi veya kullanıcı öznitelikli denetim gerekli mi?

  2. Tüm kaynaklar otomatik kimlik doğrulamayı destekliyor mu?

Otomatik kimlik doğrulama geçişi

Otomatik kimlik doğrulama geçişi, Databricks tarafından yönetilen kaynaklara erişmek için en basit yöntemdir. Aracı günlüğe kaydederken kaynak bağımlılıklarını belirtin; Databricks, aracı dağıtıldığında kısa ömürlü kimlik bilgilerini otomatik olarak düzenler, yeniler ve yönetir.

Bu kimlik doğrulama davranışı, Databricks gösterge panoları için "Run as owner" davranışına benzer bir şekilde çalışır. Unity Kataloğu tabloları gibi aşağı akış kaynaklarına yalnızca aracının ihtiyaç duyduğu kaynaklara en az ayrıcalıklı erişime sahip bir hizmet sorumlusunun kimlik bilgileri kullanılarak erişilir.

Otomatik kimlik doğrulama geçişi nasıl çalışır?

Otomatik kimlik doğrulama geçişi kullanılarak bir aracı bir uç noktanın arkasında sunulduğunda Databricks aşağıdaki adımları gerçekleştirir:

  1. Yetki doğrulaması: Databricks, uç nokta yapıcısının ajan günlüğü sırasında belirtilen tüm bağımlılıklara erişebildiğini doğrular.

  2. Hizmet sorumlusu oluşturma ve verme: Aracı modeli sürümü için bir hizmet sorumlusu oluşturulur ve aracı kaynaklarına otomatik olarak okuma erişimi verilir.

    Uyarı

    Sistem tarafından oluşturulan hizmet sorumlusu API veya kullanıcı arabirimi listelerinde görünmez. Aracı model sürümü uç noktadan kaldırılırsa, hizmet ilkesi de silinir.

  3. Kimlik bilgisi sağlama ve döndürme: Hizmet sorumlusu için kısa süreli kimlik bilgileri ( M2M OAuth belirteci) uç noktaya eklenir ve aracı kodunun Databricks kaynaklarına erişmesine olanak sağlar. Databricks ayrıca yetkilendirme bilgilerini belirli aralıklarla güncelleyerek aracınızın bağımlı kaynaklara güvenli erişimini sürdürmesini sağlar.

Otomatik kimlik doğrulaması geçişi için desteklenen kaynaklar

Aşağıdaki tabloda, otomatik kimlik doğrulama geçişini destekleyen Databricks kaynakları ve aracı dağıtılırken uç nokta oluşturucusunun sahip olması gereken izinler listelenir.

Uyarı

Unity Kataloğu kaynakları ayrıca üst şemada USE SCHEMA ve üst katalogda USE CATALOG gerektirir.

Kaynak türü İzin En düşük MLflow sürümü
SQL Ambarı Use Endpoint 2.16.1 veya üzeri
Model Sunum uçnoktası Can Query 2.13.1 veya üzeri
Unity Catalog Fonksiyonu EXECUTE 2.16.1 veya üzeri
Genie Uzayı Can Run 2.17.1 veya üzeri
Vektör Arama dizini Can Use 2.13.1 veya üzeri
Unity Catalog Tablosu SELECT 2.18.0 veya üzeri
Unity Kataloğu Bağlantısı Use Connection 2.17.1 veya üzeri
Lakebase databricks_superuser 3.3.2 veya üzeri

Otomatik kimlik doğrulama aktarımını uygulama

Otomatik kimlik doğrulama geçişini etkinleştirmek için aracıyı günlüğe kaydederken bağımlı kaynakları belirtin. resources API'sinin log_model() parametresini kullanın.

Uyarı

Bağımlı tüm alt akış kaynaklarını da günlüğe kaydetmeyi unutmayın. Örneğin bir Genie Space'i günlüğe kaydederseniz tablolarını, SQL Ambarlarını ve Unity Kataloğu işlevlerini de günlüğe kaydetmeniz gerekir.

import mlflow
from mlflow.models.resources import (
  DatabricksVectorSearchIndex,
  DatabricksServingEndpoint,
  DatabricksSQLWarehouse,
  DatabricksFunction,
  DatabricksGenieSpace,
  DatabricksTable,
  DatabricksUCConnection,
  DatabricksApp,
  DatabricksLakebase
)

with mlflow.start_run():
  logged_agent_info = mlflow.pyfunc.log_model(
    python_model="agent.py",
    artifact_path="agent",
    input_example=input_example,
    example_no_conversion=True,
    # Specify resources for automatic authentication passthrough
    resources=[
      DatabricksVectorSearchIndex(index_name="prod.agents.databricks_docs_index"),
      DatabricksServingEndpoint(endpoint_name="databricks-meta-llama-3-3-70b-instruct"),
      DatabricksServingEndpoint(endpoint_name="databricks-bge-large-en"),
      DatabricksSQLWarehouse(warehouse_id="your_warehouse_id"),
      DatabricksFunction(function_name="ml.tools.python_exec"),
      DatabricksGenieSpace(genie_space_id="your_genie_space_id"),
      DatabricksTable(table_name="your_table_name"),
      DatabricksUCConnection(connection_name="your_connection_name"),
      DatabricksApp(app_name="app_name"),
      DatabricksLakebase(database_instance_name="lakebase_instance_name"),
    ]
  )

Kullanıcı adına kimlik doğrulaması

Önemli

Bu özellik Genel Önizleme aşamasındadır.

Kullanıcı adına (OBO) kimlik doğrulaması, bir aracının sorguyu çalıştıran Databricks kullanıcısı olarak davranmasına olanak tanır. Bu, şu bilgileri sağlar:

  • Hassas verilere kullanıcı başına erişim
  • Unity Kataloğu tarafından zorlanan ayrıntılı veri denetimleri
  • Güvenlik belirteçleri yalnızca aracınızın bildirmiş olduğu API'lerle kısıtlanır ("kapsam kapsamına alınır") ve kötüye kullanım riskini azaltır

Gereksinimler

  • Kullanıcı adına kimlik doğrulaması için MLflow 2.22.1 ve üzeri gerekir.
  • Kullanıcı adına kimlik doğrulaması varsayılan olarak devre dışıdır ve çalışma alanı yöneticisi tarafından etkinleştirilmesi gerekir. Bu özelliği etkinleştirmeden önce güvenlikle ilgili dikkat edilmesi gereken noktaları gözden geçirin.

OBO tarafından desteklenen kaynaklar

OBO kimlik doğrulamasına sahip aracılar aşağıdaki Databricks kaynaklarına erişebilir:

Databricks kaynağı Uyumlu istemciler
Vektör Arama Dizini databricks_langchain.VectorSearchRetrieverTool, databricks_openai.VectorSearchRetrieverTool, VectorSearchClient
Model Sunum Uç Noktası databricks.sdk.WorkspaceClient
SQL Ambarı databricks.sdk.WorkspaceClient
UC Bağlantıları databricks.sdk.WorkspaceClient
UC Tabloları ve İşlevleri databricks.sdk.WorkspaceClient (UC tablolarına erişmek için SQL Deyimi Yürütme API'sini kullanarak SQL sorguları kullanmanız gerekir)
Genie Space databricks.sdk.WorkspaceClient (önerilen), databricks_langchain.GenieAgentveya databricks_ai_bridge.GenieAgent
Model Bağlam Protokolü (MCP) databricks_mcp.DatabricksMCPClient

OBO kimlik doğrulamayı uygulama

Kullanıcı adına kimlik doğrulamasını etkinleştirmek için aşağıdaki adımları tamamlayın:

  1. Kaynaklara son kullanıcı adına erişildiğini belirtmek için SDK çağrılarını güncelleştirin.
  2. Kullanıcı kimliği yalnızca çalışma zamanında bilindiğinden, içinde değil işlevin predictiçinde __init__ OBO erişimini başlatmak için aracı kodunu güncelleştirin.
  3. Aracıyı dağıtım için günlüğe kaydedirken, aracının gerektirdiği Databricks REST API kapsamlarını bildirin.

Aşağıdaki kod parçacıklarında farklı Databricks kaynaklarına kullanıcı adına erişimin nasıl yapılandırılacağı gösterilmektedir. Araçları başlatırken, başlatma işlemini bir try-except blok içinde sararak izin hatalarını düzgün bir şekilde yönetin.

Vektör Arama Arayıcı Aracı

from databricks.sdk import WorkspaceClient
from databricks_ai_bridge import ModelServingUserCredentials
from databricks_langchain import VectorSearchRetrieverTool

# Configure a Databricks SDK WorkspaceClient to use on behalf of end
# user authentication
user_client = WorkspaceClient(credentials_strategy = ModelServingUserCredentials())

vector_search_tools = []
# Exclude exception handling if the agent should fail
# when users lack access to all required Databricks resources
try:
  tool = VectorSearchRetrieverTool(
    index_name="<index_name>",
    description="...",
    tool_name="...",
    workspace_client=user_client # Specify the user authorized client
    )
    vector_search_tools.append(tool)
except Exception as e:
    _logger.debug("Skipping adding tool as user does not have permissions")

Vektör Arama İstemcisi

from databricks.vector_search.client import VectorSearchClient
from databricks.vector_search.utils import CredentialStrategy

# Configure a VectorSearch Client to use on behalf of end
# user authentication
user_authenticated_vsc = VectorSearchClient(credential_strategy=CredentialStrategy.MODEL_SERVING_USER_CREDENTIALS)
# Exclude exception handling if the agent should fail when
# users lack access to all required Databricks resources
try:
  vs_index = user_authenticated_vsc.get_index(endpoint_name="endpoint_name", index_name="index_name")
  ...
except Exception as e:
  _logger.debug("Skipping Vector Index because user does not have permissions")

MCP

from databricks.sdk import WorkspaceClient
from databricks_ai_bridge import ModelServingUserCredentials
from databricks_mcp import DatabricksMCPClient

# Configure a Databricks SDK WorkspaceClient to use on behalf of end
# user authentication
user_client = WorkspaceClient(credentials_strategy=ModelServingUserCredentials())

mcp_client = DatabricksMCPClient(
    server_url="<mcp_server_url>",
    workspace_client=user_client, # Specify the user client here
  )

Model Sunum Uç Noktası

from databricks.sdk import WorkspaceClient
from databricks_ai_bridge import ModelServingUserCredentials

# Configure a Databricks SDK WorkspaceClient to use on behalf of end
# user authentication
user_client = WorkspaceClient(credentials_strategy=ModelServingUserCredentials())

# Exclude exception handling if the agent should fail
# when users lack access to all required Databricks resources
try:
  user_client.serving_endpoints.query("endpoint_name", input="")
except Exception as e:
  _logger.debug("Skipping Model Serving Endpoint due to no permissions")

UC Bağlantıları

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.serving import ExternalFunctionRequestHttpMethod
from databricks_ai_bridge import ModelServingUserCredentials

# Configure a Databricks SDK WorkspaceClient to use on behalf of end
# user authentication
user_client = WorkspaceClient(credentials_strategy=ModelServingUserCredentials())

user_client.serving_endpoints.http_request(
  conn="connection_name",
  method=ExternalFunctionRequestHttpMethod.POST,
  path="/api/v1/resource",
  json={"key": "value"},
  headers={"extra_header_key": "extra_header_value"},
)

Genie Spaces (WorkspaceClient)

from databricks_langchain.genie import GenieAgent
from databricks.sdk import WorkspaceClient
from databricks_ai_bridge import ModelServingUserCredentials


# Configure a Databricks SDK WorkspaceClient to use on behalf of end
# user authentication
user_client = WorkspaceClient(credentials_strategy=ModelServingUserCredentials())


genie_agent = GenieAgent(
    genie_space_id="space-id",
    genie_agent_name="Genie",
    description="This Genie space has access to sales data in Europe"
    client=user_client
)

# Use the Genie SDK methods available through WorkspaceClient
try:
    response = agent.invoke("Your query here")
except Exception as e:
    _logger.debug("Skipping Genie due to no permissions")

Genie Spaces (LangChain)

from databricks.sdk import WorkspaceClient
from databricks_ai_bridge import ModelServingUserCredentials
from databricks_langchain.genie import GenieAgent

# Configure a Databricks SDK WorkspaceClient to use on behalf of end
# user authentication
user_client = WorkspaceClient(credentials_strategy=ModelServingUserCredentials())

genie_agent = GenieAgent(
    genie_space_id="<genie_space_id>",
    genie_agent_name="Genie",
    description="Genie_description",
    client=user_client, # Specify the user client here
  )

Aracıyı predict işlevinde başlatma

Kullanıcının kimliği yalnızca sorgu zamanında bilindiğinden, aracının predict yönteminde değil veya predict_streamiçinde __init__ OBO kaynaklarına erişmeniz gerekir. Bu, kaynakların çağrılar arasında yalıtılmasını sağlar.

from mlflow.pyfunc import ResponsesAgent

class OBOResponsesAgent(ResponsesAgent):
  def initialize_agent():
    user_client = WorkspaceClient(
      credentials_strategy=ModelServingUserCredentials()
    )
    system_authorized_client = WorkspaceClient()
    ### Use the clients above to access resources with either system or user authentication

  def predict(
    self, request
  ) -> ResponsesAgentResponse:
    agent = initialize_agent() # Initialize the Agent in Predict

    agent.predict(request)
    ...

Aracın günlük kaydını yaparken REST API kapsamlarını tanımlayın

OBO aracınızı dağıtım için kaydettiğinizde, aracınızın kullanıcı adına çağıracağı Databricks REST API kapsamlarını listelemeniz gerekir. Bu, aracının en az ayrıcalık ilkesine uygun olmasını sağlar: Belirteçler yalnızca aracınızın gerektirdiği API'lerle sınırlandırılır ve yetkisiz eylemler veya belirtecin kötüye kullanımı olasılığını azaltır.

Aşağıda, çeşitli yaygın Databricks kaynaklarına erişmek için gereken kapsamların listesi yer almaktadır:

Kaynak türü Gerekli API kapsamı
Model Sunma uç noktaları serving.serving-endpoints
Vektör Arama uç noktaları vectorsearch.vector-search-endpoints
Vektör Arama dizinleri vectorsearch.vector-search-indexes
SQL ambarları sql.warehouses, sql.statement-execution
Genie alanları dashboards.genie
UC bağlantıları catalog.connections ve serving.serving-endpoints
Databricks Uygulamaları apps.apps
MCP Genie alanları mcp.genie
MCP UC işlevleri mcp.functions
MCP Vektör Arama mcp.vectorsearch
MCP DBSQL mcp.sql, sql.warehouses, sql.statement-execution
MCP dış işlevleri mcp.external

Kullanıcı adına kimlik doğrulamasını etkinleştirmek için bir MLflow AuthPolicylog_model() öğesine geçirin.

import mlflow
from mlflow.models.auth_policy import AuthPolicy, SystemAuthPolicy, UserAuthPolicy
from mlflow.models.resources import DatabricksServingEndpoint

# System policy: resources accessed with system credentials
system_policy = SystemAuthPolicy(
    resources=[DatabricksServingEndpoint(endpoint_name="my_endpoint")]
)

# User policy: API scopes for OBO access
user_policy = UserAuthPolicy(api_scopes=[
    "serving.serving-endpoints",
    "vectorsearch.vector-search-endpoints",
    "vectorsearch.vector-search-indexes"
])

# Log the agent with both policies
with mlflow.start_run():
    mlflow.pyfunc.log_model(
        name="agent",
        python_model="agent.py",
        auth_policy=AuthPolicy(
            system_auth_policy=system_policy,
            user_auth_policy=user_policy
        )
    )

OpenAI istemcileri için OBO kimlik doğrulaması

OpenAI istemcisini kullanan aracılar için Databricks SDK'sını kullanarak dağıtım sırasında otomatik olarak kimlik doğrulaması yapın. Databricks SDK'sı, kimlik doğrulamasının otomatik olarak yapılandırıldığı get_open_ai_client()OpenAI istemcisini oluşturmak için bir sarmalayıcıya sahiptir:

% pip install databricks-sdk[openai]
from databricks.sdk import WorkspaceClient
def openai_client(self):
  w = WorkspaceClient()
  return w.serving_endpoints.get_open_ai_client()

Ardından, dağıtım zamanında otomatik olarak kimlik doğrulaması yapmak için resources parçası olarak Model Sunma uç noktasını belirtin.

OBO güvenlik konuları

Aracılarla kullanıcı adına kimlik doğrulamasını etkinleştirmeden önce aşağıdaki güvenlik konularını göz önünde bulundurun.

Genişletilmiş kaynak erişimi: Aracılar, kullanıcılar adına hassas kaynaklara erişebilir. Kapsamlar API'leri kısıtlasa da uç noktalar aracınızın açıkça istediğinden daha fazla eyleme izin verebilir. Örneğin API kapsamı, serving.serving-endpoints kullanıcı adına bir sunum uç noktasını çalıştırmak için bir aracı izni verir. Ancak, sunum uç noktası özgün aracının kullanma yetkisi olmayan ek API kapsamlarına erişebilir.

OBO örnek not defterleri

Aşağıdaki not defterinde, kullanıcı adına yetkilendirme ile Vektör Arama kullanarak bir aracı nasıl oluşturacağınız gösterilmektedir.

Dizüstü bilgisayar al

Aşağıdaki not defterinde, kullanıcı adına yetkilendirme kullanarak SQL Ambarı'nda SQL yürütmeyi destekleyen bir aracı oluşturma işlemi gösterilmektedir. Bu, aracının kullanıcı kimlik bilgilerini kullanarak Unity Kataloğu işlevlerini güvenli bir şekilde çağırmasını sağlar. Not: OBO ile Sunucusuz Spark Yürütme henüz desteklenmediği için, OBO ile UC İşlevlerini çalıştırmanın önerilen yolu şu anda budur.

SQL Yürütme ile Kullanıcı Yetkilendirmesi Adına

Dizüstü bilgisayar al

El ile kimlik doğrulaması

El ile kimlik doğrulaması, aracı dağıtımı sırasında kimlik bilgilerinin açıkça belirtilmesine olanak tanır. Bu yöntem en fazla esnekliğe sahiptir ancak daha fazla kurulum ve devam eden kimlik bilgileri yönetimi gerektirir. Şu durumlarda bu yöntemi kullanın:

  • Bağımlı kaynak otomatik kimlik doğrulama geçişini desteklemiyor
  • Ajanın, ajan dağıtıcısının kimlik bilgileri dışında başka kimlik bilgilerini kullanması gerekir.
  • Aracı, Databricks dışındaki dış kaynaklara veya API'lere erişir
  • Dağıtılan aracı komut istemi kayıt defterine erişir

Önemli

Güvenlik ortamı değişkenlerini geçersiz kılmak, aracınızın bağımlı olduğu diğer kaynaklar için otomatik geçiş işlevini devre dışı bırakır.

Otomatik belirteç yenileme özelliklerine sahip hizmet sorumluları için güvenli, belirteç tabanlı kimlik doğrulamasına sahip olduğundan OAuth, el ile kimlik doğrulaması için önerilen yaklaşımdır:

  1. Bir hizmet sorumlusu oluşturun ve OAuth kimlik bilgileri oluşturun.

  2. Hizmet sorumlusuna, aracının Databricks kaynaklarına erişim ayrıcalıklarına sahip olduğu herhangi bir Databricks kaynağına izin verin. İstem kayıt defterine erişmek için, istemleri depolamak amacıyla Unity Katalogu şemasında CREATE FUNCTION, EXECUTE ve MANAGE izinlerini verin.

  3. OAuth kimlik bilgileri için databricks gizli dizileri oluşturun.

  4. Aracı kodunda OAuth kimlik bilgilerini yapılandırın:

    import os
    
    # Configure OAuth authentication for Prompt Registry access
    # Replace with actual secret scope and key names
    secret_scope_name = "your-secret-scope"
    client_id_key = "oauth-client-id"
    client_secret_key = "oauth-client-secret"
    
    os.environ["DATABRICKS_HOST"] = "https://<your-workspace-url>"
    os.environ["DATABRICKS_CLIENT_ID"] = dbutils.secrets.get(scope=secret_scope_name, key=client_id_key)
    os.environ["DATABRICKS_CLIENT_SECRET"] = dbutils.secrets.get(scope=secret_scope_name, key=client_secret_key)
    
  5. Çalışma alanına bağlanmak için gizli bilgileri kullanın.

    w = WorkspaceClient(
      host=os.environ["DATABRICKS_HOST"],
      client_id=os.environ["DATABRICKS_CLIENT_ID"],
      client_secret = os.environ["DATABRICKS_CLIENT_SECRET"]
    )
    
  6. ile agents.deploy()dağıtım yaparken ortam değişkenleri olarak OAuth kimlik bilgilerini ekleyin:

    agents.deploy(
        UC_MODEL_NAME,
        uc_registered_model_info.version,
        environment_vars={
            "DATABRICKS_HOST": "https://<your-workspace-url>",
            "DATABRICKS_CLIENT_ID": f"{{{{secrets/{secret_scope_name}/{client_id_key}}}}}",
            "DATABRICKS_CLIENT_SECRET": f"{{{{secrets/{secret_scope_name}/{client_secret_key}}}}}"
        },
    )
    

PAT kimlik doğrulaması

Kişisel Erişim Belirteci (PAT) kimlik doğrulaması geliştirme ve test ortamları için daha basit bir kurulum sağlar, ancak daha fazla el ile kimlik bilgisi yönetimi gerektirir:

  1. Hizmet sorumlusu veya kişisel hesap kullanarak PAT alın:

    Hizmet sorumlusu (güvenlik için önerilir):

    1. hizmet sorumlusu oluşturma.
    2. Hizmet sorumlusuna, aracının Databricks kaynaklarına erişim ayrıcalıklarına sahip olduğu herhangi bir Databricks kaynağına izin verin. İstem kayıt defterine erişmek için, istemleri depolamak için kullanılan Unity Kataloğu şemasında, CREATE FUNCTION, EXECUTE ve MANAGE izinlerini verin.
    3. Hizmet sorumlusu için bir PAT oluşturun.

    Kişisel hesap:

    1. Kişisel bir hesap için PAT oluşturun.
  2. PAT için bir Databricks gizli dizisi oluşturarak PAT'yi güvenli bir şekilde depolayın.

  3. Aracı kodunda PAT kimlik doğrulamasını yapılandırın:

    import os
    
    # Configure PAT authentication for Prompt Registry access
    # Replace with your actual secret scope and key names
    secret_scope_name = "your-secret-scope"
    secret_key_name = "your-pat-key"
    
    os.environ["DATABRICKS_HOST"] = "https://<your-workspace-url>"
    os.environ["DATABRICKS_TOKEN"] = dbutils.secrets.get(scope=secret_scope_name, key=secret_key_name)
    
    # Validate configuration
    assert os.environ["DATABRICKS_HOST"], "DATABRICKS_HOST must be set"
    assert os.environ["DATABRICKS_TOKEN"], "DATABRICKS_TOKEN must be set"
    
  4. agents.deploy() kullanarak aracı deploy ederken, PAT'yi bir ortam değişkeni olarak kullanın.

    agents.deploy(
        UC_MODEL_NAME,
        uc_registered_model_info.version,
        environment_vars={
            "DATABRICKS_HOST": "https://<your-workspace-url>",
            "DATABRICKS_TOKEN": f"{{{{secrets/{secret_scope_name}/{secret_key_name}}}}}"
        },
    )