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、 READ、 UPDATE和 DELETE 許可權。 空格的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
(或 物件識別碼類型) 係指給予角色的身分識別類型。 除了 DeviceId
和 UserDefinedFunctionId
類型之外,物件識別碼類型還會對應至 Azure Active Directory 物件的屬性。
下表包含 Azure Digital Twins 中支援的物件識別碼類型:
類型 | 描述 |
---|---|
UserId | 會為使用者指派角色。 |
DeviceId | 會為裝置指派角色。 |
DomainName | 會為網域名稱指派角色。 每個具有指定網域名稱的使用者,都會有對應角色的存取權限。 |
TenantId | 會為租用戶指派角色。 每個屬於指定 Azure AD 租用戶識別碼的使用者,都會有對應角色的存取權限。 |
ServicePrincipalId | 會為服務主體物件識別碼指派角色。 |
UserDefinedFunctionId | 會為使用者定義函式 (UDF) 指派角色。 |
提示
若要了解如何為服務主體授與權限,請閱讀建立和管理角色指派。
下列參考文件文章說明:
- 如何查詢使用者的物件識別碼 \(英文\)。
- 如何取得服務主體的物件識別碼 \(英文\)。
- 如何擷取 Azure AD 租用戶的物件識別碼。
角色指派
Azure Digital Twins 的角色指派會建立物件 (例如,使用者或 Azure AD 租用戶) 與角色和空間的關聯性。 權限會授與屬於該空間的所有物件。 空間包含其下方的整個空間圖形。
例如,假設某個使用者在空間圖形根節點 (代表建築物) 的角色指派中獲得了 DeviceInstaller
角色。 該使用者接著就能針對該節點及建築物中的所有其他子空間,讀取和更新裝置。
若要將權限授與收件者,請建立角色指派。 若要撤銷權限,請移除角色指派。
重要
若要深入了解角色指派,請閱讀建立和管理角色指派。
後續步驟
若要深入了解如何建立和管理 Azure Digital Twins 角色指派,請閱讀建立和管理角色指派。
深入瞭解 適用于 Azure 的 RBAC。