Crear roleDefinition
Artículo 08/01/2024
13 colaboradores
Comentarios
En este artículo
Espacio de nombres: microsoft.graph
Nota: la API de Microsoft Graph para Intune requiere una licencia activa de Intune para el espacio empresarial.
Cree un objeto roleDefinition .
Esta API está disponible en las siguientes implementaciones nacionales de nube .
Servicio global
Gobierno de EE. UU. L4
Us Government L5 (DOD)
China operada por 21Vianet
✅
✅
✅
✅
Permisos
Se requiere uno de los siguientes permisos para llamar a esta API. Para obtener más información, incluido cómo elegir permisos, vea Permisos .
Tipo de permiso
Permisos (de menos a más privilegiados)
Delegado (cuenta profesional o educativa)
DeviceManagementRBAC.ReadWrite.All
Delegado (cuenta personal de Microsoft)
No admitida.
Aplicación
DeviceManagementRBAC.ReadWrite.All
Solicitud HTTP
POST /deviceManagement/roleDefinitions
Cuerpo de la solicitud
En el cuerpo de la solicitud, especifique una representación JSON del objeto roleDefinition.
En la tabla siguiente se muestran las propiedades necesarias para crear el objeto roleDefinition.
Propiedad
Tipo
Descripción
id
Cadena
Clave de la entidad. Es de solo lectura y generada automáticamente.
displayName
Cadena
Nombre para mostrar de la definición de rol.
description
Cadena
Descripción de la definición de rol.
rolePermissions
Colección rolePermission
Lista de los permisos de rol que puede realizar este rol. Estos deben coincidir con el actionName que se definió como parte de rolePermission.
isBuiltIn
Booleano
Tipo de rol. Se establece en True si está integrado o en False si es una definición de rol personalizada.
Respuesta
Si se ejecuta correctamente, este método devuelve un código de respuesta 201 Created
y un objeto roleDefinition en el cuerpo de la respuesta.
Ejemplo
Solicitud
Aquí tiene un ejemplo de la solicitud.
POST https://graph.microsoft.com/v1.0/deviceManagement/roleDefinitions
Content-type: application/json
Content-length: 580
{
"@odata.type": "#microsoft.graph.roleDefinition",
"displayName": "Display Name value",
"description": "Description value",
"rolePermissions": [
{
"@odata.type": "microsoft.graph.rolePermission",
"resourceActions": [
{
"@odata.type": "microsoft.graph.resourceAction",
"allowedResourceActions": [
"Allowed Resource Actions value"
],
"notAllowedResourceActions": [
"Not Allowed Resource Actions value"
]
}
]
}
],
"isBuiltIn": true
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new RoleDefinition
{
OdataType = "#microsoft.graph.roleDefinition",
DisplayName = "Display Name value",
Description = "Description value",
RolePermissions = new List<RolePermission>
{
new RolePermission
{
OdataType = "microsoft.graph.rolePermission",
ResourceActions = new List<ResourceAction>
{
new ResourceAction
{
OdataType = "microsoft.graph.resourceAction",
AllowedResourceActions = new List<string>
{
"Allowed Resource Actions value",
},
NotAllowedResourceActions = new List<string>
{
"Not Allowed Resource Actions value",
},
},
},
},
},
IsBuiltIn = true,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.DeviceManagement.RoleDefinitions.PostAsync(requestBody);
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider , consulte la documentación del SDK .
mgc device-management role-definitions create --body '{\
"@odata.type": "#microsoft.graph.roleDefinition",\
"displayName": "Display Name value",\
"description": "Description value",\
"rolePermissions": [\
{\
"@odata.type": "microsoft.graph.rolePermission",\
"resourceActions": [\
{\
"@odata.type": "microsoft.graph.resourceAction",\
"allowedResourceActions": [\
"Allowed Resource Actions value"\
],\
"notAllowedResourceActions": [\
"Not Allowed Resource Actions value"\
]\
}\
]\
}\
],\
"isBuiltIn": true\
}\
'
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider , consulte la documentación del SDK .
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewRoleDefinition()
displayName := "Display Name value"
requestBody.SetDisplayName(&displayName)
description := "Description value"
requestBody.SetDescription(&description)
rolePermission := graphmodels.NewRolePermission()
resourceAction := graphmodels.NewResourceAction()
allowedResourceActions := []string {
"Allowed Resource Actions value",
}
resourceAction.SetAllowedResourceActions(allowedResourceActions)
notAllowedResourceActions := []string {
"Not Allowed Resource Actions value",
}
resourceAction.SetNotAllowedResourceActions(notAllowedResourceActions)
resourceActions := []graphmodels.ResourceActionable {
resourceAction,
}
rolePermission.SetResourceActions(resourceActions)
rolePermissions := []graphmodels.RolePermissionable {
rolePermission,
}
requestBody.SetRolePermissions(rolePermissions)
isBuiltIn := true
requestBody.SetIsBuiltIn(&isBuiltIn)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
roleDefinitions, err := graphClient.DeviceManagement().RoleDefinitions().Post(context.Background(), requestBody, nil)
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider , consulte la documentación del SDK .
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
RoleDefinition roleDefinition = new RoleDefinition();
roleDefinition.setOdataType("#microsoft.graph.roleDefinition");
roleDefinition.setDisplayName("Display Name value");
roleDefinition.setDescription("Description value");
LinkedList<RolePermission> rolePermissions = new LinkedList<RolePermission>();
RolePermission rolePermission = new RolePermission();
rolePermission.setOdataType("microsoft.graph.rolePermission");
LinkedList<ResourceAction> resourceActions = new LinkedList<ResourceAction>();
ResourceAction resourceAction = new ResourceAction();
resourceAction.setOdataType("microsoft.graph.resourceAction");
LinkedList<String> allowedResourceActions = new LinkedList<String>();
allowedResourceActions.add("Allowed Resource Actions value");
resourceAction.setAllowedResourceActions(allowedResourceActions);
LinkedList<String> notAllowedResourceActions = new LinkedList<String>();
notAllowedResourceActions.add("Not Allowed Resource Actions value");
resourceAction.setNotAllowedResourceActions(notAllowedResourceActions);
resourceActions.add(resourceAction);
rolePermission.setResourceActions(resourceActions);
rolePermissions.add(rolePermission);
roleDefinition.setRolePermissions(rolePermissions);
roleDefinition.setIsBuiltIn(true);
RoleDefinition result = graphClient.deviceManagement().roleDefinitions().post(roleDefinition);
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider , consulte la documentación del SDK .
const options = {
authProvider,
};
const client = Client.init(options);
const roleDefinition = {
'@odata.type': '#microsoft.graph.roleDefinition',
displayName: 'Display Name value',
description: 'Description value',
rolePermissions: [
{
'@odata.type': 'microsoft.graph.rolePermission',
resourceActions: [
{
'@odata.type': 'microsoft.graph.resourceAction',
allowedResourceActions: [
'Allowed Resource Actions value'
],
notAllowedResourceActions: [
'Not Allowed Resource Actions value'
]
}
]
}
],
isBuiltIn: true
};
await client.api('/deviceManagement/roleDefinitions')
.post(roleDefinition);
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider , consulte la documentación del SDK .
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\RoleDefinition;
use Microsoft\Graph\Generated\Models\RolePermission;
use Microsoft\Graph\Generated\Models\ResourceAction;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new RoleDefinition();
$requestBody->setOdataType('#microsoft.graph.roleDefinition');
$requestBody->setDisplayName('Display Name value');
$requestBody->setDescription('Description value');
$rolePermissionsRolePermission1 = new RolePermission();
$rolePermissionsRolePermission1->setOdataType('microsoft.graph.rolePermission');
$resourceActionsResourceAction1 = new ResourceAction();
$resourceActionsResourceAction1->setOdataType('microsoft.graph.resourceAction');
$resourceActionsResourceAction1->setAllowedResourceActions(['Allowed Resource Actions value', ]);
$resourceActionsResourceAction1->setNotAllowedResourceActions(['Not Allowed Resource Actions value', ]);
$resourceActionsArray []= $resourceActionsResourceAction1;
$rolePermissionsRolePermission1->setResourceActions($resourceActionsArray);
$rolePermissionsArray []= $rolePermissionsRolePermission1;
$requestBody->setRolePermissions($rolePermissionsArray);
$requestBody->setIsBuiltIn(true);
$result = $graphServiceClient->deviceManagement()->roleDefinitions()->post($requestBody)->wait();
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider , consulte la documentación del SDK .
Import-Module Microsoft.Graph.DeviceManagement.Administration
$params = @{
"@odata.type" = "#microsoft.graph.roleDefinition"
displayName = "Display Name value"
description = "Description value"
rolePermissions = @(
@{
"@odata.type" = "microsoft.graph.rolePermission"
resourceActions = @(
@{
"@odata.type" = "microsoft.graph.resourceAction"
allowedResourceActions = @(
"Allowed Resource Actions value"
)
notAllowedResourceActions = @(
"Not Allowed Resource Actions value"
)
}
)
}
)
isBuiltIn = $true
}
New-MgDeviceManagementRoleDefinition -BodyParameter $params
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider , consulte la documentación del SDK .
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.role_definition import RoleDefinition
from msgraph.generated.models.role_permission import RolePermission
from msgraph.generated.models.resource_action import ResourceAction
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = RoleDefinition(
odata_type = "#microsoft.graph.roleDefinition",
display_name = "Display Name value",
description = "Description value",
role_permissions = [
RolePermission(
odata_type = "microsoft.graph.rolePermission",
resource_actions = [
ResourceAction(
odata_type = "microsoft.graph.resourceAction",
allowed_resource_actions = [
"Allowed Resource Actions value",
],
not_allowed_resource_actions = [
"Not Allowed Resource Actions value",
],
),
],
),
],
is_built_in = True,
)
result = await graph_client.device_management.role_definitions.post(request_body)
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider , consulte la documentación del SDK .
Respuesta
Aquí tiene un ejemplo de la respuesta. Nota: Es posible que el objeto de respuesta que aparezca aquí esté truncado para abreviar. Todas las propiedades se devolverán desde una llamada real.
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 629
{
"@odata.type": "#microsoft.graph.roleDefinition",
"id": "70fdcd08-cd08-70fd-08cd-fd7008cdfd70",
"displayName": "Display Name value",
"description": "Description value",
"rolePermissions": [
{
"@odata.type": "microsoft.graph.rolePermission",
"resourceActions": [
{
"@odata.type": "microsoft.graph.resourceAction",
"allowedResourceActions": [
"Allowed Resource Actions value"
],
"notAllowedResourceActions": [
"Not Allowed Resource Actions value"
]
}
]
}
],
"isBuiltIn": true
}