创建可以访问资源的Azure Active Directory应用程序和服务主体乐鱼体育安装

在本文中,您将了解如何创建可与基于角色的访问控制一起使用的Azure Active Directory (Azure AD)应用程序和服务主体。在Azure AD中注册新应用程序时,会自动为应用程序注册创建服务主体。服务主体是应用程序在Azure AD租户中的身份。对资源的访问受到分配乐鱼体育安装给服务主体的角色的限制,从而使您可以控制哪些资源可以访问以及在哪个级别访问。出于安全原因,总是建议将服务主体与自动化工具一起使用,而不是允许它们使用用户标识登录。

在本文中,您将在Azure门户中创建单个租户应用程序。此示例适用于在一个组织内使用的业务线应用程序。你也可以使用Azure PowerShell或者是Azure CLI创建服务主体。

重要的

考虑使用Azure资源的托管身份作为应用程序标识,而不是创建服务主体。乐鱼体育安装如果您的代码运行在支持托管身份的服务上,并访问支持Azure AD身份验证的资源,则托管身份是更好的选择。乐鱼体育安装要了解有关Azure资源的托管身份的详细信息,包括当前支持哪些服务,请参阅乐鱼体育安装什么是Azure资源的托管身份?乐鱼体育安装

有关应用注册、应用对象和服务主体之间关系的更多信息,请阅读Azure Active Directory中的应用程序和服务主体对象

先决条件

要在Azure AD租户中注册应用程序,您需要:

注册应用程序所需的权限

您必须有足够的权限向Azure AD租户注册应用程序,并在Azure订阅中为该应用程序分配角色。要完成这些任务,您需要Application.ReadWrite.All许可。

使用Azure AD注册应用程序并创建服务主体

  1. 登录到Azure门户

  2. 搜索和选择Azure Active Directory

  3. 选择应用程序注册,然后选择新的注册

  4. 将应用命名为“example-app”。

  5. 选择受支持的帐户类型,它决定谁可以使用该应用程序。

  6. 重定向的URI中,选择网络要创建的应用程序类型。输入将访问令牌发送到的URI。

  7. 选择注册

    为应用程序键入一个名称。

您已经创建了Azure AD应用程序和服务主体。

为应用程序分配一个角色

要访问订阅中的资源,乐鱼体育安装必须为应用程序分配角色。确定哪个角色为应用程序提供了正确的权限。要了解可用的角色,请参见Azure内置角色

您可以在订阅、资源组或资源级别设置范围。权限被继承到范围的较低级别。

  1. 登录到Azure门户

  2. 选择您希望将应用程序分配到的作用域级别。例如,要在订阅范围内分配角色,请搜索并选择订阅。如果没有看到要查找的订阅,请选择全局订阅过滤器。确保为租户选择了所需的订阅。

  3. 选择访问控制(IAM)

  4. 选择添加,然后选择添加角色分配

  5. 角色选项卡,在列表中选择希望分配给应用程序的角色。例如,要允许应用程序执行重启、启动和停止实例等操作,请选择贡献者的角色。

  6. 选择下一个

  7. 成员选项卡。选择分配访问权限,然后选择用户、组或服务主体

  8. 选择选择成员。默认情况下,Azure AD应用程序不会显示在可用选项中。要查找应用程序,请按其名称搜索它。

  9. 选择选择按钮,然后选择评审+分配

    显示角色分配的截图。

您的服务主体已经设置好。您可以开始使用它来运行脚本或应用程序。要管理您的服务主体(权限、用户同意的权限、查看哪些用户已同意、查看权限、查看登录信息等),请转到企业应用程序

下一节将展示如何获取以编程方式登录时所需的值。

登录到应用程序

以编程方式登录时,在身份验证请求中传递租户ID和应用程序ID。您还需要证书或身份验证密钥。获取目录(租户)ID和应用ID:

  1. 搜索selectAzure Active Directory
  2. 应用程序注册在Azure AD中,选择应用程序。
  3. 在应用程序的概述页面上,复制Directory(租户)ID值并将其存储在应用程序代码中。
  4. 复制应用程序(客户端)ID值并将其存储在应用程序代码中。

设置身份验证

有两种类型的身份验证可用于服务主体:基于密码的身份验证(应用程序秘密)和基于证书的身份验证。我们建议使用证书,但您也可以创建应用程序秘密。

如果您有证书,可以使用现有的证书。可选地,您可以为。创建自签名证书仅用于测试目的。要创建自签名证书,请打开Windows PowerShell并运行New-SelfSignedCertificate使用以下参数在计算机上的用户证书存储中创建证书:

$cert=New-SelfSignedCertificate -Subject "CN=DaemonConsoleCert" -CertStoreLocation " cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature

将此证书导出到文件中管理用户证书MMC管理单元可从Windows控制面板访问。

  1. 选择运行开始菜单,然后输入certmgr.msc。出现当前用户的证书管理器工具。
  2. 要查看证书,请单击证书-当前用户在左侧窗格中展开个人目录中。
  3. 右键单击您创建的证书,选择所有任务- >出口
  4. 按照证书导出向导操作。

上传证书:

  1. 搜索并选择Azure Active Directory
  2. 应用程序注册在Azure AD中,选择应用程序。
  3. 选择证书与秘密
  4. 选择证书,然后选择上传证书然后选择证书(现有证书或导出的自签名证书)。
  5. 选择添加

在应用程序注册门户中向应用程序注册证书后,允许客户机应用程序代码使用证书。

选项2:创建一个新的应用程序秘密

如果选择不使用证书,则可以创建新的应用程序密钥。

  1. 搜索并选择Azure Active Directory
  2. 选择应用程序注册然后从列表中选择应用程序。
  3. 选择证书与秘密
  4. 选择客户的秘密,然后选择新客户端秘密
  5. 提供对秘密的描述和持续时间。
  6. 选择添加

保存客户端密钥后,将显示客户端密钥的值。复制此值,因为稍后将无法检索该键。您将提供带有应用程序ID的键值,以便作为应用程序登录。将键值存储在应用程序可以检索到的位置。

显示客户端秘密的屏幕截图。

配置资源访问策略乐鱼体育安装

您可能需要对应用程序需要访问的资源配置额外权限。乐鱼体育安装例如,你必须也更新密钥库的访问策略允许应用程序访问密钥、秘密或证书。

配置访问策略。

  1. 登录到Azure门户

  2. 选择您的密钥库并选择访问策略

  3. 选择添加访问策略,然后选择要授予应用程序的密钥、密钥和证书权限。选择前面创建的服务主体。

  4. 选择添加添加访问策略。

  5. 保存

    添加访问策略

下一个步骤