Set-AzureRmNotificationHubAuthorizationRules

Sets authorization rules for a notification hub.

Warning

The AzureRM PowerShell module has been officially deprecated as of February 29, 2024. Users are advised to migrate from AzureRM to the Az PowerShell module to ensure continued support and updates.

Although the AzureRM module may still function, it's no longer maintained or supported, placing any continued use at the user's discretion and risk. Please refer to our migration resources for guidance on transitioning to the Az module.

Syntax

Set-AzureRmNotificationHubAuthorizationRules
   [-ResourceGroup] <String>
   [-Namespace] <String>
   [-NotificationHub] <String>
   [-InputFile] <String>
   [-Force]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzureRmNotificationHubAuthorizationRules
   [-ResourceGroup] <String>
   [-Namespace] <String>
   [-NotificationHub] <String>
   [-SASRule] <SharedAccessAuthorizationRuleAttributes>
   [-Force]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The Set-AzureRmNotificationHubAuthorizationRules cmdlet modifies a Shared Access Signature (SAS) authorization rule assigned to a notification hub. Authorization rules manage access to your notification hubs by the creation of links, as URIs, based on different permission levels. Permission levels can be one of the following:

  • Listen
  • Send
  • Manage Clients are directed to one of these URIs based on the appropriate permission level. For example, a client given the Listen permission will be directed to the URI for that permission. This cmdlet provides two ways to modify an authorization rule assigned to a notification hub. For one, you can create an instance of the SharedAccessAuthorizationRuleAttributes object and then configure that object with the property values you want the rule to possess. You can configure the object through the .NET Framework. You can then copy those property values to your rule by using SASRule parameter. Alternatively, you can create a JSON (JavaScript Object Notation) file containing the relevant configuration values and then apply those values through the InputFile parameter. A JSON file is a text file that uses syntax similar to this: { "Name": "ContosoAuthorizationRule",
    "PrimaryKey": "WE4qH0398AyXjlekt56gg1gMR3NHoMs29KkUnnpUk01Y=",
    "Rights": [
    "Listen",
    "Send"
    ]
    } When used in conjunction with the New-AzureRmNotificationHubAuthorizationRules cmdlet, the preceding JSON sample modifies an authorization rule named ContosoAuthorizationRule in order to give users Listen and Send rights to the hub.

Examples

Example 1: Modify an authorization rule assigned to a notification hub

PS C:\>Set-AzureRmNotificationHubAuthorizationRules -Namespace "ContosoNamespace" -ResourceGroup "ContosoNotificationGroup" -NotificationHub "ContosoExternalHub" -InputFile "C:\Configuration\AuthorizationRules.json"

This command modifies an authorization rule assigned to the notification hub named ContosoExternalHub. You must specify the namespace where the hub is located as well as the resource group that the hub is assigned. Information about the rule that is modified is not included in the command itself. Instead, that information is found in the input file C:\Configuration\AuthorizationRules.json.

Parameters

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with azure

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Do not ask for confirmation.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputFile

Specifies the path to a JSON file containing configuration information for the new rule.

Type:String
Position:3
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Namespace

Specifies the namespace to which the notification hub is assigned. Namespaces provide a way to group and categorize notification hubs.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NotificationHub

Specifies the notification hub that this cmdlet assigns authorization rules to. Notification hubs are used to send push notifications to multiple clients regardless of the used by those clients.

Type:String
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ResourceGroup

Specifies the resource group to which the notification hub is assigned. Resource groups organize items such as namespaces, notification hubs, and authorization rules in ways that help simply inventory management and Azure administration.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SASRule

Specifies the SharedAccessAuthorizationRuleAttributes object that contains configuration information for the authorization rules that are modified.

Type:SharedAccessAuthorizationRuleAttributes
Position:3
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

String

Outputs

SharedAccessAuthorizationRuleAttributes