Partilhar via


Segurança dos Hubs de Notificação

Descrição geral

Este tópico descreve o modelo de segurança dos Hubs de Notificação do Azure.

Segurança da Assinatura de Acesso Partilhado

Os Hubs de Notificação implementam um esquema de segurança em nível de entidade chamado SAS (Assinatura de Acesso Compartilhado). Cada regra contém um nome, um valor de chave (segredo compartilhado) e um conjunto de direitos, conforme explicado posteriormente em Declarações de segurança.

Ao criar um hub, duas regras são criadas automaticamente: uma com direitos de escuta (que o aplicativo cliente usa) e outra com todos os direitos (que o back-end do aplicativo usa):

  • DefaultListenSharedAccessSignature: concede apenas permissão de escuta .
  • DefaultFullSharedAccessSignature: concede permissões de Ouvir, Gerenciar e Enviar . Esta política deve ser usada apenas no back-end do seu aplicativo. Não o utilize em aplicações cliente; use uma política com acesso apenas ao Ouvir . 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 executar o gerenciamento de registro de aplicativos cliente, se as informações enviadas por meio de notificações não forem confidenciais (por exemplo, atualizações meteorológicas), uma maneira comum de acessar um Hub de Notificação é dar ao valor da chave da regra Acesso somente escuta ao aplicativo cliente e dar ao valor da chave da regra acesso total ao back-end do aplicativo.

Os aplicativos não devem incorporar o valor da chave nos aplicativos cliente da Windows Store; Em vez disso, peça ao aplicativo cliente para recuperá-lo do back-end do aplicativo na inicialização.

A chave com acesso Ouvir permite que um aplicativo cliente se registre para qualquer tag. 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 obter mais informações, consulte Gerenciamento de registros. Observe que, dessa forma, o aplicativo cliente não terá acesso direto aos Hubs de Notificação.

Reclamações de segurança

Semelhante a outras entidades, as operações do Hub de Notificação são permitidas para três declarações de segurança: Ouvir, Enviar e Gerenciar.

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

Ler registo

Ler todos os registos para um identificador

Eliminar registo
Enviar Enviar mensagens para o Hub de Notificação Enviar mensagem
Gerir CRUDs em Hubs de Notificação (incluindo a atualização de credenciais PNS e chaves de segurança) e registros de leitura com base em tags 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 do 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 à esquerda, selecione Políticas de Acesso.
  5. Selecione Nova Política para criar uma nova declaração de segurança. Dê um nome à política e selecione as permissões que deseja conceder. Em seguida, selecione OK.
  6. A cadeia de conexão completa (incluindo a nova chave SAS) é exibida na janela 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 desejada. Cole esse valor em um local temporário e copie a parte da chave SAS da cadeia de conexão. Este exemplo usa um namespace de Hubs de Notificação chamado mytestnamespace1 e uma política chamada policy2. A chave SAS é o valor próximo ao final da cadeia de caracteres, especificado por SharedAccessKey:

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

Obter chaves SAS

Próximos passos