Segurança dos Hubs de Notificação

Descrição geral

Este tópico descreve o modelo de segurança do Azure Notification Hubs.

Segurança da Assinatura de Acesso Partilhado

O Notification Hubs implementa um esquema de segurança ao nível da entidade chamado Assinatura de Acesso Partilhada (SAS). Cada regra contém um nome, um valor-chave (segredo partilhado) e um conjunto de direitos, conforme explicado mais adiante em Security claims.

Ao criar um hub, são criadas automaticamente duas regras: uma com direitos de Escuta (que a aplicação cliente usa) e outra com todos os direitos (que o backend da aplicação utiliza):

  • DefaultListenSharedAccessSignature: concede apenas permissão de escuta.
  • DefaultFullSharedAccessSignature: concede permissões para Ouvir, Gerir e Enviar . Esta política deve ser usada apenas no back-end do seu aplicativo. Não o utilize em aplicações clientes; Use uma política apenas com Listen acesso. Para criar uma nova política de acesso personalizada com um novo token SAS, consulte tokens SAS para políticas de acesso mais adiante neste artigo.

Ao gerir o registo a partir de aplicações cliente, se as informações enviadas por notificações não forem sensíveis (por exemplo, atualizações meteorológicas), uma forma comum de aceder a um Hub de Notificação é fornecer a chave da regra de Acesso apenas de leitura à aplicação cliente e a chave da regra de acesso total ao back-end da aplicação.

As aplicações não devem incorporar o valor-chave nas aplicações cliente da Windows Store; em vez disso, fazer com que a aplicação cliente o recupere do backend da aplicação no arranque.

A chave com acesso Ouvir permite que uma aplicação cliente se registre para qualquer etiqueta. Se o seu aplicativo precisar restringir os registros a tags específicas para clientes específicos (por exemplo, quando as tags representarem IDs de usuário), o back-end do aplicativo deverá executar os registros. Para mais informações, consulte Gestão de Registos. Observe que, dessa forma, o aplicativo cliente não terá acesso direto aos Hubs de Notificação.

Reclamações de segurança

Tal como noutras entidades, as operações do Notification Hub são permitidas para três reclamações de segurança: Ouvir, Enviar e Gerir.

Afirmação Descrição Operações permitidas
Ouvir Criar/atualizar, ler e excluir registros únicos Criar/Atualizar registo

Consultar registo

Ler todos os registos para um identificador

Eliminar registo
Enviar Enviar mensagens para o Hub de Notificação Enviar mensagem
Gerir Operações CRUD nos Hubs de Notificação (incluindo a atualização de credenciais PNS e chaves de segurança) e leitura de registos com base em etiquetas Criar/Atualizar/Ler/Excluir hubs

Ler registos por etiqueta

Os Hubs de Notificação aceitam tokens SAS gerados com chaves compartilhadas configuradas diretamente no hub.

Não é possível enviar uma notificação para mais de um namespace. Os namespaces são contêineres lógicos para Hubs de Notificação e não estão envolvidos no envio de notificações.

Use as políticas de acesso no nível de namespace (credenciais) para operações no nível de namespace; Por exemplo: listar hubs, criar ou excluir hubs, etc. Apenas as políticas de acesso no nível de hub permitem enviar notificações.

Tokens SAS para políticas de acesso

Para criar uma nova declaração de segurança ou exibir chaves SAS existentes, faça o seguinte:

  1. Inicie sessão no portal Azure.
  2. Selecione Todos os recursos.
  3. Selecione o nome do Hub de Notificação para o qual você deseja criar a declaração ou exiba a chave SAS.
  4. No menu da esquerda, selecione Políticas de Acesso.
  5. Selecione Nova Apólice para criar uma nova reclamação de segurança. Dê um nome à política e selecione as permissões que deseja conceder. Em seguida, selecione OK.
  6. A connection string completa (incluindo a nova chave SAS) é apresentada na janela de Políticas de Acesso. Você pode copiar essa cadeia de caracteres para a área de transferência para uso posterior.

Para extrair a chave SAS de uma política específica, selecione o botão Copiar ao lado da política que contém a chave SAS que pretende. Cole este valor numa localização temporária e depois copie a parte da chave SAS da cadeia de conexão. Este exemplo utiliza um namespace do Notification Hubs chamado mytestnamespace1, e uma política chamada policy2. A chave SAS é o valor perto do fim da cadeia, especificado por SharedAccessKey:

Endpoint=sb://mytestnamespace1.servicebus.windows.net/;SharedAccessKeyName=policy2;SharedAccessKey=<SAS key value here>

Obtenha as chaves SAS

Próximos passos