Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Byla vydána nová verze služby Azure Digital Twins. Vzhledem k rozšířeným funkcím nové služby se původní služba Azure Digital Twins (popsaná v této sadě dokumentace) vyřadila z provozu.
Pokud chcete zobrazit dokumentaci k nové službě, navštivte aktivní dokumentaci ke službě Azure Digital Twins.
Azure Digital Twins ke správě přístupu k prostředkům používá řízení přístupu na základě role (RBAC).
Přehled přiřazení rolí
Každé přiřazení role odpovídá následující definici:
{
"roleId": "00e00ad7-00d4-4007-853b-b9968ad000d1",
"objectId": "be2c6daa-a3a0-0c0a-b0da-c000000fbc5f",
"objectIdType": "ServicePrincipalId",
"path": "/",
"tenantId": "00f000bf-86f1-00aa-91ab-2d7cd000db47"
}
Následující tabulka popisuje jednotlivé atributy:
| Vlastnost | Název | Povinné | Typ | Popis |
|---|---|---|---|---|
| roleId | Identifikátor definice role | Ano | Řetězec | ID požadovaného přiřazení role. Vyhledejte definice rolí a jejich identifikátor pomocí dotazu na systémové rozhraní API nebo si projděte tabulku níže. |
| objectId | Identifikátor objektu | Ano | Řetězec | ID azure Active Directory, ID instančního objektu nebo název domény. Komu nebo k čemu je přiřazena role? Přiřazení role musí být naformátované podle přidruženého typu.
DomainName Pro objectIdType musí objectId začínat znakem“@”. |
| typIdentifikátoruObjektu | Typ identifikátoru objektu | Ano | Řetězec | Druh použitého identifikátoru objektu. Viz podporované typy ObjectIdTypes níže. |
| cesta | Cesta vesmírem | Ano | Řetězec | Úplná přístupová cesta k objektu Space . Příklad: /{Guid}/{Guid}. Pokud identifikátor potřebuje přiřazení role pro celý graf, zadejte "/". Tento znak označuje kořen, ale jeho použití se nedoporučuje. Vždy dodržujte zásadu nejnižších oprávnění. |
| ID nájemce | Identifikátor tenanta | Liší se | Řetězec | Ve většině případů ID tenanta Azure Active Directory. Zakázáno pro DeviceId a TenantId ObjectIdTypes. Požadováno pro UserId a ServicePrincipalId ObjectIdTypes. Volitelné pro DomainName ObjectIdType. |
Podporované identifikátory definic rolí
Každé přiřazení role přidruží definici role k entitě v prostředí Azure Digital Twins.
Následující tabulka popisuje role, které jsou k dispozici ve službě Azure Digital Twins:
| Úloha | popis | Identifikátor |
|---|---|---|
| Správce prostoru | VYTVOŘENÍ, ČTENÍ, AKTUALIZACE a SMAZÁNÍ oprávnění pro zadaný prostor a všechny uzly pod ním. Globální oprávnění. | 98e44ad7-28d4-4007-853b-b9968ad132d1 |
| Správce uživatelů | Oprávnění CREATE, READ, UPDATEa DELETE pro uživatele a objekty související s uživatelem. oprávnění ke čtení pro mezery. | dfaac54c-f583-4dd2-b45d-8d4bbc0aa1ac |
| Správce zařízení | CREATE, READ, UPDATEa DELETE oprávnění pro zařízení a objekty související se zařízeními. oprávnění ke čtení pro mezery. | 3cdfde07-bc16-40d9-bed3-66d49a8f52ae |
| Správce klíčů | Oprávnění CREATE, READ, UPDATEa DELETE pro přístupové klíče. oprávnění ke čtení pro mezery. | 5a0b1afc-e118-4068-969f-b50efb8e5da6 |
| Správce tokenů | Oprávnění ke čtení a aktualizaci pro přístupové klíče. oprávnění ke čtení pro mezery. | 38a3bb21-5424-43b4-b0bf-78ee228840c3 |
| Uživatel | oprávnění ke čtení pro prostory, senzory a uživatele, které zahrnuje jejich odpovídající související objekty. | b1ffdb77-c635-4e7e-ad25-948237d85b30 |
| Specialista podpory | Oprávnění ke čtení pro všechno kromě přístupových klíčů. | 6e46958b-dc62-4e7c-990c-c3da2e030969 |
| Instalační program zařízení | oprávnění ke čtení a Aktualizace pro zařízení a senzory, včetně jejich odpovídajících souvisejících objektů. oprávnění ke čtení pro mezery. | b16dd9fe-4efe-467b-8c8c-720e2ff8817c |
| Zařízení brány | vytvořit oprávnění pro senzory. oprávnění ke čtení pro zařízení a senzory, která zahrnují odpovídající související objekty. | d4c69766-e9bd-4e61-bfc1-d8b6e686c7a8 |
Podporované typy identifikátorů objektů
Dříve byl zaveden atribut objectIdType .
objectIdType (nebo typ identifikátoru objektu) odkazuje na typ identity, která je udělena roli. Kromě typů DeviceId a UserDefinedFunctionId odpovídají typy identifikátorů objektů vlastnostem objektů Azure Active Directory.
Následující tabulka obsahuje podporované typy identifikátorů objektů ve službě Azure Digital Twins:
| Typ | Popis |
|---|---|
| Id uživatele | Přiřadí uživateli roli. |
| Id zařízení | Přiřadí k zařízení roli. |
| název domény | Přiřadí roli k názvu domény. Každý uživatel se zadaným názvem domény má přístupová práva odpovídající role. |
| Id nájemce | Přiřadí roli tenantovi. Každý uživatel, který patří k zadanému ID tenanta Azure AD, má přístupová práva odpovídající role. |
| ServicePrincipalId | Přiřadí roli k ID objektu zástupce služby. |
| IdUživatelskyDefinovanéFunkce | Přiřadí roli uživatelem definované funkci (UDF). |
Operace přiřazení rolí
Azure Digital Twins podporuje úplné operace CREATE, READ a DELETE pro přiřazení rolí. Operace AKTUALIZACE se zpracovávají přidáním přiřazení rolí, odebráním přiřazení rolí nebo úpravou uzlů grafu prostorové inteligence, ke kterým přiřazení rolí poskytují přístup.
Dodaná referenční dokumentace ke Swaggeru obsahuje další informace o všech dostupných koncových bodech rozhraní API, operacích požadavků a definicích.
Návod
K demonstraci sady funkcí rozhraní API je poskytován náhled Swaggeru. Hostuje se v docs.westcentralus.azuresmartspaces.net/management/swagger.
K vlastní vygenerované dokumentaci k rozhraní API pro správu Swaggeru můžete přistupovat na adrese:
https://YOUR_INSTANCE_NAME.YOUR_LOCATION.azuresmartspaces.net/management/swagger
| Název | Nahradit za |
|---|---|
| NÁZEV_VAŠEHO_INSTANCE | Název instance služby Azure Digital Twins |
| VAŠE_MÍSTO | V jaké oblasti serveru je vaše instance hostovaná |
V následujících příkladech YOUR_MANAGEMENT_API_URL odkazuje na identifikátor URI rozhraní API služby Digital Twins:
https://YOUR_INSTANCE_NAME.YOUR_LOCATION.azuresmartspaces.net/management/api/v1.0
| Název | Nahradit za |
|---|---|
| NÁZEV_VAŠEHO_INSTANCE | Název instance služby Azure Digital Twins |
| VAŠE_MÍSTO | Oblast, ve které je vaše instance hostovaná |
Udělte oprávnění vašemu služebnímu objektu
Udělení oprávnění vašemu servisnímu účtu je často jedním z prvních kroků, které provedete při práci s Azure Digital Twins. To zahrnuje:
- Přihlaste se k instanci Azure prostřednictvím Azure CLI nebo PowerShellu.
- Získání informací o hlavním objektu služby.
- Přiřazení požadované role poskytovateli služby.
ID vaší aplikace se zadává v Azure Active Directory. Další informace o konfiguraci a zřízení služby Azure Digital Twins ve službě Active Directory najdete v rychlém startu.
Jakmile budete mít ID aplikace, spusťte jeden z následujících příkazů. V Azure CLI:
az login
az ad sp show --id <ApplicationId>
V prostředí PowerShell:
Login-AzAccount
Get-AzADServicePrincipal -ApplicationId <ApplicationId>
Uživatel s rolí Správce pak může uživateli přiřadit roli Správce prostoru provedením ověřeného požadavku HTTP POST na adresu URL:
YOUR_MANAGEMENT_API_URL/roleassignments
S následujícím JSON obsahem:
{
"roleId": "98e44ad7-28d4-4007-853b-b9968ad132d1",
"objectId": "YOUR_SERVICE_PRINCIPLE_OBJECT_ID",
"objectIdType": "ServicePrincipalId",
"path": "YOUR_PATH",
"tenantId": "YOUR_TENANT_ID"
}
Načtení všech rolí
Systémové role
Pokud chcete zobrazit seznam všech dostupných rolí (definice rolí), proveďte ověřený požadavek HTTP GET na:
YOUR_MANAGEMENT_API_URL/system/roles
Úspěšný požadavek vrátí pole JSON s položkami pro každou roli, která může být přiřazena:
[
{
"id": "3cdfde07-bc16-40d9-bed3-66d49a8f52ae",
"name": "DeviceAdministrator",
"permissions": [
{
"notActions": [],
"actions": [
"Read",
"Create",
"Update",
"Delete"
],
"condition": "@Resource.Type Any_of {'Device', 'DeviceBlobMetadata', 'DeviceExtendedProperty', 'Sensor', 'SensorBlobMetadata', 'SensorExtendedProperty'} || ( @Resource.Type == 'ExtendedType' && (!Exists @Resource.Category || @Resource.Category Any_of { 'DeviceSubtype', 'DeviceType', 'DeviceBlobType', 'DeviceBlobSubtype', 'SensorBlobSubtype', 'SensorBlobType', 'SensorDataSubtype', 'SensorDataType', 'SensorDataUnitType', 'SensorPortType', 'SensorType' } ) )"
},
{
"notActions": [],
"actions": [
"Read"
],
"condition": "@Resource.Type == 'Space' && @Resource.Category == 'WithoutSpecifiedRbacResourceTypes' || @Resource.Type Any_of {'ExtendedPropertyKey', 'SpaceExtendedProperty', 'SpaceBlobMetadata', 'SpaceResource', 'Matcher'}"
}
],
"accessControlPath": "/system",
"friendlyPath": "/system",
"accessControlType": "System"
}
]
Kontrola konkrétního přiřazení role
Pokud chcete zkontrolovat konkrétní přiřazení role, proveďte ověřený požadavek HTTP GET na:
YOUR_MANAGEMENT_API_URL/roleassignments/check?userId=YOUR_USER_ID&path=YOUR_PATH&accessType=YOUR_ACCESS_TYPE&resourceType=YOUR_RESOURCE_TYPE
| Hodnota parametru | Povinné | Typ | popis |
|---|---|---|---|
| YOUR_USER_ID | Pravda | Řetězec | ObjectId pro UserId Typ objektuID. |
| VAŠE_CESTA | Pravda | Řetězec | Zvolená cesta ke kontrole přístupu. |
| TVŮJ_TYP_PŘÍSTUPU | Pravda | Řetězec | Čtení, vytváření, aktualizace nebo odstranění |
| YOUR_RESOURCE_TYPE | Pravda | Řetězec | Device, DeviceBlobMetadata, DeviceExtendedProperty, ExtendedPropertyKey, ExtendedType, Endpoint, KeyStore, Matcher, Ontology, Report, RoleDefinition, Sensor, SensorExtendedProperty, Space, SpaceBlobMetadata, SpaceExtendedProperty, SpaceResource, SpaceRoleAssignment, System, UserDefinedFunction, User, UserBlobMetadata nebo UserExtendedProperty |
Úspěšný požadavek vrátí logickou hodnotu true nebo false určí, jestli byl typ přístupu přiřazen uživateli pro danou cestu a prostředek.
Získejte přiřazení rolí podle cesty
Pokud chcete získat všechna přiřazení rolí pro cestu, proveďte ověřený požadavek HTTP GET na:
YOUR_MANAGEMENT_API_URL/roleassignments?path=YOUR_PATH
| Hodnota | Nahradit za |
|---|---|
| YOUR_PATH | Úplná cesta k prostoru |
Úspěšný požadavek vrátí pole JSON s každým přiřazením role přidruženým k vybranému parametru cesty :
[
{
"id": "0000c484-698e-46fd-a3fd-c12aa11e53a1",
"roleId": "98e44ad7-28d4-4007-853b-b9968ad132d1",
"objectId": "0de38846-1aa5-000c-a46d-ea3d8ca8ee5e",
"objectIdType": "UserId",
"path": "/"
}
]
Odvolání oprávnění
Pokud chcete odvolat oprávnění od příjemce, odstraňte přiřazení role provedením ověřeného požadavku HTTP DELETE:
YOUR_MANAGEMENT_API_URL/roleassignments/YOUR_ROLE_ASSIGNMENT_ID
| Parametr | Nahradit za |
|---|---|
| VAŠE_ID_PŘIŘAZENÍ_ROLE | ID přiřazení role, které má být odebráno |
Úspěšný požadavek DELETE vrátí stav odpovědi 204. Ověřte odebrání přiřazení role tak, že zkontrolujete, jestli přiřazení role stále platí.
Vytvořte přiřazení role
Pokud chcete vytvořit přiřazení role, proveďte ověřený požadavek HTTP POST na adresu URL:
YOUR_MANAGEMENT_API_URL/roleassignments
Ověřte, že tělo JSON odpovídá následujícímu schématu:
{
"roleId": "YOUR_ROLE_ID",
"objectId": "YOUR_OBJECT_ID",
"objectIdType": "YOUR_OBJECT_ID_TYPE",
"path": "YOUR_PATH",
"tenantId": "YOUR_TENANT_ID"
}
Úspěšný požadavek vrátí stav odpovědi 201 spolu s ID nově vytvořeného přiřazení role:
"d92c7823-6e65-41d4-aaaa-f5b32e3f01b9"
Příklady konfigurace
Následující příklady ukazují, jak nakonfigurovat tělo JSON v několika běžně používaných scénářích přiřazení rolí.
Příklad: Uživatel potřebuje administrativní přístup k nájemnímu prostoru.
{ "roleId": "98e44ad7-28d4-4007-853b-b9968ad132d1", "objectId" : " 0fc863aa-eb51-4704-a312-7d635d70e000", "objectIdType" : "UserId", "tenantId": " a0c20ae6-e830-4c60-993d-a00ce6032724", "path": "/ 000e349c-c0ea-43d4-93cf-6b00abd23a44/ d84e82e6-84d5-45a4-bd9d-006a000e3bab" }Příklad: Aplikace spouští testovací scénáře simulující zařízení a senzory.
{ "roleId": "98e44ad7-28d4-0007-853b-b9968ad132d1", "objectId" : "cabf7aaa-af0b-41c5-000a-ce2f4c20000b", "objectIdType" : "ServicePrincipalId", "tenantId": " a0c20ae6-e000-4c60-993d-a91ce6000724", "path": "/" }Příklad: Všichni uživatelé, kteří jsou součástí domény, získají přístup pro čtení prostorů, senzorů a uživatelů. Tento přístup zahrnuje odpovídající související objekty.
{ "roleId": " b1ffdb77-c635-4e7e-ad25-948237d85b30", "objectId" : "@microsoft.com", "objectIdType" : "DomainName", "path": "/000e349c-c0ea-43d4-93cf-6b00abd23a00" }
Další kroky
Pokud chcete zkontrolovat řízení přístupu na základě role v Azure Digital Twins, přečtěte si řízení přístupu na základě role.
Další informace o ověřování rozhraní API služby Azure Digital Twins si přečtěte v Ověřování rozhraní API.