我有一個 Bicep 模板,其中包含部署腳本 deploymentScript,它應該執行某個 Azure 命令。
但是當我運行我的模板時,它會在運行 deploymentScript 時回傳此錯誤:
該服務無權訪問“/subscriptions/3449f684-xxxx-xxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault-name”Key Vault。請確保您已授予該服務執行請求操作所需的權限
我已經設定了一個托管身份并為 KeyVault 添加了管理員角色。

在 KeyVault 中,我啟用了 RBAC。當我檢查 KeyVault 中的訪問策略時,我確實看到托管身份已鏈接到它。

我會說它甚至是添加到其中的角色的矯枉過正。
最后,我的 deploymentScript 是這樣設定的:
resource siteCertificatesScript 'Microsoft.Resources/deploymentScripts@2020-10-01' = {
name: 'siteCertificates'
location: location
kind: 'AzurePowerShell'
identity: {
type: 'UserAssigned'
userAssignedIdentities: {
'/subscriptions/3449f684-xxxx-xxxx/resourceGroups/MyResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-vault-name': {}
}
}
properties: {
azPowerShellVersion: '8.3'
scriptContent: '$Secure_String_Pwd = ConvertTo-SecureString "MyPassword" -AsPlainText -Force;
Import-AzKeyVaultCertificate -VaultName "${keyVaultName}" -Name "${resourcePrefix}-cert-signing" -CertificateString "${certSigningBase64}" -Password $Secure_String_Pwd'
timeout: 'PT1H'
cleanupPreference: 'OnSuccess'
retentionInterval: 'P1D'
}
}
但為什么我的 deploymentScript 失敗并顯示它沒有足夠權限的訊息?
我不明白我忘記了什么。
uj5u.com熱心網友回復:
您可能需要向Microsoft.KeyVault/vaults/deploy/action正在部署 arm/bicep 模板的身份授予權限。我認為 Key Vault 管理員角色沒有此權限:

這是一個 keyvault 提供者權限,它與其他權限是分開的microsoft.resources。
請查看:https ://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/key-vault-parameter?tabs=azure-cli#grant-deployment-access-to-秘密
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/534652.html
標籤:天蓝色天蓝色密钥库手臂模板天蓝色的二头肌azure-rbac
