使用 Azure Active Directory 授權存取資料表

Azure 儲存體支援使用 Azure Active Directory (Azure AD) 來授權對資料表資料的要求。 透過 Azure AD,您可以使用 Azure 角色型存取控制 (Azure RBAC),將權限授與安全性主體 (可能是使用者、群組或應用程式服務主體)。 安全性主體會由 Azure AD 進行驗證,以傳回 OAuth 2.0 權杖。 然後,可以使用權杖來授權對資料表服務的要求。

使用 Azure AD 來授權對 Azure 儲存體的要求,相較於共用金鑰授權,可提供更優異的安全性,也更容易使用。 Microsoft 建議您盡可能對資料表應用程式使用 Azure AD 授權,以確保存取權具有最低必要權限。

所有公用區域和國家雲端中的所有一般用途帳戶都可以使用 Azure AD 進行授權。 只有使用 Azure Resource Manager 部署模型建立的儲存體帳戶支援 Azure AD 授權。

適用於資料表的 Azure AD 概觀

當安全性主體 (使用者、群組或應用程式) 嘗試存取資料表資源時,要求必須獲得授權。 使用 Azure AD,對資源的存取是兩個步驟的程序。 首先,安全性主體的身分識別已通過驗證,並傳回 OAuth 2.0 權杖。 接下來,權杖會當做要求的一部分傳至資料表服務,讓服務使用該權杖來授與指定資源的存取權。

驗證步驟要求應用程式在執行階段要求 OAuth 2.0 存取權杖。 如果應用程式是在 Azure 實體內執行,例如 Azure VM、虛擬機器擴展集或 Azure Functions 應用程式,則可以使用受控識別來存取資料表。 若要了解如何授權受控識別所提出的要求,請參閱使用適用於 Azure 資源的受控識別來授與資料表資料的存取權

授權步驟需要將一或多個 Azure 角色指派給安全性主體。 Azure 儲存體提供的 Azure 角色包含資料表資料的一般權限集合。 指派給安全性主體的角色會決定該主體所擁有的權限。 若要深入了解如何指派用於資料表存取的 Azure 角色,請參閱指派 Azure 角色以存取資料表資料

對 Azure 資料表服務提出要求的原生應用程式和 Web 應用程式,也可以使用 Azure AD 來授與存取權。 若要了解如何要求存取權杖,並使用該權杖來授權要求,請參閱從 Azure 儲存體應用程式使用 Azure AD 授與 Azure 儲存體的存取權

為 Azure 角色指派存取權限

Azure Active Directory (Azure AD) 會透過 Azure 角色型存取控制 (Azure RBAC) 來授與存取受保護資源的權限。 Azure 儲存體會定義一組 Azure 內建角色,其中包含一般用來存取資料表資料的權限集合。 您也可以定義自訂角色以存取資料表資料。

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

資源範圍

將 Azure RBAC 角色指派給安全性主體之前,請先決定安全性主體應該具備的存取範圍。 最佳做法的要求是,最好只授與最小的可能範圍。 以更廣泛範圍定義的 Azure RBAC 角色,可由其下的資源繼承。

您可以在下列層級設定存取 Azure 資料表資源的範圍,從最小範圍開始:

  • 個別的資料表。 在此範圍中,角色指派會套用至指定的資料表。
  • 儲存體帳戶。 在此範圍中,角色指派會套用至帳戶中的所有資料表。
  • 資源群組。 在此範圍中,角色指派會套用至資源群組中所有儲存體帳戶內的所有資料表。
  • 訂閱。 在此範圍中,角色指派會套用至訂用帳戶中所有資源群組的所有儲存體帳戶內所包含的所有資料表。
  • 管理群組。 在此範圍中,角色指派會套用至管理群組的所有訂用帳戶中,所有資源群組的所有儲存體帳戶內所包含的所有資料表。

如需 Azure RBAC 角色指派範圍的詳細資訊,請參閱了解 Azure RBAC 的範圍

適用於資料表的 Azure 內建角色

Azure RBAC 提供內建角色,可讓您使用 Azure AD 和 OAuth 來授與資料表資料的存取權。 有權對 Azure 儲存體中的資料表進行存取的內建角色包括:

若要了解如何將 Azure 內建角色指派給安全性主體,請參閱指派 Azure 角色以存取資料表資料。 若要了解如何列出 Azure RBAC 角色及其權限,請參閱列出 Azure 角色定義

如需有關如何為 Azure 儲存體定義內建角色的詳細資訊,請參閱了解角色定義。 如需建立 Azure 自訂角色的相關資訊,請參閱 Azure 自訂角色

只有針對資料存取明確定義的角色,才能允許安全性主體存取或資料表資料。 內建角色 (例如 擁有者參與者儲存體帳戶參與者) 允許安全性主體管理儲存體帳戶,但是不會透過 Azure AD 提供該帳戶內資料表資料的存取權。 不過,如果角色包含 Microsoft.Storage/storageAccounts/listKeys/action,則獲指派該角色的使用者可以透過具有帳戶存取金鑰的共用金鑰授權來存取儲存體帳戶中的資料。

如需有關適用於資料服務和管理服務的 Azure 儲存體 Azure 內建角色的詳細資訊,請參閱 Azure RBAC 的 Azure 內建角色中的儲存體一節。 此外,如需在 Azure 中提供權限的不同類型角色詳細資訊,請參閱傳統訂用帳戶管理員角色、Azure 角色和 Azure AD 角色

重要

Azure 角色指派最多需要 30 分鐘的時間來傳播。

資料作業的存取權限

如需呼叫特定資料表服務作業所需權限的詳細資訊,請參閱呼叫資料作業的權限

下一步