共用方式為


指派 Azure 角色以存取資料表資料

Microsoft Entra 會透過 Azure 角色型存取控制 (Azure RBAC) 來授與受保護資源的存取權。 Azure 儲存體會定義一組 Azure 內建角色,其中包含用來存取 Azure 儲存體中所含資料表資料的一般權限集。

將 Azure 角色指派給 Microsoft Entra 安全性主體時,Azure 會將那些資源的存取權授與該安全性主體。 Microsoft Entra 安全性主體可以是使用者、群組或應用程式服務主體,或是適用於 Azure 資源的受控識別

若要深入了解如何使用 Microsoft Entra ID 來授與資料表資料的存取權,請參閱 使用 Microsoft Entra ID 授與資料表的存取權

指派 Azure 角色

您可以使用 PowerShell、Azure CLI 或 Azure Resource Manager 範本來指派資料存取的角色。

重要

Azure 入口網站目前不支援指派範圍為資料表的 Azure RBAC 角色。 若要指派資料表範圍的角色,請使用 PowerShell、Azure CLI 或 Azure Resource Manager。

您可以使用 Azure 入口網站指派角色,將資料表資料的存取權授與 Azure Resource Manager 資源,例如儲存體帳戶、資源群組或訂用帳戶。

若要將 Azure 角色指派給安全性主體,請呼叫 New-AzRoleAssignment 命令。 命令的格式會根據指派的範圍而有所不同。 若要執行命令,您必須具備相關角色,且該角色必須包含在對應或更大的範圍指派給您的 Microsoft.Authorization/roleAssignments/write 權限。

若要指派範圍限定於資料表的角色,請為 --scope 參數指定包含資料表範圍的字串。 資料表範圍的格式如下:

/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/tableServices/default/tables/<table-name>

下列範例會將儲存體資料表資料參與者角色指派給使用者 (範圍限定於資料表)。 請務必將括弧中的範例值和預留位置值取代為您自己的值:

New-AzRoleAssignment -SignInName <email> `
    -RoleDefinitionName "Storage Table Data Contributor" `
    -Scope  "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/tableServices/default/tables/<table>"

如需在訂用帳戶、資源群組或儲存體帳戶範圍中使用 PowerShell 指派角色的詳細資訊,請參閱使用 Azure PowerShell 指派 Azure 角色

請注意下列有關 Azure 儲存體中 Azure 角色指派的重點:

  • 當您建立 Azure 儲存體帳戶時,不會自動向您指派透過 Microsoft Entra ID 存取資料的權限。 您必須明確地將 Azure 儲存體的 Azure 角色指派給自己。 您可以在訂用帳戶、資源群組、儲存體帳戶或資料表層級指派此角色。
  • 當您指派角色或移除角色指派時,最多可能需要 10 分鐘的時間,變更才會生效。
  • 具有數據動作的內建角色可以在管理群組 範圍指派。 不過,在罕見的情況下,數據動作許可權對於特定資源類型而言可能會有顯著的延遲(最多 12 小時)。 許可權最終會套用。 對於具有數據動作的內建角色,不建議在管理群組範圍中新增或移除角色指派,例如需要Microsoft Entra Privileged Identity Management (PIM) 等及時許可權啟用或撤銷的情況。
  • 如果使用 Azure Resource Manager 唯讀鎖定來鎖住儲存體帳戶,則鎖定會防止範圍限定於儲存體帳戶或資料表的 Azure 角色指派。

下一步