获取 directoryRole
本文内容
命名空间:microsoft.graph
重要
Microsoft Graph /beta
版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
检索 directoryRole 对象的属性。
可以将 directoryRole 的对象 ID 和模板 ID 用于此 API。 内置角色的模板 ID 是不可变的,可以在Microsoft Entra 管理中心上的角色说明中看到。 有关详细信息,请参阅 角色模板 ID 。
此 API 可用于以下国家级云部署 。
全局服务
美国政府 L4
美国政府 L5 (DOD)
由世纪互联运营的中国
✅
✅
✅
✅
权限
为此 API 选择标记为最低特权的权限。 只有在应用需要它时 ,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型 。 要了解有关这些权限的详细信息,请参阅 权限参考 。
权限类型
最低特权权限
更高特权权限
委派(工作或学校帐户)
RoleManagement.Read.Directory
Directory.Read.All、Directory.ReadWrite.All、RoleManagement.ReadWrite.Directory
委派(个人 Microsoft 帐户)
不支持。
不支持。
应用程序
RoleManagement.Read.Directory
Directory.Read.All、Directory.ReadWrite.All、RoleManagement.ReadWrite.Directory
对于委托方案,调用用户必须是成员用户或至少具有以下Microsoft Entra角色 之一:
用户管理员
帮助台管理员
服务支持管理员
帐务管理员
用户
邮箱管理员
目录读取器
目录作者
应用程序管理员
安全读取者
安全管理员
特权角色管理员
云 应用程序管理员
客户密码箱访问审批者
Dynamics 365管理员
Power BI 管理员
Azure 信息保护管理员
桌面分析管理员
许可证管理员
Microsoft 托管桌面管理员
身份验证管理员
特权身份验证管理员
Teams 通信管理员
Teams 通信支持工程师
Teams 通信支持专家
Teams 管理员
Insights 管理员
合规数据管理员
安全操作员
Kaizala 管理员
全局读取者
批量许可业务中心用户
批量许可服务中心用户
新式商务管理员
适用于企业的 Microsoft Store用户
目录审阅者
HTTP 请求
可以使用目录角色 ID 或 roleTemplateId 来寻址目录角色。
GET /directoryRoles/{role-id}
GET /directoryRoles(roleTemplateId='{roleTemplateId}')
可选的查询参数
此方法支持 $select
OData 查询参数 来帮助自定义响应。
名称
说明
Authorization
持有者 {token}。 必填。 详细了解 身份验证和授权 。
请求正文
请勿提供此方法的请求正文。
响应
如果成功,此方法在响应正文中返回 200 OK
响应代码和 directoryRole 对象。
示例
示例 1:使用角色 ID 获取目录角色的定义
请求
以下示例显示了一个请求。
GET https://graph.microsoft.com/beta/directoryRoles/fe8f10bf-c9c2-47eb-95cb-c26cc85f1830
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.DirectoryRoles["{directoryRole-id}"].GetAsync();
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc-beta directory-roles get --directory-role-id {directoryRole-id}
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
//other-imports
)
graphClient := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
directoryRoles, err := graphClient.DirectoryRoles().ByDirectoryRoleId("directoryRole-id").Get(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
DirectoryRole result = graphClient.directoryRoles().byDirectoryRoleId("{directoryRole-id}").get();
const options = {
authProvider,
};
const client = Client.init(options);
let directoryRole = await client.api('/directoryRoles/fe8f10bf-c9c2-47eb-95cb-c26cc85f1830')
.version('beta')
.get();
<?php
use Microsoft\Graph\GraphServiceClient;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$result = $graphServiceClient->directoryRoles()->byDirectoryRoleId('directoryRole-id')->get()->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
Get-MgBetaDirectoryRole -DirectoryRoleId $directoryRoleId
from msgraph import GraphServiceClient
graph_client = GraphServiceClient(credentials, scopes)
result = await graph_client.directory_roles.by_directory_role_id('directoryRole-id').get()
响应
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#directoryRoles/$entity",
"id": "fe8f10bf-c9c2-47eb-95cb-c26cc85f1830",
"deletedDateTime": null,
"description": "Can read basic directory information. Commonly used to grant directory read access to applications and guests.",
"displayName": "Directory Readers",
"roleTemplateId": "88d8e3e3-8f55-4a1e-953a-9b9898b8876b"
}
示例 2:使用 roleTemplateId 获取目录角色的定义
请求
以下示例显示了一个请求。
GET https://graph.microsoft.com/beta/directoryRoles(roleTemplateId='88d8e3e3-8f55-4a1e-953a-9b9898b8876b')
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.DirectoryRolesWithRoleTemplateId("{roleTemplateId}").GetAsync();
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc-beta directory-roles-with-role-template-id get --role-template-id {role-template-id}
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
//other-imports
)
graphClient := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
roleTemplateId := "{roleTemplateId}"
directoryRoles, err := graphClient.DirectoryRolesWithRoleTemplateId(&roleTemplateId).Get(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
DirectoryRole result = graphClient.directoryRolesWithRoleTemplateId("{roleTemplateId}").get();
<?php
use Microsoft\Graph\GraphServiceClient;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$result = $graphServiceClient->directoryRolesWithRoleTemplateId('{roleTemplateId}', )->get()->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
Get-MgBetaDirectoryRoleByRoleTemplateId
from msgraph import GraphServiceClient
graph_client = GraphServiceClient(credentials, scopes)
result = await graph_client.directory_roles_with_role_template_id("{roleTemplateId}").get()
响应
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#directoryRoles/$entity",
"id": "fe8f10bf-c9c2-47eb-95cb-c26cc85f1830",
"deletedDateTime": null,
"description": "Can read basic directory information. Commonly used to grant directory read access to applications and guests.",
"displayName": "Directory Readers",
"roleTemplateId": "88d8e3e3-8f55-4a1e-953a-9b9898b8876b"
}