我在 powershell 中創建了一個腳本,用于檢查 azure 中服務主體的到期日期。如果我直接在 cloud shell 中執行腳本,腳本本身就可以正常作業。但這不是我想要的。我希望腳本可以由azure 中的 Runbook,所以我創建了 Runbook 和“以帳戶身份運行”用戶。問題是“以帳戶身份運行”無權運行 cmdlet“get-azadapplication”和“get-azadserviceprincipal”。一些研究我發現這個用戶需要 AAD 的全域讀者權限。有沒有另一種方法可以在沒有全域讀者的情況下監控服務主體?有人實施過類似的解決方案嗎?
例如,這是一個簡單的代碼來顯示我得到的錯誤
#Connect to Azure
$connectionName = "AzureRunAsConnection"
try
{
# Get the connection "AzureRunAsConnection "
$servicePrincipalConnection=Get-AutomationConnection -Name $connectionName
Connect-AzAccount `
-ServicePrincipal `
-TenantId $servicePrincipalConnection.TenantId `
-ApplicationId $servicePrincipalConnection.ApplicationId `
-CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
}
catch {
if (!$servicePrincipalConnection)
{
$ErrorMessage = "Connection $connectionName not found."
throw $ErrorMessage
} else{
Write-Error -Message $_.Exception
throw $_.Exception
}
}
#get all subscriptions
get-azsubscription
# read the credential for user sp-acr-c4r-pull
get-azadserviceprincipal -displayname sp-acr-c4r-pull | get-azadspcredential
然后我在運行 Runbook 時收到此錯誤
Account SubscriptionName TenantId
------- ---------------- --------
* Cloud_Test… *
Cloud_Test
Get-AzADServicePrincipal: C:\Temp\3s0vpqu0.tms
Line |
30 | get-azadserviceprincipal -displayname sp-acr-c4r-pull | get-azadspcre …
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Insufficient privileges to complete the operation.
如您所見,我可以運行 get-azadsubscription 但不能運行 get-azadserviceprincipal
uj5u.com熱心網友回復:
如果您不愿意為其授予所需的權限,您希望 Runbook 從您的目錄中讀取資料嗎?
您唯一的選擇是為服務主體分配某種權限。全球讀者對我來說似乎還不錯,但如果這是不可接受的,您可以考慮創建自定義角色:https : //docs.microsoft.com/en-us/azure/active-directory/roles/custom-create
uj5u.com熱心網友回復:
您可以在 Key Vault 中創建一個條目(例如機密),其過期日期等于服務主體機密的過期日期。然后只需從該 Key Vault ( https://docs.microsoft.com/en-us/azure/key-vault/general/event-grid-overview )應用事件網格并發送事件,例如 Microsoft.KeyVault.SecretNearExpiry 或 Microsoft .KeyVault.SecretExpired ( https://docs.microsoft.com/en-us/azure/event-grid/event-schema-key-vault?tabs=event-grid-event-schema ) 并使用邏輯處理事件你需要。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/366189.html
標籤:天蓝色 电源外壳 azure-runbook
