Autenticação da entidade de serviço do MS Entra
autenticação entidade de serviço do MS Entra usa o credentials de uma entidade de serviço do MS Entra para autenticar. Para criar e gerenciar entidades de serviço para o Azure Databricks, consulte:
Nota
O Databricks recomenda que você use a autenticação OAuth máquina-a-máquina (M2M) na maioria dos cenários, em vez da autenticação principal de serviço do MS Entra. Isto acontece porque a autenticação M2M OAuth utiliza os tokens de acesso OAuth do Azure Databricks que são mais avançados na autenticação apenas com o Azure Databricks.
Você só deve usar a autenticação da entidade de serviço do MS Entra nos casos em where você deve autenticar com o Azure Databricks e outros recursos do Azure ao mesmo tempo.
Para usar a autenticação OAuth M2M em vez da autenticação principal de serviço do MS Entra, ignore este artigo e consulte Autenticar o acesso ao Azure Databricks com uma entidade de serviço usando OAuth (OAuth M2M).
As entidades de serviço do MS Entra são diferentes das identidades gerenciadas para recursos do Azure, que o Azure Databricks também oferece suporte para autenticação. Para saber como usar identidades gerenciadas para recursos do Azure em vez de entidades de serviço do MS Entra para autenticação do Azure Databricks, consulte Set e usar a autenticação de identidades gerenciadas do Azure para o Azure Databricks automation.
Para obter detalhes sobre a autenticação do Microsoft Entra no Databricks com o Azure DevOps especificamente, consulte Autenticar com o Azure DevOps no Databricks.
Para configurar a autenticação da entidade de serviço do MS Entra com o Azure Databricks, deves set as seguintes variáveis de ambiente associadas, campos .databrickscfg
, campos Terraform ou campos Config
:
O host do Azure Databricks.
Para operações de conta, especifique
https://accounts.azuredatabricks.net
.Para operações de espaço de trabalho, especifique a URL por espaço de trabalho, por exemplo
https://adb-1234567890123456.7.azuredatabricks.net
.Se a entidade de serviço do MS Entra ainda não tiver sido adicionada ao espaço de trabalho, especifique a ID do recurso do Azure. Nesse caso, a entidade de serviço do MS Entra deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure.
Para operações de conta, a ID da conta do Azure Databricks.
A ID de recurso do Azure.
A ID do locatário da entidade de serviço do MS Entra.
O ID do cliente da entidade de serviço do MS Entra.
O segredo do cliente da entidade de serviço do MS Entra.
Para executar a autenticação da entidade de serviço do MS Entra com o Azure Databricks, integre o seguinte em seu código, com base na ferramenta participante ou SDK:
Para usar variáveis de ambiente para um tipo de autenticação específico do Azure Databricks com uma ferramenta ou SDK, consulte Autenticar o acesso aos recursos do Azure Databricks ou a documentação da ferramenta ou do SDK. Consulte também Variáveis de ambiente e campos para autenticação unificada do cliente e os métodos padrão para autenticação unificada do cliente.
Para operações de nível de conta ,utilize as seguintes variáveis de ambiente set:
DATABRICKS_HOST
, set ao valor da URL do console da sua conta Azure Databricks,https://accounts.azuredatabricks.net
.DATABRICKS_ACCOUNT_ID
ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
Para operações no nível do espaço de trabalho, set as seguintes variáveis de ambiente:
-
DATABRICKS_HOST
, set ao valor do seu Azure Databricks URL por espaço de trabalho, por exemplo,https://adb-1234567890123456.7.azuredatabricks.net
. ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
Para operações no nível do espaço de trabalho, se a entidade de serviço do MS Entra ainda não tiver sido adicionada ao espaço de trabalho, especifique
DATABRICKS_AZURE_RESOURCE_ID
junto com a ID do recurso do Azure para o espaço de trabalho do Azure Databricks, em vez de junto com a URL do espaço deHOST
trabalho. Nesse caso, a entidade de serviço do MS Entra deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure para o espaço de trabalho do Azure Databricks.
Crie ou identifique um perfil de configuração do Azure Databricks com os seguintes campos em seu .databrickscfg
arquivo. Se você criar o perfil, substitua os espaços reservados pelo valuesapropriado. Para usar o perfil com uma ferramenta ou SDK, consulte Autenticar o acesso aos recursos do Azure Databricks ou à documentação da ferramenta ou do SDK. Consulte também Variáveis de ambiente e campos para autenticação unificada do cliente e os métodos padrão para autenticação unificada do cliente.
Para operações ao nível da conta ,, set as seguintes values no seu ficheiro .databrickscfg
. Nesse caso, a URL do console da conta do Azure Databricks é https://accounts.azuredatabricks.net
:
[<some-unique-configuration-profile-name>]
host = <account-console-url>
account_id = <account-id>
azure_tenant_id = <azure-service-principal-tenant-id>
azure_client_id = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>
Para operações no nível do espaço de trabalho, set as seguintes values no arquivo .databrickscfg
. Nesse caso, o host é a URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net
:
[<some-unique-configuration-profile-name>]
host = <workspace-url>
azure_tenant_id = <azure-service-principal-tenant-id>
azure_client_id = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>
Para operações no nível do espaço de trabalho, se a entidade de serviço do MS Entra ainda não tiver sido adicionada ao espaço de trabalho, especifique azure_workspace_resource_id
junto com a ID do recurso do Azure para o espaço de trabalho do Azure Databricks, em vez de junto com a URL do espaço de host
trabalho. Nesse caso, a entidade de serviço do MS Entra deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure para o espaço de trabalho do Azure Databricks.
Para a CLI do Databricks, siga um destes procedimentos:
- Set as variáveis de ambiente conforme especificado na seção "Ambiente" deste artigo.
-
Set o values no seu arquivo
.databrickscfg
, conforme especificado na seção "Perfil" deste artigo.
As variáveis de ambiente sempre têm precedência sobre values em seu arquivo .databrickscfg
.
Consulte também Autenticação da entidade de serviço do Microsoft Entra ID.
Nota
A autenticação da entidade de serviço do MS Entra é suportada nas seguintes versões do Databricks Connect:
- Para Python, Databricks Connect for Databricks Runtime 13.1 e superior.
- Para Scala, Databricks Connect for Databricks Runtime 13.3 LTS e superior.
Para o Databricks Connect, você pode seguir um destes procedimentos:
-
Set o values em seu arquivo de
.databrickscfg
para o Azure Databricks de operações no nível do espaço de trabalho, conforme especificado na seção "Perfil" deste artigo. Além disso, set a variável de ambientecluster_id
no seu perfil para o URL por espaço de trabalho, por exemplo,https://adb-1234567890123456.7.azuredatabricks.net
. -
Set as variáveis de ambiente para o Azure Databricks de operações no nível do espaço de trabalho, conforme especificado na seção "Ambiente" deste artigo. Além disso, set a variável de ambiente
DATABRICKS_CLUSTER_ID
para o URL por espaço de trabalho, por exemplo,https://adb-1234567890123456.7.azuredatabricks.net
.
Values no seu arquivo .databrickscfg
têm sempre precedência sobre as variáveis de ambiente.
Para inicializar o cliente Databricks Connect com essas variáveis de ambiente ou values em seu arquivo de .databrickscfg
, consulte Configuração de computação para Databricks Connect.
Para a extensão Databricks para Visual Studio Code, faça o seguinte:
-
Set o values em seu arquivo de
.databrickscfg
para o Azure Databricks de operações no nível do espaço de trabalho, conforme especificado na seção "Perfil" deste artigo. - No painel Configuração da extensão Databricks para Visual Studio Code, clique em Configurar Databricks.
- Na Paleta de comandos, para Databricks Host, insira sua URL por espaço de trabalho, por exemplo
https://adb-1234567890123456.7.azuredatabricks.net
, e pressioneEnter
. - Na Paleta de Comandos, o nome do seu perfil de destino é select no list do seu URL.
Para obter mais detalhes, consulte Configuração de autenticação para a extensão Databricks para Visual Studio Code.
Para operações no nível da conta, para autenticação padrão:
provider "databricks" {
alias = "accounts"
}
Para configuração direta (substitua os espaços reservados retrieve
por sua própria implementação para recuperar o values do console ou de algum outro repositório de configuração, como HashiCorp Vault. Consulte também Provedor do Vault). Nesse caso, a URL do console da conta do Azure Databricks é https://accounts.azuredatabricks.net
:
provider "databricks" {
alias = "accounts"
host = <retrieve-account-console-url>
account_id = <retrieve-account-id>
azure_tenant_id = <retrieve-azure-tenant-id>
azure_client_id = <retrieve-azure-client-id>
azure_client_secret = <retrieve-azure-client-secret>
}
Para operações no nível do espaço de trabalho, para autenticação padrão:
provider "databricks" {
alias = "workspace"
}
Para configuração direta (substitua os espaços reservados retrieve
pela sua própria implementação para recuperar o values do console ou de outro repositório de configuração, como o HashiCorp Vault. Consulte também o Provedor Vault). Nesse caso, o host é a URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net
:
provider "databricks" {
alias = "workspace"
host = <retrieve-workspace-url>
azure_tenant_id = <retrieve-azure-tenant-id>
azure_client_id = <retrieve-azure-client-id>
azure_client_secret = <retrieve-azure-client-secret>
}
Para operações no nível do espaço de trabalho, se a entidade de serviço do MS Entra ainda não tiver sido adicionada ao espaço de trabalho, especifique azure_workspace_resource_id
junto com a ID do recurso do Azure para o espaço de trabalho do Azure Databricks, em vez de junto com a URL do espaço de host
trabalho. Nesse caso, a entidade de serviço do MS Entra deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure para o espaço de trabalho do Azure Databricks.
Para obter mais informações sobre como autenticar com o provedor Databricks Terraform, consulte Autenticação.
Para operações no nível da conta, para autenticação padrão:
from databricks.sdk import AccountClient
a = AccountClient()
# ...
Para configuração direta (substitua os espaços reservados retrieve
por sua própria implementação para recuperar o values do console ou de algum outro repositório de configuração, como Azure KeyVault). Nesse caso, a URL do console da conta do Azure Databricks é https://accounts.azuredatabricks.net
:
from databricks.sdk import AccountClient
a = AccountClient(
host = retrieve_account_console_url(),
account_id = retrieve_account_id(),
azure_tenant_id = retrieve_azure_tenant_id(),
azure_client_id = retrieve_azure_client_id(),
azure_client_secret = retrieve_azure_client_secret()
)
# ...
Para operações no nível do espaço de trabalho, para autenticação padrão:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
# ...
Para configuração direta (substitua os espaços reservados retrieve
por sua própria implementação para recuperar o values do console ou de algum outro repositório de configuração, como Azure KeyVault). Nesse caso, o host é a URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net
:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient(
host = retrieve_workspace_url(),
azure_tenant_id = retrieve_azure_tenant_id(),
azure_client_id = retrieve_azure_client_id(),
azure_client_secret = retrieve_azure_client_secret()
)
# ...
Para operações no nível do espaço de trabalho, se a entidade de serviço do MS Entra ainda não tiver sido adicionada ao espaço de trabalho, especifique azure_workspace_resource_id
junto com a ID do recurso do Azure para o espaço de trabalho do Azure Databricks, em vez de junto com a URL do espaço de host
trabalho. Nesse caso, a entidade de serviço do MS Entra deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure para o espaço de trabalho do Azure Databricks.
Para obter mais informações sobre autenticação com ferramentas Databricks e SDKs que usam Python e que implementam a autenticação unificada do cliente Databricks, consulte:
- Set configure o cliente Databricks Connect para Python
- Configuração de autenticação para a extensão Databricks para Visual Studio Code
- Autentique o SDK do Databricks para Python com sua conta ou espaço de trabalho do Azure Databricks
Para operações no nível da conta, para autenticação padrão:
import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...
Para configuração direta (substitua os espaços reservados retrieve
por sua própria implementação para recuperar o values do console ou de algum outro repositório de configuração, como Azure KeyVault). Nesse caso, a URL do console da conta do Azure Databricks é https://accounts.azuredatabricks.net
:
import com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveAccountConsoleUrl())
.setAccountId(retrieveAccountId())
.setAzureTenantId(retrieveAzureTenantId())
.setAzureClientId(retrieveAzureClientId())
.setAzureClientSecret(retrieveAzureClientSecret())
AccountClient a = new AccountClient(cfg);
// ...
Para operações no nível do espaço de trabalho, para autenticação padrão:
import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...
Para configuração direta (substitua os espaços reservados retrieve
por sua própria implementação para recuperar o values do console ou de algum outro repositório de configuração, como Azure KeyVault). Nesse caso, o host é a URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net
:
import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveWorkspaceUrl())
.setAzureTenantId(retrieveAzureTenantId())
.setAzureClientId(retrieveAzureClientId())
.setAzureClientSecret(retrieveAzureClientSecret())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...
Para operações no nível do espaço de trabalho, se a entidade de serviço do MS Entra ainda não tiver sido adicionada ao espaço de trabalho, especifique setAzureWorkspaceResourceId
junto com a ID do recurso do Azure para o espaço de trabalho do Azure Databricks, em vez de junto com a URL do espaço de setHost
trabalho. Nesse caso, a entidade de serviço do MS Entra deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure para o espaço de trabalho do Azure Databricks.
Para obter mais informações sobre a autenticação com ferramentas Databricks e SDKs que usam Java e que implementam a autenticação unificada do cliente Databricks, consulte:
- Set configurar o cliente Databricks Connect para Scala (o cliente usa o SDK de Databricks para Java incluído para autenticação)
- Autenticar o SDK do Databricks para Java com sua conta ou espaço de trabalho do Azure Databricks
Para operações no nível da conta, para autenticação padrão:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...
Para configuração direta (substitua os espaços reservados retrieve
pela sua própria implementação para obter o values a partir da consola ou de outro repositório de configuração, como o Azure KeyVault). Nesse caso, a URL do console da conta do Azure Databricks é https://accounts.azuredatabricks.net
:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
Host: retrieveAccountConsoleUrl(),
AccountId: retrieveAccountId(),
AzureTenantId: retrieveAzureTenantId(),
AzureClientId: retrieveAzureClientId(),
AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...
Para operações no nível do espaço de trabalho, para autenticação padrão:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...
Para configuração direta (substitua os marcadores de posição retrieve
pela sua própria implementação para recuperar o values do console ou de algum outro armazenamento de configuração, como o Azure KeyVault). Nesse caso, o host é a URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net
:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
Host: retrieveWorkspaceUrl(),
AzureTenantId: retrieveAzureTenantId(),
AzureClientId: retrieveAzureClientId(),
AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...
Para operações no nível do espaço de trabalho, se a entidade de serviço do MS Entra ainda não tiver sido adicionada ao espaço de trabalho, especifique AzureWorkspaceResourceId
junto com a ID do recurso do Azure para o espaço de trabalho do Azure Databricks, em vez de junto com a URL do espaço de Host
trabalho. Nesse caso, a entidade de serviço do MS Entra deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure para o espaço de trabalho do Azure Databricks.
Para obter mais informações sobre a autenticação com ferramentas e SDKs do Databricks que usam o Go e que implementam a autenticação unificada do cliente Databricks, consulte Autenticar o SDK do Databricks para Go com sua conta ou espaço de trabalho do Azure Databricks.