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

Grant_Allen發表於2024-05-20

一,引言

  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

版權:轉載請在文章明顯位置註明作者及出處。如發現錯誤,歡迎批評指正。

相關文章