Set-AzureRmRoleDefinition
修改 Azure RBAC 中的自定義角色。 提供修改的角色定義做為 JSON 檔案或 PSRoleDefinition。 首先,使用 Get-AzureRmRoleDefinition 命令來擷取您想要修改的自定義角色。 然後,修改您想要變更的屬性。 最後,使用此命令儲存角色定義。
警告
自 2024 年 2 月 29 日起,AzureRM PowerShell 模組已正式淘汰。 建議使用者從 AzureRM 遷移至 Az PowerShell 模組,以確保持續支援和更新。
雖然 AzureRM 模組可能仍可運作,但不再維護或支援它,但會根據用戶的判斷權和風險放置任何繼續使用。 如需轉換至 Az 模組的指引,請參閱我們的 移轉資源 。
語法
Set-AzureRmRoleDefinition
-InputFile <String>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzureRmRoleDefinition
-Role <PSRoleDefinition>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
Set-AzureRmRoleDefinition Cmdlet 會更新 Azure 角色型 存取控制 中現有的自定義角色。 以 JSON 檔案或 PSRoleDefinition 物件的形式,提供更新的角色定義做為命令的輸入。 更新自定義角色的角色定義必須包含標識符和角色所有其他必要屬性,即使它們未更新:DisplayName、Description、Actions、AssignableScopes。 NotActions、DataActions、NotDataActions 是選擇性的。 以下是 Set-AzureRmRoleDefinition { “Id”: “52a6cc13-ff92-47a8-a39b-2a8205c3087e” 的範例更新角色定義 json, “Name”: “Updated Role”, “Description”: “Can monitor all resources and start and restart virtual machines”, “Actions”: [ “/read”, “Microsoft.ClassicCompute/virtualmachines/restart/action”, “Microsoft.ClassicCompute/virtualmachines/start/action” ], “NotActions”: [ “/write“ ], ”DataActions“: [ ”Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read“ ], ”NotDataActions“: [ ”Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write“ ], ”AssignableScopes“: [”/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxx“] }
範例
使用 PSRoleDefinitionObject 更新
PS C:\> $roleDef = Get-AzureRmRoleDefinition "Contoso On-Call"
PS C:\> $roleDef.Actions.Add("Microsoft.ClassicCompute/virtualmachines/start/action")
PS C:\> $roleDef.Description = "Can monitor all resources and start and restart virtual machines"
PS C:\> $roleDef.AssignableScopes = @("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
PS C:\> Set-AzureRmRoleDefinition -Role $roleDef
使用 JSON 檔案建立
PS C:\> Set-AzureRmRoleDefinition -InputFile C:\Temp\roleDefinition.json
參數
-DefaultProfile
用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶
類型: | IAzureContextContainer |
別名: | AzureRmContext, AzureCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InputFile
檔名,其中包含要更新的單一 json 角色定義。 只包含 JSON 中要更新的屬性。 Id 屬性為 Required。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-Role
要更新的角色定義物件
類型: | PSRoleDefinition |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
輸入
參數:角色(ByValue)
輸出
備註
關鍵詞:azure, azurerm, arm, 資源, 管理, 管理員, 資源, 群組, 範本, 部署