应用程序资源类型

命名空间: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$countConsistencyLevel 标头时,才支持 $filter$search 查询参数的特定用法。 有关详细信息,请参阅 目录对象的高级查询功能

属性 类型 Description
addIns addIn 集合 定义使用服务可用于调用特定上下文中的应用的自定义行为。 例如,可以呈现文件流的应用程序可以为其“FileHandler”功能 设置 addIns 属性 。 这样,Microsoft 365 等服务就可以在用户正在处理的文档上下文中调用应用程序。
api apiApplication 指定实现 Web API 的应用程序的设置。
appId String 通过Microsoft Entra ID 分配给应用程序的应用程序的唯一标识符。 不可为 null。 只读。 备用键。 支持 $filtereq)。
applicationTemplateId String applicationTemplate 的唯一标识符。 支持 $filtereqnotne)。 此为只读属性。 null 如果应用不是从应用程序模板创建的,则为 。
appRoles appRole 集合 为应用程序定义的角色集合。 使用应用角色分配,可将这些角色分配给与其他应用程序关联的用户、组或服务主体。 不可为空。
认证 认证 指定应用程序的认证状态。
createdDateTime DateTimeOffset 注册应用程序的日期和时间。 DateTimeOffset 表示使用 ISO 8601 格式的日期和时间信息,并且始终处于 UTC 时间。 例如,2014 年 1 月 1 日午夜 UTC 为 2014-01-01T00:00:00Z。 只读。

支持 $filter (eqnenotgeleinnull 值上的 eq) 和 $orderby
deletedDateTime DateTimeOffset 删除应用程序的日期和时间。 DateTimeOffset 表示使用 ISO 8601 格式的日期和时间信息,并且始终处于 UTC 时间。 例如,2014 年 1 月 1 日午夜 UTC 为 2014-01-01T00:00:00Z。 只读。
说明 String 用于向最终用户提供应用程序对象说明的空闲文本字段。 允许的最大大小为 1,024 个字符。 支持 $filtereqnenotgelestartsWith)和 $search
disabledByMicrosoftStatus String 指定 Microsoft 是否已禁用已注册应用程序。 可能的值为: null (默认值) NotDisabled, (DisabledDueToViolationOfServicesAgreement 原因包括可疑、滥用或恶意活动,或违反Microsoft服务协议) 。

支持 $filtereqnenot)。
displayName String 应用程序的显示名称。 支持 $filter (eqnenotgeleinstartsWithnull 值上的 eq)、$search$orderby
groupMembershipClaims String 配置应用程序所需的用户访问令牌或 OAuth 2.0 访问令牌中颁发的 groups 声明。 若要设置此属性,请使用以下有效字符串值之一: NoneSecurityGroup (安全组和Microsoft Entra 角色) , All (这会获取登录用户是) 成员的所有安全组、通讯组和Microsoft Entra 目录角色。
id 字符串 应用程序对象的唯一标识符。 此属性在 Entra 管理中心Microsoft称为 对象 ID 。 继承自 directoryObject。 键。 不可为 null。 只读。 支持 $filtereqnenotin)。
identifierUris String collection 也称为应用 ID URI,此值在将应用程序用作资源应用时设置。 identifierUris 充当在 API 代码中引用的范围的前缀,并且必须全局唯一。 可以使用提供的默认值(采用 api://<appId> 形式)或指定更具有可读性的 URI(如 https://contoso.com/api)。 有关有效 identifierUris 模式和最佳做法的详细信息,请参阅 Microsoft Entra 应用程序注册安全最佳做法。 不可为 null。

支持 $filtereqnegelestartsWith)。
info informationalUrl 应用程序的基本配置文件信息,例如应用的营销、支持、服务条款和隐私声明 URL。 服务条款和隐私声明通过用户同意体验展示给用户。 有关详细信息,请参阅如何: 为已注册的 Microsoft Entra 应用添加服务条款和隐私声明

支持 $filter (eqnenotgelenull 值上的 eq)。
isDeviceOnlyAuthSupported 布尔值 指定此应用程序是否支持在无用户的情况下进行设备身份验证。 默认值为 false
isFallbackPublicClient Boolean 将回退应用程序类型指定为公共客户端,例如在移动设备上运行的已安装应用程序。 默认值 false为 ,这意味着回退应用程序类型是机密客户端,例如 Web 应用。 在某些情况下,Microsoft Entra ID 无法确定客户端应用程序类型。 例如,在未指定重定向 URI 的情况下配置它的 ROPC 流。 在这些情况下,Microsoft Entra ID 基于此属性的值解释应用程序类型。
keyCredentials keyCredential 集合 与应用程序关联的密钥凭据集合。 不可为 null。 支持 $filtereqnotgele)。
logo Stream 应用程序的主徽标。 不可为空。
nativeAuthenticationApisEnabled nativeAuthenticationApisEnabled 指定是否为应用程序启用本机身份验证 API。 可能的值为: noneall。 默认值为“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 应用程序的已验证发布者域。 只读。 有关更多信息,请参阅操作指南:配置应用程序的发布者域。 支持 $filtereqnegelestartsWith)。
requestSignatureVerification requestSignatureVerification 指定此应用程序是否需要Microsoft Entra ID 来验证签名的身份验证请求。
requiredResourceAccess requiredResourceAccess 集合 指定应用程序需要访问的资源。 此属性还指定每个资源所需的委派权限和应用程序角色的集合。 该配置对所需的资源的访问将推动许可体验。

可配置的资源服务 (API) 不能超过 50 个。 从 2021 年 10 月中旬开始,所需权限总数不得超过 400 个。 有关详细信息,请参阅 对每个应用请求的权限的限制。 不可为 null。

支持 $filtereqnotgele)。
samlMetadataUrl String 服务用于公开联合身份验证的 SAML 元数据的 URL。 此属性仅对单租户应用程序有效。 可为 Null。
serviceManagementReference 字符串 引用服务或资产管理数据库中的应用程序或服务联系人信息。 可为 NULL。
servicePrincipalLockConfiguration servicePrincipalLockConfiguration 指定在租户中预配应用程序后,是否应锁定多租户应用程序的敏感属性以供编辑。 可为 NULL。 null 默认情况下。
signInAudience String 指定当前应用程序支持的 Microsoft 帐户。 可能的值为: AzureADMyOrg (默认) 、 AzureADMultipleOrgsAzureADandPersonalMicrosoftAccountPersonalMicrosoftAccount。 有关详细信息,请参阅 表格

此对象的值还限制应用可以请求的权限数。 有关详细信息,请参阅 对每个应用请求的权限的限制

此属性的值对其他应用对象属性具有影响。 因此,如果更改此属性,可能需要先更改其他属性。 有关详细信息,请参阅 signInAudience 的验证差异

支持 $filtereqnenot)。
spa spaApplication 指定单页应用程序的设置,包括注销 URL 并重定向授权代码和访问令牌的 URI。
标记 String 集合 可用于分类和标识应用程序的自定义字符串。 不可为空。 此处添加的字符串也将显示在任何关联的服务主体tags 属性中。

支持 $filter (eqnot、、 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$countConsistencyLevel 标头时,才支持查询参数的特定用法$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"}
}