共用方式為


Azure Digital Twins 中的角色型存取控制

重要

已發行新版本的 Azure Digital Twins 服務。 在新的服務擴充功能中,本檔集) 中所述的原始 Azure Digital Twins 服務 (已淘汰。

若要檢視新服務的檔,請流覽使用中的 Azure Digital Twins 檔

Azure Digital Twins 可讓您精確控制空間圖表中特定資料、資源和動作的存取控制。 它會透過稱為 角色型存取控制 的細微角色和版權管理, (RBAC) 來執行此動作。 RBAC 是由「角色」和「角色指派」所組成的。 角色會識別權限的層級。 角色指派會將角色與使用者或裝置產生關聯。

使用 RBAC,就可以將權限授與:

  • 使用者。
  • 裝置。
  • 服務主體。
  • 使用者定義函式。
  • 隸屬於網域的所有使用者。
  • 租用戶。

存取程度也可以微調。

RBAC 的特色在於其權限會向下繼承到空間圖形。

RBAC 有何用途?

開發人員可能會使用 RBAC 來進行下列動作:

  • 為使用者授與管理整棟建築物各項裝置的能力,或僅就特定房間或樓層進行授權。
  • 為系統管理員授與整個圖形內所有空間圖形節點的全域存取權,或僅就某部分的圖形進行授權。
  • 為支援專員授與圖形的讀取權限,但存取金鑰除外。
  • 為網域的每個成員授與所有圖形物件的讀取權限。

RBAC 最佳做法

角色型存取控制是以繼承為導向、用來管理存取、權限和角色的安全性策略。 子系角色會繼承父角色的權限。 權限也可以另行指派,而不繼承自父角色。 此外也可以視需要指派權限以自訂角色。

例如,空間管理員可能需要全域存取權,以針對指定的空間執行所有作業。 存取包括空間底下或空間中的所有節點。 裝置安裝程式可能只需要裝置和感應器的「讀取」和「更新」權限。

無論是哪種情況,為角色授與的存取權均應遵循最低權限原則,正好足以完成其工作。 根據此原則,身分識別應「只」授與:

  • 要完成其工作所需的存取權。
  • 適當且只能執行其作業的角色。

重要

一律遵循最低權限原則。

此外也應遵循兩個重要的角色型存取控制準則:

  • 定期稽核角色指派,以確認每個角色都具有正確的權限。
  • 當個人變更角色或指派時,清除角色和指派。

角色

角色定義

角色定義是權限和其他可構成角色之屬性的集合。 角色定義會列出允許的作業,包括任何具有該角色的物件可能執行的「建立」、「讀取」、「更新」和「刪除」。 它也會指定套用許可權的物件類型。

下表描述 Azure Digital Twins 中可用的角色:

角色 說明 識別碼
空間管理員 適用於指定空間及其下所有節點的建立、讀取、更新和刪除權限。 全域權限。 98e44ad7-28d4-4007-853b-b9968ad132d1
使用者管理員 適用於使用者和使用者相關物件的建立、讀取、更新和刪除權限。 空格的READ許可權。 dfaac54c-f583-4dd2-b45d-8d4bbc0aa1ac
裝置管理員 適用於裝置和裝置相關物件的建立、讀取、更新和刪除權限。 空格的READ許可權。 3cdfde07-bc16-40d9-bed3-66d49a8f52ae
金鑰管理員 存取金鑰的 CREATE、 READUPDATEDELETE 許可權。 空格的READ許可權。 5a0b1afc-e118-4068-969f-b50efb8e5da6
權杖管理員 適用於存取金鑰的讀取和更新權限。 空格的READ許可權。 38a3bb21-5424-43b4-b0bf-78ee228840c3
User 適用於空間、感應器和使用者 (包括其對應的相關物件) 的讀取權限。 b1ffdb77-c635-4e7e-ad25-948237d85b30
支援專家 存取金鑰以外各個項目的讀取權限。 6e46958b-dc62-4e7c-990c-c3da2e030969
裝置安裝人員 適用於裝置和感應器 (包括其對應的相關物件) 的讀取和更新權限。 空格的READ許可權。 b16dd9fe-4efe-467b-8c8c-720e2ff8817c
閘道裝置 感應器的建立權限。 裝置和感應器的READ許可權,其中包含其對應的相關物件。 d4c69766-e9bd-4e61-bfc1-d8b6e686c7a8

注意

若要擷取上述角色的完整定義,請查詢系統/角色 API。 若要深入了解,請閱讀建立和管理角色指派

物件識別碼類型

objectIdType (或 物件識別碼類型) 係指給予角色的身分識別類型。 除了 DeviceIdUserDefinedFunctionId 類型之外,物件識別碼類型還會對應至 Azure Active Directory 物件的屬性。

下表包含 Azure Digital Twins 中支援的物件識別碼類型:

類型 描述
UserId 會為使用者指派角色。
DeviceId 會為裝置指派角色。
DomainName 會為網域名稱指派角色。 每個具有指定網域名稱的使用者,都會有對應角色的存取權限。
TenantId 會為租用戶指派角色。 每個屬於指定 Azure AD 租用戶識別碼的使用者,都會有對應角色的存取權限。
ServicePrincipalId 會為服務主體物件識別碼指派角色。
UserDefinedFunctionId 會為使用者定義函式 (UDF) 指派角色。

提示

若要了解如何為服務主體授與權限,請閱讀建立和管理角色指派

下列參考文件文章說明:

角色指派

Azure Digital Twins 的角色指派會建立物件 (例如,使用者或 Azure AD 租用戶) 與角色和空間的關聯性。 權限會授與屬於該空間的所有物件。 空間包含其下方的整個空間圖形。

例如,假設某個使用者在空間圖形根節點 (代表建築物) 的角色指派中獲得了 DeviceInstaller 角色。 該使用者接著就能針對該節點及建築物中的所有其他子空間,讀取和更新裝置。

若要將權限授與收件者,請建立角色指派。 若要撤銷權限,請移除角色指派。

重要

若要深入了解角色指派,請閱讀建立和管理角色指派

後續步驟