Azure Synapse:如何使用Az CLI和AAD组授予对特定架构的访问权限?

umuewwlo  于 2023-05-29  发布在  其他
关注(0)|答案(1)|浏览(126)

如何通过az cli管理对Az Synapse架构的访问。
嗨,我正在尝试设置RBAC访问我们的突触视图与AAD组。因此,在实践中,我有一个包含敏感数据的模式A,以及没有任何敏感数据的模式B和C,每个人都可以访问它们,我有两个AAD组G1和G2。组G1中的用户可以查看所有模式(A、B、C)中的数据组G2中的用户只能查看非敏感模式(B、C)中的数据
我想用Az cli来管理它。
我发现这个命令很有可能起作用:

az synapse role assignment create --workspace-name SynapseID --role "Reader" --asignee AAD_group_ID --scope ??schema_ID??

但我不知道如何找到我的模式ID,我甚至不确定我是否正确理解了这一点,范围应该是别的东西,所以我希望在这里得到一些帮助。
我尝试了这个常见的查找模式ID,但它没有给予我满意的答案:
az synapse role scope list --workspace-name
有人尝试过吗?或者我的方法不理想,还有更好的方法可以将模式访问链接到AAD组?
我使用的是MAC,所以Azure Synapse studio对我不起作用,这就是为什么Az CLI

lrl1mhuk

lrl1mhuk1#

检查以下内容时,使用作用域检查当前角色分配。出现无效作用域错误:

az synapse role assignment list --workspace-name mynewwspace  --scope “/subscriptions/xxxx/resourceGroups/xxxx/providers/Microsoft.Synapse/workspaces/mynewwspace/sqlPools/kavyasqlpool"

(ScopeNotAllowed)不允许的范围:workspaces/mynewwspace/sqlPools/kavyasqlpool。允许的范围:Workspace、LinkedService、BigDataPool、ScopePool、IntegrationRuntime、Credential。
使用rest API检查以下内容以检查schemaId:

GET https://management.azure.com/subscriptions/ xxxxx/resourceGroups/myrg/providers/Microsoft.Synapse/workspaces/ mynewwspace /sqlPools/kavyasqlpool/schemas?api-version=2021-06-01

PowerShell命令获取响应将具有schemaId的架构列表。

Connect-AzAccount
$azContext = Get-AzContext
$azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile
$profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile)
$token = $profileClient.AcquireAccessToken($azContext.Subscription.TenantId)
$authHeader = @{
    'Content-Type'='application/json'
    'Authorization'='Bearer ' + $token.AccessToken
}

# Invoke the REST API
#$restUri = 'https://management.azure.com/subscriptions/xxxx?api-version=2020-01-01'
$restUri='https://management.azure.com/subscriptions/xxxx/resourceGroups/xxxx/providers/Microsoft.Synapse/workspaces/mynewwspace/sqlPools/kavyasqlpool/schemas?api-version=2021-06-01'
$response = Invoke-RestMethod -Uri $restUri -Method Get -Headers $authHeader | Verbose
$response

回复:

{@{id=/subscriptions/xxxx/resourceGroups/xxx/providers/Microsoft.Synapse/workspaces/mynewwspace/sqlPools/kavyasqlpool/schemas/db...

Sql Pool Schemas - List - REST API (Azure Synapse) | Microsoft Learn

相关问题