New-AzureRmNotificationHubsNamespaceAuthorizationRules

Creates an authorization rule and assigns that rule to a notification hub namespace.

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

New-AzureRmNotificationHubsNamespaceAuthorizationRules
   [-ResourceGroup] <String>
   [-Namespace] <String>
   [-InputFile] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzureRmNotificationHubsNamespaceAuthorizationRules
   [-ResourceGroup] <String>
   [-Namespace] <String>
   [-SASRule] <SharedAccessAuthorizationRuleAttributes>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The New-AzureRmNotificationHubsNamespaceAuthorizationRules cmdlet creates a Shared Access Signature (SAS) authorization rule and assigns it to a notification hub namespace. Authorization rules manage user rights to the namespace and to the notification hubs contained with that namespace. This cmdlet provides two ways to create a new authorization rule and assign it to a namespace. You can create an instance of the SharedAccessAuthorizationRuleAttributes object and then configure that object with the property values you want the new rule to possess. This can be done using .NET Framework. You can then copy those property values to your new 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 by using the InputFile parameter. A JSON file is a text file that uses syntax similar to the following: {
"Name": "ContosoAuthorizationRule",
"PrimaryKey": "WE4qH0398AyXjlekt56gg1gMR3NHoMs29KkUnnpUk01Y=",
"Rights": [
"Listen",
"Send"
]
} When used in conjunction with the New-AzureRmNotificationHubsNamespaceAuthorizationRules cmdlet, the preceding JSON sample creates an authorization rule named ContosoAuthorizationRule that gives users Listen and Send rights to the namespace. The PrimaryKey that is used for authentication, can be randomly generated by using the following Windows PowerShell command: [Convert]::ToBase64String((1..32 |% { [byte/](Get-Random -Minimum 0 -Maximum 255) }))

Examples

Example 1: Create an authorization rule and assign it to a namespace

PS C:\>New-AzureRmNotificationHubAuthorizationRules -Namespace "ContosoNamespace" -ResourceGroup "ContosoNotificationsGroup" -InputFile "C:\Configuration\NamespaceAuthorizationRules.json"

This command creates an authorization rule and assigns that rule to the namespace ContosoNamespace. When creating this rule you must specify the appropriate namespace and the resource group that the namespace is assigned to. However, you do not need to specify any information about the rule itself: rule information will be taken from the input file C:\Configuration\NamespaceAuthorizationRules.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

-InputFile

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

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

-Namespace

Specifies the namespace to which the authorization rules will be assigned. Namespaces provide a way to group and categorize notification hubs. The new rules must be assigned to an existing namespace. The New-AzureRmNotificationHubsNamespaceAuthorizationRules cmdlet cannot create a new namespace.

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

-ResourceGroup

Specifies the resource group to which the namespace is assigned. Resource groups organize items such as namespaces, notification hubs, and authorization rules in ways that help simply inventory management and Azure administration. You must use an existing resource group. This cmdlet cannot create a new resource group.

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

-SASRule

Specifies the SharedAccessAuthorizationRuleAttributes object containing configuration information for the new rules.

Type:SharedAccessAuthorizationRuleAttributes
Position:2
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