应用程序资源类型
命名空间:microsoft.graph
表示应用程序。 必须将身份验证外包给 Microsoft Entra ID 的任何应用程序都必须在Microsoft标识平台中注册。 应用程序注册涉及告知Microsoft Entra ID 有关应用程序的信息,包括应用程序所在的 URL、身份验证后发送答复的 URL、用于标识应用程序的 URI 等。
继承自 directoryObject。
此资源是允许传入其他属性的开放类型。
该资源支持:
- 将你自己的数据作为扩展添加到自定义属性。
- 通过提供 delta 函数,使用 delta 查询跟踪增量添加、删除和更新。
- 备用键语法。 属性
appId
是支持的备用键。 有关详细信息,请参阅 获取应用程序。
方法
方法 | 返回类型 | Description |
---|---|---|
List | application 集合 | 检索该组织中应用程序的列表。 |
创建 | application | 创建(注册)新应用程序。 |
Get | application | 读取 application 对象的属性和关系。 |
更新 | 无 | 更新 application 对象。 |
Upsert | application | 如果不存在,请创建一个新应用程序,或更新现有应用程序的属性。 |
删除 | 无 | 删除 application 对象。 |
Get delta | application | 获得新建、更新或删除的应用,无需完全读取整个资源集合。 |
已删除项目 | ||
List | directoryObject 集合 | 检索最近删除的应用程序的列表。 |
Get | directoryObject | 检索最近删除的应用程序的属性。 |
还原 | directoryObject | 还原最近删除的应用程序。 |
永久删除 | None | 永久删除应用程序。 |
列出用户拥有的已删除项目 | directoryObject collection | 检索租户中最近 30 天内删除的应用程序以及用户拥有的应用程序。 |
证书和密码 | ||
添加密码 | passwordCredential | 向应用程序添加强密码。 |
删除密码 | passwordCredential | 从应用程序删除密码。 |
加号键 | keyCredential | 向应用程序添加密钥凭据。 |
删除键 | 无 | 从应用程序中删除密钥凭据。 |
Owners | ||
List | directoryObject collection | 获取应用程序的所有者。 |
添加 | directoryObject | 将所有者分配到应用程序。 应用程序所有者可以是用户或服务主体。 |
Remove | 无 | 从应用程序删除所有者。 作为建议的最佳做法,应用应至少有两个所有者。 |
已验证发布者 | ||
Set | 无 | 设置应用程序的已验证发布者。 |
未凝固的 | 无 | 取消设置应用程序的已验证发布者。 |
属性
重要
仅当使用设置为 eventual
和 $count
的 ConsistencyLevel 标头时,才支持 $filter
和 $search
查询参数的特定用法。 有关详细信息,请参阅 目录对象的高级查询功能。
属性 | 类型 | Description |
---|---|---|
addIns | addIn 集合 | 定义使用服务可用于调用特定上下文中的应用的自定义行为。 例如,可以呈现文件流的应用程序可以为其“FileHandler”功能 设置 addIns 属性 。 这样,Microsoft 365 等服务就可以在用户正在处理的文档上下文中调用应用程序。 |
api | apiApplication | 指定实现 Web API 的应用程序的设置。 |
appId | String | 通过Microsoft Entra ID 分配给应用程序的应用程序的唯一标识符。 不可为 null。 只读。 备用键。 支持 $filter (eq )。 |
applicationTemplateId | String |
applicationTemplate 的唯一标识符。 支持 $filter (eq 、not 、ne )。 此为只读属性。
null 如果应用不是从应用程序模板创建的,则为 。 |
appRoles | appRole 集合 | 为应用程序定义的角色集合。 使用应用角色分配,可将这些角色分配给与其他应用程序关联的用户、组或服务主体。 不可为空。 |
认证 | 认证 | 指定应用程序的认证状态。 |
createdDateTime | DateTimeOffset | 注册应用程序的日期和时间。 DateTimeOffset 表示使用 ISO 8601 格式的日期和时间信息,并且始终处于 UTC 时间。 例如,2014 年 1 月 1 日午夜 UTC 为 2014-01-01T00:00:00Z 。 只读。 支持 $filter (eq 、ne 、not 、ge 、le 、in 和 null 值上的 eq ) 和 $orderby 。 |
deletedDateTime | DateTimeOffset | 删除应用程序的日期和时间。 DateTimeOffset 表示使用 ISO 8601 格式的日期和时间信息,并且始终处于 UTC 时间。 例如,2014 年 1 月 1 日午夜 UTC 为 2014-01-01T00:00:00Z 。 只读。 |
说明 | String | 用于向最终用户提供应用程序对象说明的空闲文本字段。 允许的最大大小为 1,024 个字符。 支持 $filter (eq 、ne 、not 、ge 、le 、startsWith )和 $search 。 |
disabledByMicrosoftStatus | String | 指定 Microsoft 是否已禁用已注册应用程序。 可能的值为: null (默认值) NotDisabled , (DisabledDueToViolationOfServicesAgreement 原因包括可疑、滥用或恶意活动,或违反Microsoft服务协议) 。 支持 $filter (eq 、ne 、not )。 |
displayName | String | 应用程序的显示名称。 支持 $filter (eq 、ne 、not 、ge 、le 、in 、startsWith 和 null 值上的 eq )、$search 和 $orderby 。 |
groupMembershipClaims | String | 配置应用程序所需的用户访问令牌或 OAuth 2.0 访问令牌中颁发的 groups 声明。 若要设置此属性,请使用以下有效字符串值之一: None 、 SecurityGroup (安全组和Microsoft Entra 角色) , All (这会获取登录用户是) 成员的所有安全组、通讯组和Microsoft Entra 目录角色。 |
id | 字符串 | 应用程序对象的唯一标识符。 此属性在 Entra 管理中心Microsoft称为 对象 ID 。 继承自 directoryObject。 键。 不可为 null。 只读。 支持 $filter (eq 、 ne 、 not 、 in )。 |
identifierUris | String collection | 也称为应用 ID URI,此值在将应用程序用作资源应用时设置。 identifierUris 充当在 API 代码中引用的范围的前缀,并且必须全局唯一。 可以使用提供的默认值(采用 api://<appId> 形式)或指定更具有可读性的 URI(如 https://contoso.com/api )。 有关有效 identifierUris 模式和最佳做法的详细信息,请参阅 Microsoft Entra 应用程序注册安全最佳做法。 不可为 null。 支持 $filter (eq 、ne 、ge 、le 、startsWith )。 |
info | informationalUrl | 应用程序的基本配置文件信息,例如应用的营销、支持、服务条款和隐私声明 URL。 服务条款和隐私声明通过用户同意体验展示给用户。 有关详细信息,请参阅如何: 为已注册的 Microsoft Entra 应用添加服务条款和隐私声明。 支持 $filter (eq 、ne 、not 、ge 、le 和 null 值上的 eq )。 |
isDeviceOnlyAuthSupported | 布尔值 | 指定此应用程序是否支持在无用户的情况下进行设备身份验证。 默认值为 false 。 |
isFallbackPublicClient | Boolean | 将回退应用程序类型指定为公共客户端,例如在移动设备上运行的已安装应用程序。 默认值 false 为 ,这意味着回退应用程序类型是机密客户端,例如 Web 应用。 在某些情况下,Microsoft Entra ID 无法确定客户端应用程序类型。 例如,在未指定重定向 URI 的情况下配置它的 ROPC 流。 在这些情况下,Microsoft Entra ID 基于此属性的值解释应用程序类型。 |
keyCredentials | keyCredential 集合 | 与应用程序关联的密钥凭据集合。 不可为 null。 支持 $filter (eq 、not 、ge 、le )。 |
logo | Stream | 应用程序的主徽标。 不可为空。 |
nativeAuthenticationApisEnabled | nativeAuthenticationApisEnabled | 指定是否为应用程序启用本机身份验证 API。 可能的值为: none 和 all 。 默认值为“none ”。 有关详细信息,请参阅 本机身份验证。 |
notes | String | 与应用程序管理相关的备注。 |
oauth2RequiredPostResponse | Boolean | 指定作为 OAuth 2.0 令牌请求的一部分,Microsoft Entra ID 是否允许 POST 请求,而不是 GET 请求。 默认值为 false ,即指定只允许 GET 请求。 |
optionalClaims | optionalClaims | 应用程序开发人员可以在其 Microsoft Entra 应用程序中配置可选声明,以指定Microsoft安全令牌服务发送到其应用程序的声明。 有关详细信息,请参阅如何向你的应用提供可选声明。 |
parentalControlSettings | parentalControlSettings | 指定应用程序的家长控制设置。 |
passwordCredentials | passwordCredential 集合 | 与应用程序关联的密码凭据集合。 不可为 Null。 |
publicClient | publicClientApplication | 指定已安装客户端(如台式设备或移动设备)的设置。 |
publisherDomain | String | 应用程序的已验证发布者域。 只读。 有关更多信息,请参阅操作指南:配置应用程序的发布者域。 支持 $filter (eq 、ne 、ge 、le 、startsWith )。 |
requestSignatureVerification | requestSignatureVerification | 指定此应用程序是否需要Microsoft Entra ID 来验证签名的身份验证请求。 |
requiredResourceAccess | requiredResourceAccess 集合 | 指定应用程序需要访问的资源。 此属性还指定每个资源所需的委派权限和应用程序角色的集合。 该配置对所需的资源的访问将推动许可体验。 可配置的资源服务 (API) 不能超过 50 个。 从 2021 年 10 月中旬开始,所需权限总数不得超过 400 个。 有关详细信息,请参阅 对每个应用请求的权限的限制。 不可为 null。 支持 $filter (eq 、not 、ge 、le )。 |
samlMetadataUrl | String | 服务用于公开联合身份验证的 SAML 元数据的 URL。 此属性仅对单租户应用程序有效。 可为 Null。 |
serviceManagementReference | 字符串 | 引用服务或资产管理数据库中的应用程序或服务联系人信息。 可为 NULL。 |
servicePrincipalLockConfiguration | servicePrincipalLockConfiguration | 指定在租户中预配应用程序后,是否应锁定多租户应用程序的敏感属性以供编辑。 可为 NULL。
null 默认情况下。 |
signInAudience | String | 指定当前应用程序支持的 Microsoft 帐户。 可能的值为: AzureADMyOrg (默认) 、 AzureADMultipleOrgs AzureADandPersonalMicrosoftAccount 和 PersonalMicrosoftAccount 。 有关详细信息,请参阅 表格。 此对象的值还限制应用可以请求的权限数。 有关详细信息,请参阅 对每个应用请求的权限的限制。 此属性的值对其他应用对象属性具有影响。 因此,如果更改此属性,可能需要先更改其他属性。 有关详细信息,请参阅 signInAudience 的验证差异。 支持 $filter (eq 、ne 、not )。 |
spa | spaApplication | 指定单页应用程序的设置,包括注销 URL 并重定向授权代码和访问令牌的 URI。 |
标记 | String 集合 | 可用于分类和标识应用程序的自定义字符串。 不可为空。 此处添加的字符串也将显示在任何关联的服务主体的 tags 属性中。 支持 $filter (eq 、not 、、 startsWith le ge ) 和 $search 。 |
tokenEncryptionKeyId | String | 指定 keyCredentials 集合中的公共密钥的 keyId。 配置后,Microsoft Entra ID 使用此属性指向的密钥加密它发出的所有令牌。 接收加密令牌的应用程序代码必须先使用匹配的私钥来解密该令牌,然后才能将该令牌用于登录用户。 |
唯一名称 | String | 可分配给应用程序并用作备用键的唯一标识符。 不可变。 只读。 |
verifiedPublisher | verifiedPublisher | 指定已验证的应用程序发布者。 有关发布者验证如何帮助支持应用程序安全性、可信度和合规性的详细信息,请参阅 发布者验证。 |
web | webApplication | 指定 Web 应用程序的设置。 |
signInAudience 值
值 | 说明 |
---|---|
AzureADMyOrg | 在组织的 Microsoft Entra 租户中具有Microsoft工作或学校帐户的用户 (单个租户) 。 这是 signInAudience 属性的默认值。 |
AzureADMultleOrgs | 在任何组织的 Microsoft Entra 租户中具有Microsoft工作或学校帐户的用户 (多租户) 。 |
AzureADandPersonalMicrosoftAccount | 在任何组织的 Microsoft Entra 租户中具有个人Microsoft帐户或工作或学校帐户的用户。 要使用 Azure Active Directory B2C 用户流程对用户进行身份验证,请使用 AzureADandPersonalMicrosoftAccount 。 该值允许最广泛的用户标识集,包括本地账户和 Microsoft、Facebook、谷歌、Twitter 或任何 OpenID Connect 提供商的用户标识。 |
PersonalMicrosoftAccount | 仅具有个人 Microsoft 帐户的用户。 |
每个应用请求的权限限制
Microsoft Entra ID 限制客户端应用可以请求和同意的权限数。 这些限制取决于 signInAudience
应用的值,如 应用清单中所示。
signInAudience | 允许的用户 | 应用可以请求的最大权限 | 应用可以请求的最大 Microsoft Graph 权限 | 单个请求中可同意的最大权限 |
---|---|---|---|---|
AzureADMyOrg | 注册应用的组织中的用户 | 400 | 400 | 大约 155 个委派权限和大约 300 个应用程序权限 |
AzureADMultleOrgs | 任何Microsoft Entra 组织中的用户 | 400 | 400 | 大约 155 个委派权限和大约 300 个应用程序权限 |
PersonalMicrosoftAccount | 消费者用户(如 Outlook.com 或 Live.com 帐户) | 30 | 30 | 30 |
AzureADandPersonalMicrosoftAccount | 使用者用户和来自任何Microsoft Entra 组织的用户 | 30 | 30 | 30 |
关系
重要
仅当使用设置为 eventual
和 $count
的 ConsistencyLevel 标头时,才支持查询参数的特定用法$filter
。 有关详细信息,请参阅 目录对象的高级查询功能。
关系 | 类型 | 说明 |
---|---|---|
appManagementPolicies | appManagementPolicy 集合 | 应用到此应用程序的 appManagementPolicy。 |
createdOnBehalfOf | directoryObject | 支持 $filter (/$count eq 0 、/$count ne 0 )。 只读。 |
extensionProperties | extensionProperty 集合 | 只读。 可为 NULL。 支持 $expand 和 $filter (/$count eq 0 、 /$count ne 0 ) 。 |
federatedIdentityCredentials | federatedIdentityCredential 集合 | 应用程序的联合标识。 支持 $expand 和 $filter (startsWith 、 /$count eq 0 /$count ne 0 ) 。 |
owners | directoryObject 集合 | 拥有此应用程序的目录对象。 只读。 可为 NULL。 支持 $expand 、 $filter (/$count eq 0 、 /$count ne 0 、 /$count eq 1 、 /$count ne 1 ) 和 $select 嵌套在 中 $expand 。 |
同步 | 同步 | 表示通过 Microsoft 图形 API Microsoft Entra 标识同步的功能。 |
JSON 表示形式
以下 JSON 表示形式显示了资源类型。
{
"addIns": [{"@odata.type": "microsoft.graph.addIn"}],
"api": {"@odata.type": "microsoft.graph.apiApplication"},
"appId": "String",
"applicationTemplateId": "String",
"appRoles": [{"@odata.type": "microsoft.graph.appRole"}],
"certification": {"@odata.type": "microsoft.graph.certification"},
"createdDateTime": "String (timestamp)",
"deletedDateTime": "String (timestamp)",
"disabledByMicrosoftStatus": "String",
"displayName": "String",
"groupMembershipClaims": "String",
"id": "String (identifier)",
"identifierUris": ["String"],
"info": {"@odata.type": "microsoft.graph.informationalUrl"},
"isDeviceOnlyAuthSupported": false,
"isFallbackPublicClient": false,
"keyCredentials": [{"@odata.type": "microsoft.graph.keyCredential"}],
"logo": "Stream",
"nativeAuthenticationApisEnabled": "String",
"notes": "String",
"oauth2RequiredPostResponse": false,
"optionalClaims": {"@odata.type": "microsoft.graph.optionalClaims"},
"parentalControlSettings": {"@odata.type": "microsoft.graph.parentalControlSettings"},
"passwordCredentials": [{"@odata.type": "microsoft.graph.passwordCredential"}],
"publicClient": {"@odata.type": "microsoft.graph.publicClientApplication"},
"publisherDomain": "String",
"requestSignatureVerification": {"@odata.type": "microsoft.graph.requestSignatureVerification"},
"requiredResourceAccess": [{"@odata.type": "microsoft.graph.requiredResourceAccess"}],
"servicePrincipalLockConfiguration": {"@odata.type": "microsoft.graph.servicePrincipalLockConfiguration"},
"serviceManagementReference": "String",
"signInAudience": "String",
"spa": {"@odata.type": "microsoft.graph.spaApplication"},
"tags": ["String"],
"tokenEncryptionKeyId": "String",
"uniqueName": "String",
"verifiedPublisher": {"@odata.type": "microsoft.graph.verifiedPublisher"},
"web": {"@odata.type": "microsoft.graph.webApplication"}
}