Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O controle de acesso baseado em função do Azure (Azure RBAC) é o sistema de autorização que você usa para gerenciar o acesso aos recursos do Azure. Para conceder acesso, atribua funções a usuários, grupos, entidades de serviço ou identidades gerenciadas em um escopo específico. Este artigo descreve como atribuir funções usando a API REST.
Pré-requisitos
Para atribuir funções do Azure, você deve ter:
-
Microsoft.Authorization/roleAssignments/writepermissões, como Administrador de Controle de Acesso Baseado em Função ou Administrador de Acesso de Usuário
Você deve usar as seguintes versões:
-
2015-07-01or later to assign an Azure role -
2018-09-01-previewor later to assign an Azure role to a new service principal
Para mais informações, consulte as versões das APIs REST do Azure RBAC.
Atribuir uma função do Azure
To assign a role, use the Role Assignments - Create REST API and specify the security principal, role definition, and scope. Para chamar esta API, deve ter acesso à ação Microsoft.Authorization/roleAssignments/write, como Administrador de Controle de Acesso Baseado em Função.
Utilize o API REST Definições de Função - Listar ou consulte Funções Integradas para obter o identificador da definição de função que deseja atribuir.
Use uma ferramenta GUID para gerar um identificador exclusivo que será usado para o identificador de atribuição de função. O identificador tem o formato:
00000000-0000-0000-0000-000000000000Comece com o pedido e conteúdo seguintes:
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}" } }No URI, substitua {scope} pelo escopo da atribuição de função.
Âmbito de aplicação Tipo providers/Microsoft.Management/managementGroups/{groupId1}Grupo de gestão subscriptions/{subscriptionId1}Subscrição subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1Grupo de recursos subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/microsoft.web/sites/mysite1Recurso No exemplo anterior, microsoft.web é um provedor de recursos que se refere a uma instância do Serviço de Aplicativo. Da mesma forma, você pode usar quaisquer outros provedores de recursos e especificar o escopo. Para obter mais informações, consulte Provedores e tipos de recursos do Azure e operações de provedor de recursos do Azure com suporte.
Substitua {roleAssignmentId} pelo identificador GUID da atribuição de função.
No corpo da solicitação, substitua {scope} pelo mesmo escopo do URI.
Substitua {roleDefinitionId} pelo identificador de definição de função.
Replace {principalId} with the object identifier of the user, group, or service principal that will be assigned the role.
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}"
}
}
A seguir mostra um exemplo da saída:
{
"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}"
}
Novo service principal
Se você criar uma nova entidade de serviço e tentar atribuir imediatamente uma função a essa entidade de serviço, essa atribuição de função poderá falhar em alguns casos. Por exemplo, se você criar uma nova identidade gerenciada e, em seguida, tentar atribuir uma função a essa entidade de serviço, a atribuição de função poderá falhar. A razão para essa falha é provavelmente um atraso na replicação. A entidade de serviço é criada em uma região; no entanto, a atribuição de função pode ocorrer em uma região diferente que ainda não replicou a entidade de serviço.
Para resolver este cenário, use a API REST Atribuições de Função - Criar e defina a propriedade principalType como ServicePrincipal. You must also set the apiVersion to 2018-09-01-preview or later.
2022-04-01 is the first stable version.
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"
}
}
Próximos passos
- Listar atribuições de função do Azure usando a API REST
- Implantar recursos com modelos do Resource Manager e a API REST do Resource Manager
- Referência à API REST do Azure
- Criar ou atualizar funções personalizadas do Azure usando a API REST