New-AzNotificationHubsNamespaceAuthorizationRule
Creates an authorization rule and assigns that rule to a notification hub namespace.
Syntax
New-AzNotificationHubsNamespaceAuthorizationRule
[-ResourceGroup] <String>
[-Namespace] <String>
[-InputFile] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzNotificationHubsNamespaceAuthorizationRule
[-ResourceGroup] <String>
[-Namespace] <String>
[-SASRule] <SharedAccessAuthorizationRuleAttributes>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
The New-AzNotificationHubsNamespaceAuthorizationRule 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": "W******1Y=",
"Rights": [
"Listen",
"Send"
]
}
When used in conjunction with the New-AzNotificationHubsNamespaceAuthorizationRule 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
New-AzNotificationHubAuthorizationRule -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: | AzContext, 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-AzNotificationHubsNamespaceAuthorizationRule 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
Outputs
SharedAccessAuthorizationRuleAttributes