Skip to content

Instantly share code, notes, and snippets.

@ljtill
Last active December 6, 2019 15:41
Show Gist options
  • Select an option

  • Save ljtill/6c9eb12a275c301846d0ae8937ad95f3 to your computer and use it in GitHub Desktop.

Select an option

Save ljtill/6c9eb12a275c301846d0ae8937ad95f3 to your computer and use it in GitHub Desktop.
Provides the ability to set custom RBAC for Rackspace Smart Tickets
#region New
Set-AzContext -SubscriptionId ""
$definition = Get-AzRoleDefinition -Name ""
$definition.Name = "Rackspace Smart Tickets Automation Contributor"
$definition.Description = "Can execute remediation tasks."
$definition.Id = $null
$definition.Actions.Clear()
$definition.Actions.Add("Microsoft.Authorization/*/read")
$definition.Actions.Add("Microsoft.Support/*")
$definition.Actions.Add("Microsoft.Compute/virtualMachines/extensions/delete")
$definition.Actions.Add("Microsoft.Compute/virtualMachines/extensions/read")
$definition.Actions.Add("Microsoft.Compute/virtualMachines/extensions/write")
$definition.Actions.Add("Microsoft.Compute/virtualMachines/runCommand/action")
$definition.Actions.Add("Microsoft.Compute/virtualMachines/read")
$definition.Actions.Add("Microsoft.Compute/virtualMachines/write")
$definition.Actions.Add("Microsoft.Compute/virtualMachines/start/action")
$definition.Actions.Add("Microsoft.Network/networkInterfaces/join/action")
$definition.Actions.Add("Microsoft.Network/networkSecurityGroups/read")
$definition.Actions.Add("Microsoft.Resources/deployments/*")
$definition.Actions.Add("Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/backup/action")
$definition.Actions.Add("Microsoft.RecoveryServices/Vaults/backupJobs/read")
$definition.Actions.Add("Microsoft.RecoveryServices/Vaults/read")
$definition.DataActions.Clear()
$definition.DataActions.Add("Microsoft.LogAnalytics/logs/AuditLogs/read")
$definition.DataActions.Add("Microsoft.LogAnalytics/logs/AzureActivity/read")
$definition.DataActions.Add("Microsoft.LogAnalytics/logs/Alert/read")
$definition.DataActions.Add("Microsoft.LogAnalytics/logs/AlertHistory/read")
$definition.AssignableScopes.Clear()
$definition.AssignableScopes.Add("/subscriptions/")
New-AzRoleDefinition $definition
#endregion
#region Update
Set-AzContext -SubscriptionId ""
$definition = Get-AzRoleDefinition -Name "Rackspace Smart Tickets Automation Contributor"
$definition.Name = "Rackspace Smart Tickets Automation Contributor"
$definition.Description = "Can execute remediation tasks."
$definition.Actions.Clear()
$definition.Actions.Add("Microsoft.Authorization/*/read")
$definition.Actions.Add("Microsoft.Support/*")
$definition.Actions.Add("Microsoft.Compute/virtualMachines/extensions/delete")
$definition.Actions.Add("Microsoft.Compute/virtualMachines/extensions/read")
$definition.Actions.Add("Microsoft.Compute/virtualMachines/extensions/write")
$definition.Actions.Add("Microsoft.Compute/virtualMachines/runCommand/action")
$definition.Actions.Add("Microsoft.Compute/virtualMachines/read")
$definition.Actions.Add("Microsoft.Compute/virtualMachines/write")
$definition.Actions.Add("Microsoft.Compute/virtualMachines/start/action")
$definition.Actions.Add("Microsoft.Network/networkInterfaces/join/action")
$definition.Actions.Add("Microsoft.Network/networkSecurityGroups/read")
$definition.Actions.Add("Microsoft.Resources/deployments/*")
$definition.Actions.Add("Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/backup/action")
$definition.Actions.Add("Microsoft.RecoveryServices/Vaults/backupJobs/read")
$definition.Actions.Add("Microsoft.RecoveryServices/Vaults/read")
$definition.DataActions.Clear()
$definition.DataActions.Add("Microsoft.LogAnalytics/logs/AuditLogs/read")
$definition.DataActions.Add("Microsoft.LogAnalytics/logs/AzureActivity/read")
$definition.DataActions.Add("Microsoft.LogAnalytics/logs/Alert/read")
$definition.DataActions.Add("Microsoft.LogAnalytics/logs/AlertHistory/read")
$definition.AssignableScopes.Clear()
$definition.AssignableScopes.Add("/subscriptions/")
$definition | Set-AzRoleDefinition
#endregion
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment