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.
Řízení přístupu na základě role v Azure (Azure RBAC) je autorizační systém, který používáte ke správě přístupu k prostředkům Azure. Pokud chcete udělit přístup, přiřaďte role uživatelům, skupinám, instančním objektům nebo spravovaným identitám v určitém oboru. Tento článek popisuje, jak přiřadit role pomocí rozhraní REST API.
Požadavky
Pokud chcete přiřazovat role Azure, musíte mít:
-
Microsoft.Authorization/roleAssignments/write
oprávnění, jako správce řízení přístupu na základě rolí nebo správce uživatelských přístupů
Musíte použít následující verze:
-
2015-07-01
nebo novější pro přiřazení role Azure -
2018-09-01-preview
or later to assign an Azure role to a new service principal
Další informace najdete v tématu Verze rozhraní API Azure RBAC REST API.
Přiřaďte roli Azure
Pokud chcete přiřadit roli, použijte přiřazení rolí – Vytvořte rozhraní REST API a zadejte objekt zabezpečení, definici role a obor. To call this API, you must have access to the Microsoft.Authorization/roleAssignments/write
action, such as Role Based Access Control Administrator.
Use the Role Definitions - List REST API or see Built-in roles to get the identifier for the role definition you want to assign.
Pomocí nástroje GUID vygenerujte jedinečný identifikátor, který se použije pro identifikátor přiřazení role. Identifikátor má formát:
00000000-0000-0000-0000-000000000000
Začněte následujícím požadavkem a textem:
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01
{ "properties": { "roleDefinitionId": "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", "principalId": "{principalId}" } }
V rámci identifikátoru URI nahraďte {scope} rozsahem přiřazení role.
Scope Typ providers/Microsoft.Management/managementGroups/{groupId1}
Skupina pro správu subscriptions/{subscriptionId1}
Předplatné subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1
Skupina zdrojů subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/microsoft.web/sites/mysite1
Zdroj V předchozím příkladu je microsoft.web poskytovatelem prostředků, který odkazuje na instanci služby App Service. Podobně můžete použít libovolné jiné poskytovatele prostředků a zadat rozsah. Další informace najdete v tématu Poskytovatelé prostředků Azure a typy a podporované operace poskytovatele prostředků Azure.
Nahraďte {roleAssignmentId} identifikátorem GUID přiřazení role.
Within the request body, replace {scope} with the same scope as in the URI.
Nahraďte {roleDefinitionId} identifikátorem definice role.
Nahraďte {principalId} identifikátorem objektu uživatele, skupiny nebo instančního objektu, který bude přiřazen roli.
The following request and body assigns the Backup Reader role to a user at subscription scope:
PUT https://management.azure.com/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId1}?api-version=2022-04-01
{
"properties": {
"roleDefinitionId": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/a795c7a0-d4a2-40c1-ae25-d81f01202912",
"principalId": "{objectId1}"
}
}
Následuje příklad výstupu:
{
"properties": {
"roleDefinitionId": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/a795c7a0-d4a2-40c1-ae25-d81f01202912",
"principalId": "{objectId1}",
"principalType": "User",
"scope": "/subscriptions/{subscriptionId1}",
"condition": null,
"conditionVersion": null,
"createdOn": "2022-05-06T23:55:23.7679147Z",
"updatedOn": "2022-05-06T23:55:23.7679147Z",
"createdBy": null,
"updatedBy": "{updatedByObjectId1}",
"delegatedManagedIdentityResourceId": null,
"description": null
},
"id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId1}",
"type": "Microsoft.Authorization/roleAssignments",
"name": "{roleAssignmentId1}"
}
New service principal
Pokud vytvoříte nový instanční objekt a okamžitě se pokusíte přiřadit roli k danému instančnímu objektu, přiřazení této role může v některých případech selhat. Pokud například vytvoříte novou spravovanou identitu a pak se pokusíte přiřadit roli k tomuto správci služeb, přiřazení role může selhat. Důvodem tohoto selhání je pravděpodobně zpoždění replikace. The service principal is created in one region; however, the role assignment might occur in a different region that hasn't replicated the service principal yet.
Pokud chcete tento scénář vyřešit, použijte přiřazení rolí – Vytvořte rozhraní REST API a nastavte vlastnost principalType
na ServicePrincipal
. You must also set the apiVersion
to 2018-09-01-preview
or later.
2022-04-01
je první stabilní verze.
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01
{
"properties": {
"roleDefinitionId": "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}",
"principalId": "{principalId}",
"principalType": "ServicePrincipal"
}
}