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

Se aplicar uma política run as e o manifesto de serviço declarar recursos de ponto final HTTP, tem de especificar um SecurityAccessPolicy. SecurityAccessPolicy garante que as portas alocadas a estes pontos finais estão corretamente restritas à conta de utilizador que o serviço executa como. Caso contrário, http.sys não tem acesso ao serviço e obtém falhas com chamadas do cliente. O exemplo seguinte aplica a conta Customer1 a um ponto final chamado EndpointName, que lhe dá direitos de acesso total.

<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 ponto final HTTPS, indique também o nome do certificado a regressar ao cliente. Faz referência ao certificado com EndpointBindingPolicy. O certificado é definido na secção Certificados do manifesto da aplicação.

<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>

Aviso

Ao utilizar 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 com a mesma porta em instâncias de aplicações diferentes resultará numa falha de atualização. Para obter mais informações, veja Atualizar várias aplicações com pontos finais HTTPS .

Para obter os passos seguintes, leia os seguintes artigos: