在databricks笔记本运行时为用户设置权限

问题描述 投票:0回答:1

databricks中有一个笔记本,某些业务人员没有权限查看作业运行情况。只有管理员和另一组有权查看它们。在权限部分,我可以手动设置,以便某些用户 管理运行,以便他们可以查看作业日志。但这是每次笔记本运行时的手动工作,我想自动执行此任务。我该如何继续? 我目前正在使用这个脚本,但响应是 403

import requests
import json

# Databricks workspace URL
url = "https://<databricks-instance>/api/2.0/admin/users/create"

# Databricks API token
token = "<your-api-token>"

# Headers for the API request
headers = {
    "Authorization": f"Bearer {token}",
    "Content-Type": "application/json"
}

# Function to add user to Databricks workspace
def add_user(username, email, display_name):
    payload = {
        "user_name": username,
        "email": email,
        "display_name": display_name,
        "password": "password"  # Change to the desired initial password
    }
    
    response = requests.post(url, headers=headers, data=json.dumps(payload))
    
    if response.status_code == 200:
        print(f"User '{username}' added successfully.")
    else:
        print(f"Failed to add user '{username}'. Status code: {response.status_code}")
        print(response.text)

# Example usage
if __name__ == "__main__":
    # List of users to add
    users_to_add = [
        {"username": "user1", "email": "[email protected]", "display_name": "User One"},
        {"username": "user2", "email": "[email protected]", "display_name": "User Two"}
        # Add more users as needed
    ]
    
    for user in users_to_add:
        add_user(user["username"], user["email"], user["display_name"])
azure-databricks acl user-permissions
1个回答
0
投票

使用以下端点创建新用户: /api/2.0/accounts/{account_id}/scim/v2/Users

请求示例应如下所示:

{
  "id": "string",
  "userName": "[email protected]",
  "emails": [
    {
      "$ref": "string",
      "value": "string",
      "display": "string",
      "primary": true,
      "type": "string"
    }
  ],
  "name": {
    "givenName": "string",
    "familyName": "string"
  },
  "displayName": "string",
  "roles": [
    {
      "$ref": "string",
      "value": "string",
      "display": "string",
      "primary": true,
      "type": "string"
    }
  ],
  "externalId": "string",
  "active": true
}

更改您的端点和

payload
。 要获取
account_id
,请遵循 此文档

错误 403 与身份验证相关,因此请提供正确的 token。但是,您的当前端点仍然会遇到错误,因此请按照上面提到的方式进行更改。

© www.soinside.com 2019 - 2024. All rights reserved.