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

Se você aplicar uma política de execução como e o manifesto do serviço declarar recursos de ponto de extremidade HTTP, deverá especificar uma SecurityAccessPolicy. SecurityAccessPolicy garante que as portas alocadas a esses pontos de extremidade sejam corretamente restritas à conta de usuário na qual o serviço é executado. Caso contrário, http.sys não tem acesso ao serviço e você recebe falhas com chamadas do cliente. O exemplo a seguir aplica a conta Customer1 a um ponto de extremidade chamado EndpointName, que lhe concede 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 ponto de extremidade HTTPS, indique também o nome do certificado a ser retornado ao cliente. Você faz referência ao certificado usando EndpointBindingPolicy. O certificado é definido na seção Certificados do manifesto do aplicativo.

<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 usar HTTPS, não use a mesma porta e certificado para diferentes instâncias de serviço (independentes do aplicativo) implantadas no mesmo nó. A atualização de dois serviços diferentes usando a mesma porta em instâncias de aplicativos diferentes resultará em uma falha de atualização. Para obter mais informações, consulte Atualizando vários aplicativos com pontos de extremidade HTTPS .

Para conhecer as próximas etapas, leia os seguintes artigos: