Azure Service Principals ----- Azure 上最好保守的秘密的服务

一,引言

  Azure Service Principals 是 Azure Active Directory (AAD) 中的一种标识,代表应用程序,服务,自动化流程。Service Principals 支持各种 Azure 服务和资源之家的安全通信,为应用程序提供了一种进行身份验证并于 Azure API 交互的方法。

  在本文中,我们将探讨 Azure Service Principals 的概念,它们的用法已经如何有效的创建和关联它们。

二,正文

1)什么是 Azure Service Principals ?

  Azure Service Principals 本质上是一种安全标识,应用程序 ,服务或自动化工具使用它来访问特定的 Azure 资源。它类似于用户账号。Service Principals 是 Azure Active Directory 的一部分,是在 Azure AD 租户的上下文中创建的

2)Azure Service Principals 的主要特征

  1,身份:每个 Service Principals  在 Azure AD 租户中都有唯一的身份。它由客户端ID 和租户ID 的组合来标识。

  2,身份验证:Service Principals 使用客户端ID和客户端密码、证书或托管身份的组合进行身份认证。这就使得我们能够安全的访问 Azure 资源。

  3,基于角色的访问控制(RBAC): Service Principals 遵循 RBAC 模型,运行管理员为其分配特定角色,这决定了我们对 Azure 资源的访问和权限的级别。

3)为什么使用 Azure Service Principals?

使用 Azure Service Principals 有几个好处:

  1,安全:Service Principals 的主旨是通过允许应用在不暴露敏感凭据的情况下访问资源来增强安全性。

  2,自动化:它们支持自动化场景,允许脚本,工具和应用程序对 Azure 资源进行身份验证和执行任务。

  3,RBAC 集成:Service Principals 与 Azure RBAC 无缝集成,允许管理员控制和限制服务主体可以执行的操作。

  4,托管身份:Service Principals 还可以拥有托管身份,为应用程序提供一种安全,无缝的方式来获取令牌,而无需显式凭据。

4)创建 Azure Service Principals

  创建服务主体设计多个步骤,并且有不同的方式可以实现,常见的方式是使用Azure Portal、Azure CLI 或者 PowerShell。以下是使用 Azure CLI 的基本示例:

az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/<subscription_id>"

 

 注意:我们将创建一个具有 “Contributor” (贡献者角色:默认角色)的服务主体。该 “Contributor” 角色具有完全的权限读取和写入到Azure的账户,

 此命令将创建一个新的 Service Principals ,并输出 “appid”、“displayName”、“password”、“tenant”

三,结尾

  Azure Service Principals 是Azure 身份喝访问管理系统的基本组成部分。它使应用程序和服务能够与 Azure 资源安全地交互,从而增加自动化和安全性。

参考资料:RBAC内置角色:https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles

作者:Allen 

版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。

posted @ 2024-05-20 15:18  Grant_Allen  阅读(181)  评论(0编辑  收藏  举报