创建可以访问资源的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 AD租户注册应用程序,并在Azure订阅中为该应用程序分配角色。要完成这些任务,您需要Application.ReadWrite.All
许可。
使用Azure AD注册应用程序并创建服务主体
登录到Azure门户。
搜索和选择Azure Active Directory。
选择应用程序注册,然后选择新的注册。
将应用命名为“example-app”。
选择受支持的帐户类型,它决定谁可以使用该应用程序。
下重定向的URI中,选择网络要创建的应用程序类型。输入将访问令牌发送到的URI。
选择注册。
您已经创建了Azure AD应用程序和服务主体。
为应用程序分配一个角色
要访问订阅中的资源,乐鱼体育安装必须为应用程序分配角色。确定哪个角色为应用程序提供了正确的权限。要了解可用的角色,请参见Azure内置角色。
您可以在订阅、资源组或资源级别设置范围。权限被继承到范围的较低级别。
登录到Azure门户。
选择您希望将应用程序分配到的作用域级别。例如,要在订阅范围内分配角色,请搜索并选择订阅。如果没有看到要查找的订阅,请选择全局订阅过滤器。确保为租户选择了所需的订阅。
选择访问控制(IAM)。
选择添加,然后选择添加角色分配。
在角色选项卡,在列表中选择希望分配给应用程序的角色。例如,要允许应用程序执行重启、启动和停止实例等操作,请选择贡献者的角色。
选择下一个。
在成员选项卡。选择分配访问权限,然后选择用户、组或服务主体
选择选择成员。默认情况下,Azure AD应用程序不会显示在可用选项中。要查找应用程序,请按其名称搜索它。
选择选择按钮,然后选择评审+分配。
您的服务主体已经设置好。您可以开始使用它来运行脚本或应用程序。要管理您的服务主体(权限、用户同意的权限、查看哪些用户已同意、查看权限、查看登录信息等),请转到企业应用程序。
下一节将展示如何获取以编程方式登录时所需的值。
登录到应用程序
以编程方式登录时,在身份验证请求中传递租户ID和应用程序ID。您还需要证书或身份验证密钥。获取目录(租户)ID和应用ID:
- 搜索selectAzure Active Directory。
- 从应用程序注册在Azure AD中,选择应用程序。
- 在应用程序的概述页面上,复制Directory(租户)ID值并将其存储在应用程序代码中。
- 复制应用程序(客户端)ID值并将其存储在应用程序代码中。
设置身份验证
有两种类型的身份验证可用于服务主体:基于密码的身份验证(应用程序秘密)和基于证书的身份验证。我们建议使用证书,但您也可以创建应用程序秘密。
选项1(推荐):创建并上传自签名证书
如果您有证书,可以使用现有的证书。可选地,您可以为。创建自签名证书仅用于测试目的。要创建自签名证书,请打开Windows PowerShell并运行New-SelfSignedCertificate使用以下参数在计算机上的用户证书存储中创建证书:
$cert=New-SelfSignedCertificate -Subject "CN=DaemonConsoleCert" -CertStoreLocation " cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature
将此证书导出到文件中管理用户证书MMC管理单元可从Windows控制面板访问。
- 选择运行从开始菜单,然后输入certmgr.msc。出现当前用户的证书管理器工具。
- 要查看证书,请单击证书-当前用户在左侧窗格中展开个人目录中。
- 右键单击您创建的证书,选择所有任务- >出口。
- 按照证书导出向导操作。
上传证书:
- 搜索并选择Azure Active Directory。
- 从应用程序注册在Azure AD中,选择应用程序。
- 选择证书与秘密。
- 选择证书,然后选择上传证书然后选择证书(现有证书或导出的自签名证书)。
- 选择添加。
在应用程序注册门户中向应用程序注册证书后,允许客户机应用程序代码使用证书。
选项2:创建一个新的应用程序秘密
如果选择不使用证书,则可以创建新的应用程序密钥。
- 搜索并选择Azure Active Directory。
- 选择应用程序注册然后从列表中选择应用程序。
- 选择证书与秘密。
- 选择客户的秘密,然后选择新客户端秘密。
- 提供对秘密的描述和持续时间。
- 选择添加。
保存客户端密钥后,将显示客户端密钥的值。复制此值,因为稍后将无法检索该键。您将提供带有应用程序ID的键值,以便作为应用程序登录。将键值存储在应用程序可以检索到的位置。
配置资源访问策略乐鱼体育安装
您可能需要对应用程序需要访问的资源配置额外权限。乐鱼体育安装例如,你必须也更新密钥库的访问策略允许应用程序访问密钥、秘密或证书。
配置访问策略。
登录到Azure门户。
选择您的密钥库并选择访问策略。
选择添加访问策略,然后选择要授予应用程序的密钥、密钥和证书权限。选择前面创建的服务主体。
选择添加添加访问策略。
保存。
下一个步骤
- 学习如何使用Azure PowerShell或Azure CLI创建服务主体。
- 要了解如何指定安全策略,请参见Azure基于角色的访问控制(Azure RBAC)。
- 有关可以授予或拒绝用户的可用操作的列表,请参见Azure资源管理器资源提供程序操作。
- 有关使用应用程序注册的信息微软图,请参阅应用程序API参考。
反馈
提交和查看反馈