命名空间: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。 只读。 |
| description | String | 用于向最终用户提供应用程序对象说明的空闲文本字段。 允许的最大大小为 1,024 个字符。 支持 $filter(eq、ne、not、ge、le、startsWith)和 $search。 |
| disabledByMicrosoftStatus | String | 指定 Microsoft 是否已禁用已注册应用程序。 可能的值为: null (默认值) NotDisabled, (DisabledDueToViolationOfServicesAgreement 原因包括可疑、滥用或恶意活动,或违反Microsoft服务协议) 。 支持 $filter(eq、ne、not)。 |
| displayName | String | 应用程序的显示名称。 最大长度为 256 个字符。 支持 $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 | 字符串 | 应用程序对象的唯一标识符。 此属性在Microsoft Entra 管理中心中称为“对象 ID”。 继承自 directoryObject。 键。 不可为 null。 只读。 支持 $filter (eq、 ne、 not、 in)。 |
| identifierUris | String collection | 也称为应用 ID URI,此值在将应用程序用作资源应用时设置。 identifierUris 充当在 API 代码中引用的范围的前缀,并且必须在Microsoft Entra ID中全局唯一。 有关有效 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 (默认) 、 AzureADMultipleOrgsAzureADandPersonalMicrosoftAccount和 PersonalMicrosoftAccount。 有关详细信息,请参阅 表格。 此对象的值还限制应用可以请求的权限数。 有关详细信息,请参阅 对每个应用请求的权限的限制。 此属性的值对其他应用对象属性具有影响。 因此,如果更改此属性,可能需要先更改其他属性。 有关详细信息,请参阅 signInAudience 的验证差异。 支持 $filter(eq、ne、not)。 |
| spa | spaApplication | 指定单页应用程序的设置,包括注销 URL 并重定向授权代码和访问令牌的 URI。 |
| 标记 | String 集合 | 可用于分类和标识应用程序的自定义字符串。 不可为空。 此处添加的字符串也将显示在任何关联的服务主体的 tags 属性中。 支持 $filter (eq、not、、 startsWithlege) 和 $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 collection | 作为此应用程序所有者的目录对象。 所有者是一组允许修改此对象的非管理员用户或服务主体。 支持 $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"}
}