Atribuir uma política de acesso de segurança para endpoints HTTP e HTTPS

Se aplicar uma política run-as e o manifesto de serviço declarar recursos de endpoint HTTP, deve especificar uma Política de AcessoSegurança. O SecurityAccessPolicy garante que as portas alocadas a estes endpoints são corretamente restringidas à conta de utilizador com a qual o serviço é executado. Caso contrário, http.sys não tem acesso ao serviço e ocorrem falhas nas chamadas do cliente. O exemplo seguinte aplica a conta Customer1 a um endpoint chamado EndpointName, que lhe confere direitos de acesso completos.

<Policies>
  <RunAsPolicy CodePackageRef="Code" UserRef="Customer1" />
  <!--SecurityAccessPolicy is needed if RunAsPolicy is defined and the Endpoint is http -->
  <SecurityAccessPolicy ResourceRef="EndpointName" PrincipalRef="Customer1" />
</Policies>

Para um endpoint HTTPS, indique também o nome do certificado a devolver ao cliente. Referencias o certificado usando EndpointBindingPolicy. O certificado está definido na secção Certificados do manifesto de candidatura.

<Policies>
  <RunAsPolicy CodePackageRef="Code" UserRef="Customer1" />
  <!--SecurityAccessPolicy is needed if RunAsPolicy is defined and the Endpoint is http -->
  <SecurityAccessPolicy ResourceRef="EndpointName" PrincipalRef="Customer1" />
  <!--EndpointBindingPolicy is needed if the EndpointName is secured with https -->
  <EndpointBindingPolicy EndpointRef="EndpointName" CertificateRef="Cert1" />
</Policies>

Advertência

Ao usar HTTPS, não utilize a mesma porta e certificado para diferentes instâncias de serviço (independentes da aplicação) implementadas no mesmo nó. Atualizar dois serviços diferentes usando a mesma porta em diferentes instâncias de aplicação resultará numa falha de atualização. Para mais informações, consulte Atualização de múltiplas aplicações com endpoints HTTPS .

Para os próximos passos, leia os seguintes artigos: