Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O RBAC (controle de acesso baseado em função) do Azure é o sistema de autorização usado para gerenciar o acesso aos recursos no Azure. Para conceder acesso, você atribui funções a usuários, grupos, entidades de serviço ou identidades gerenciadas em um determinado escopo. Este artigo descreve como atribuir funções usando a API REST.
Pré-requisitos
Para atribuir funções do Azure, você precisa 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 versões a seguir:
2015-07-01ou posterior para atribuir uma função do Azure2018-09-01-previewou posterior para atribuir uma função do Azure a uma nova entidade de serviço
Para obter mais informações, consulte as Versões da API das APIs REST do RBAC do Azure.
Atribuir uma função do Azure
Para criar uma atribuição de função, use a Atribuições de Função - Criar da a API REST e especifique a entidade de segurança, definição de função e escopo. Para chamar essa API, você deve ter acesso à ação, como Administrador de Microsoft.Authorization/roleAssignments/write Controle de Acesso Baseado em Função.
Use a API REST Definições de Função - Listar ou veja as Funções internas para obter o identificador da definição de função que você deseja atribuir.
Use uma ferramenta GUID para gerar um identificador exclusivo que será usado para atribuição de função personalizada. O identificador tem o formato:
00000000-0000-0000-0000-000000000000Comece com a solicitação e corpo a seguir:
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}" } }Dentro do URI, substitua {scope} pelo escopo da atribuição de função.
Escopo Tipo providers/Microsoft.Management/managementGroups/{groupId1}Grupo de gerenciamento subscriptions/{subscriptionId1}Subscription subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1Resource group 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 qualquer outro provedor de recursos e especificar o escopo. Para obter mais informações, consulte provedores de recursos e tipos do Azure e operações do provedor de recursos do Azurecom suporte.
Substitua {roleAssignmentId} pelo identificador GUID da atribuição de função.
No corpo da solicitação, substitua {scope} pelo mesmo escopo que no URI.
Substitua {roleDefinitionId} pelo identificador de definição da função.
Substitua {principalId} com o identificador de objeto do usuário, grupo ou entidade de serviço que receberá a função.
A solicitação e o corpo a seguir atribui a função de leitor de backup a um usuário no escopo da assinatura:
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}"
}
}
O texto 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}"
}
Nova entidade de serviço
Se você criar uma entidade de serviço e tentar atribuir uma função imediatamente a essa entidade de serviço, essa atribuição de função poderá falhar em alguns casos. Por exemplo, se você criar uma identidade gerenciada e tentar atribuir uma função a ela, a atribuição de função poderá falhar. Provavelmente, o motivo dessa falha é um atraso de 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 tenha replicado a entidade de serviço.
Para resolver esse cenário, use a API REST de Atribuições de função – Criar e defina a propriedade principalType como ServicePrincipal. Além disso, defina a apiVersion como 2018-09-01-preview ou posterior. 2022-04-01 é a primeira versão estável.
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"
}
}