你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
了解在 Azure Synapse 中执行常见任务所需的角色
本文将帮助你了解在 Synapse Studio 中完成工作所需的 Synapse RBAC(基于角色的访问控制)角色或 Azure RBAC 角色。 若要管理角色成员身份,请参阅管理 Synapse RBAC 角色分配。
Synapse Studio 访问控制和工作流摘要
访问 Synapse Studio
你可以打开 Synapse Studio、查看工作区的详细信息,以及列出其任何 Azure 资源(例如 SQL 池、Spark 池或集成运行时)。 你会看到系统是否已向你分配任何 Synapse RBAC 角色,或者你是否在工作区上具有 Azure 所有者、参与者或读取者角色。
资源管理
如果你是资源组的 Azure 所有者或参与者,则可以创建 SQL 池、数据资源管理器池和 Apache Spark 池。 如果你是工作区的 Azure 所有者或参与者,则可以创建 Integration Runtime。 使用 ARM 模板进行自动部署时,你需要成为资源组的 Azure 参与者。
如果你是工作区或该资源的 Azure 所有者或参与者,则可以暂停或缩放专用 SQL 池、配置 Spark 池或集成运行时。
查看和编辑代码项目
通过访问 Synapse Studio,你可以创建新的代码项目,例如 SQL 脚本、KQL 脚本、笔记本、Spark 作业、链接服务、管道、数据流、触发器和凭据。 可通过其他权限发布或保存这些项目。
如果你是 Synapse 项目用户、Synapse 项目发布者、Synapse 参与者或 Synapse 管理员,则可以列出、打开和编辑已发布的代码项目,包括计划内的管道。
执行代码
如果你具有 SQL 池中定义的必需的 SQL 权限,则可以在 SQL 池上执行 SQL 脚本。 如果具有所需的权限,则可在数据资源管理器池中执行 KQL 脚本。
如果你具有对工作区或特定 Apache Spark 池的 Synapse 计算操作员权限,则可以运行笔记本和 Spark 作业。
具有对工作区或特定集成运行时的计算操作员权限以及适当的凭据权限时,可以执行管道。
监视和管理执行情况
如果你是 Synapse 用户,则可以查看 Apache Spark 池中正在运行的笔记本和作业的状态。
如果你是工作区或特定 Spark 池或管道的 Synapse 计算操作员,则可以查看日志和取消正在运行的作业和管道。
调试管道
可以以 Synapse 用户的身份查看和更改管道,但如果希望能够对其进行调试,还需要有 Synapse 凭据用户身份。
发布和保存代码
如果你是 Synapse 项目发布者、Synapse 参与者或 Synapse 管理员,则可以将新的或更新的代码项目发布到服务。
如果工作区启用了 Git 并且你具有 Git 权限,则可以将代码项目提交到 Git 存储库的工作分支。 启用 Git 后,只能从协作分支进行发布。
如果关闭 Synapse Studio 时未发布或提交对代码项目的更改,则这些更改将丢失。
任务和所需角色
下表列出了常见任务以及每项任务所需的 Synapse RBAC 或 Azure RBAC 角色。
注意
不会针对每项任务列出 Synapse 管理员,除非它是提供必要权限的唯一角色。 Synapse 管理员可以执行其他 Synapse RBAC 角色启用的所有任务。
注意
来自其他租户的来宾用户在被分配为 Synapse 管理员后,也可以查看、添加或更改角色分配。
显示了所需的最小 Synapse RBAC 角色。
任何范围的所有 Synapse RBAC 角色都提供工作区中的 Synapse 用户权限。
表中显示的所有 Synapse RBAC 权限/操作都带有前缀 Microsoft/Synapse/workspaces/...
。
任务(我想要…) | 角色(我需要是…) | Synapse RBAC 权限/操作 |
---|---|---|
在工作区上打开 Synapse Studio | Synapse 用户,或者 | 读取 |
工作区的 Azure 所有者、参与者或读取者 | 无 | |
列出 SQL 池、数据资源管理器池、Apache Spark 池或集成运行时并访问其配置详细信息 | Synapse 用户,或者 | 读取 |
工作区的 Azure 所有者、参与者或读取者 | 无 | |
列出链接服务、凭据或托管的专用终结点 | Synapse 用户 | 读取 |
SQL 池 | ||
创建专用 SQL 池或无服务器 SQL 池 | 资源组的 Azure 所有者或参与者 | 无 |
管理(暂停、缩放或删除)专用 SQL 池 | SQL 池或工作区的 Azure 所有者或参与者 | 无 |
创建 SQL 脚本 |
Synapse 用户,或者 工作区的 Azure 所有者或参与者。 运行 SQL 脚本、发布或提交更改时需要其他 SQL 权限。 |
|
列出并打开任何已发布的 SQL 脚本 | Synapse 项目用户、项目发布者或 Synapse 参与者 | 项目/读取 |
在无服务器 SQL 池上运行 SQL 脚本 | 池的 SQL 权限(自动授予 Synapse 管理员) | 无 |
在专用 SQL 池上运行 SQL 脚本 | 池的 SQL 权限(自动授予 Synapse 管理员) | 无 |
发布新的、已更新的或已删除的 SQL 脚本 | Synapse 项目发布者或 Synapse 参与者 | sqlScripts/写入、删除 |
将对 SQL 脚本的更改提交到 Git 存储库 | 需要存储库上的 Git 权限 | |
在工作区上分配 Active Directory 管理员(通过 Azure 门户中的工作区属性) | 工作区的 Azure 所有者或参与者 | |
数据资源管理器池 | ||
创建数据资源管理器池 | 资源组的 Azure 所有者或参与者 | 无 |
管理(暂停、缩放或删除)数据资源管理器池 | 数据资源管理器池或工作区上的 Azure 所有者或参与者 | 无 |
创建 KQL 脚本 |
Synapse 用户。 运行脚本、发布更改或提交更改时需要其他数据资源管理器权限。 |
|
列出并打开任何已发布的 KQL 脚本 | Synapse 项目用户、项目发布者或 Synapse 参与者 | 项目/读取 |
在数据资源管理器池中运行 KQL 脚本 | 在池中的数据资源管理器权限(自动授予 Synapse 管理员) | 无 |
发布新的 KQL 脚本、更新或删除 KQL 脚本 | Synapse 项目发布者或 Synapse 参与者 | kqlScripts/写入、删除 |
将对 KQL 脚本的更改提交到 Git 存储库 | 需要存储库上的 Git 权限 | |
APACHE SPARK 池 | ||
创建 Apache Spark 池 | 资源组的 Azure 所有者或参与者 | |
监视 Apache Spark 应用程序 | Synapse 用户 | 读取 |
查看已完成的笔记本和作业执行的日志 | Synapse 监视运算符 | |
取消 Apache Spark 池上运行的任何笔记本或 Spark 作业 | Apache Spark 池上的 Synapse 计算操作员。 | bigDataPools/useCompute |
创建笔记本或作业定义 | Synapse 用户或者 工作区的 Azure 所有者、参与者或读取者 运行、发布更改或提交更改时需要其他权限 |
读取 |
列出并打开已发布的笔记本或作业定义,包括查看保存的输出 | 工作区的 Synapse 项目用户或 Synapse 监视操作员 | 项目/读取 |
运行笔记本并查看其输出,或提交 Spark 作业 | 所选 Apache Spark 池的 Synapse Apache Spark 管理员或 Synapse 计算操作员 | bigDataPools/useCompute |
将笔记本或作业定义(包括输出)发布到服务或将其删除 | 工作区的项目发布者或 Synapse Apache Spark 管理员 | 笔记本/写入、删除 |
将对笔记本或作业定义的更改提交到 Git 存储库 | Git 权限 | 无 |
管道、集成运行时、数据流、数据集和触发器 | ||
创建、更新或删除集成运行时 | 工作区的 Azure 所有者或参与者 | |
监视集成运行时状态 | Synapse 监视运算符 | read, integrationRuntimes/viewLogs |
查看管道运行 | Synapse 监视运算符 | 读取、管道/viewOutputs |
创建管道 | Synapse 用户 调试、添加触发器、发布更改或提交更改时需要其他 Synapse 权限 |
读取 |
创建数据流或数据集 | Synapse 用户 发布更改或提交更改时需要其他 Synapse 权限 |
读取 |
列出并打开已发布的管道 | Synapse 项目用户或 Synapse 监视操作员 | 项目/读取 |
预览数据集数据 | WorkspaceSystemIdentity 的 Synapse 用户和 Synapse 凭据用户 | |
使用默认集成运行时调试管道 | WorkspaceSystemIdentity 凭据的 Synapse 用户和 Synapse 凭据用户 | 读取、 凭据/useSecret |
创建触发器,包括“立即触发”(需要权限才能执行管道) | WorkspaceSystemIdentity 的 Synapse 用户和 Synapse 凭据用户 | 读取、凭据/useSecret/操作 |
执行/运行管道 | WorkspaceSystemIdentity 的 Synapse 用户和 Synapse 凭据用户 | 读取、凭据/useSecret/操作 |
使用“复制数据”工具复制数据 | 工作区系统标识的 Synapse 用户和 Synapse 凭据用户 | 读取、凭据/useSecret/操作 |
引入数据(使用计划) | 工作区系统标识的 Synapse 创建者和 Synapse 凭据用户 | 读取、凭据/useSecret/操作 |
向服务发布新的、已更新的或已删除的管道、数据流或触发器 | 工作区的 Synapse 项目发布者 | 管道/写入、删除 数据流/写入、删除 触发器/写入、删除 |
将对管道、数据流、数据集或触发器的更改提交到 Git 存储库 | Git 权限 | 无 |
链接服务 | ||
创建链接服务(包括分配凭据) | Synapse 用户 使用带凭据的链接服务或者发布更改或提交更改时需要其他权限 |
读取 |
列出并打开已发布的链接服务 | Synapse 项目用户 | linkedServices/写入、删除 |
对受凭据保护的链接服务进行连接测试 | Synapse 用户和 Synapse 凭据用户 | 凭据/useSecret/操作 |
发布链接服务 | Synapse 项目发布者或 Synapse 链接数据管理员 | linkedServices/写入、删除 |
将链接服务定义提交到 Git 存储库 | Git 权限 | 无 |
访问管理 | ||
查看任何范围内的 Synapse RBAC 角色分配 | Synapse 用户 | 读取 |
为用户、组和服务主体分配和删除 Synapse RBAC 角色分配 | 工作区或特定工作区项范围内的 Synapse 管理员 | roleAssignments/写入、删除 |