Skip to content

Commit 0bdede4

Browse files
authored
Merge pull request #101055 from jagilber/sfAppCertAcl
modify service fabric articles to add example and links for endpointcertificate in Service Fabric applications
2 parents faa86cf + f7dfdda commit 0bdede4

4 files changed

+41
-2
lines changed

articles/service-fabric/service-fabric-application-and-service-manifests.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@ For more information about other features supported by application manifests, re
188188
- [Configure security policies for your application](service-fabric-application-runas-security.md).
189189
- [Setup HTTPS endpoints](service-fabric-service-manifest-resources.md#example-specifying-an-https-endpoint-for-your-service).
190190
- [Encrypt secrets in the application manifest](service-fabric-application-secret-management.md)
191+
- [Azure Service Fabric security best practices](service-fabric-best-practices-security.md)
191192

192193
<!--Image references-->
193194
[appmodel-diagram]: ./media/service-fabric-application-model/application-model.png

articles/service-fabric/service-fabric-application-and-service-security.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,25 @@ You can establish secure connection between the reverse proxy and services, thus
8383

8484
The Reliable Services application framework provides a few prebuilt communication stacks and tools that you can use to improve security. Learn how to improve security when you're using service remoting (in [C#](service-fabric-reliable-services-secure-communication.md) or [Java](service-fabric-reliable-services-secure-communication-java.md)) or using [WCF](service-fabric-reliable-services-secure-communication-wcf.md).
8585

86+
87+
### Include endpoint certificate in Service Fabric applications
88+
89+
To configure your application endpoint certificate, include the certificate by adding a **EndpointCertificate** element along with the **User** element for the principal account to the application manifest. By default the principal account is NetworkService. This will provide management of the application certificate private key ACL for the provided principal.
90+
91+
```xml
92+
<ApplicationManifest … >
93+
...
94+
<Principals>
95+
<Users>
96+
<User Name="Service1" AccountType="NetworkService" />
97+
</Users>
98+
</Principals>
99+
<Certificates>
100+
<EndpointCertificate Name="MyCert" X509FindType="FindByThumbprint" X509FindValue="[YourCertThumbprint]"/>
101+
</Certificates>
102+
</ApplicationManifest>
103+
```
104+
86105
## Encrypt application data at rest
87106
Each [node type](service-fabric-cluster-nodetypes.md) in a Service Fabric cluster running in Azure is backed by a [virtual machine scale set](../virtual-machine-scale-sets/overview.md). Using an Azure Resource Manager template, you can attach data disks to the scale set(s) that make up the Service Fabric cluster. If your services save data to an attached data disk, you can [encrypt those data disks](../virtual-machine-scale-sets/disk-encryption-powershell.md) to protect your application data.
88107

articles/service-fabric/service-fabric-assign-policy-to-endpoint.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,6 @@ For next steps, read the following articles:
4242
* [Understand the application model](service-fabric-application-model.md)
4343
* [Specify resources in a service manifest](service-fabric-service-manifest-resources.md)
4444
* [Deploy an application](service-fabric-deploy-remove-applications.md)
45+
* [Azure Service Fabric security best practices](service-fabric-best-practices-security.md)
4546

4647
[image1]: ./media/service-fabric-application-runas-security/copy-to-output.png

articles/service-fabric/service-fabric-best-practices-security.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,15 +141,33 @@ user@linux:$ openssl smime -encrypt -in plaintext_UTF-16.txt -binary -outform de
141141

142142
After encrypting your protected values, [specify encrypted secrets in Service Fabric Application](./service-fabric-application-secret-management.md#specify-encrypted-secrets-in-an-application), and [decrypt encrypted secrets from service code](./service-fabric-application-secret-management.md#decrypt-encrypted-secrets-from-service-code).
143143

144-
## Include certificate in Service Fabric applications
144+
## Include endpoint certificate in Service Fabric applications
145+
146+
To configure your application endpoint certificate, include the certificate by adding a **EndpointCertificate** element along with the **User** element for the principal account to the application manifest. By default the principal account is NetworkService. This will provide management of the application certificate private key ACL for the provided principal.
147+
148+
```xml
149+
<ApplicationManifest … >
150+
...
151+
<Principals>
152+
<Users>
153+
<User Name="Service1" AccountType="NetworkService" />
154+
</Users>
155+
</Principals>
156+
<Certificates>
157+
<EndpointCertificate Name="MyCert" X509FindType="FindByThumbprint" X509FindValue="[YourCertThumbprint]"/>
158+
</Certificates>
159+
</ApplicationManifest>
160+
```
161+
162+
## Include secret certificate in Service Fabric applications
145163

146164
To give your application access to secrets, include the certificate by adding a **SecretsCertificate** element to the application manifest.
147165

148166
```xml
149167
<ApplicationManifest … >
150168
...
151169
<Certificates>
152-
<SecretsCertificate Name="MyCert" X509FindType="FindByThumbprint" X509FindValue="[YourCertThumbrint]"/>
170+
<SecretsCertificate Name="MyCert" X509FindType="FindByThumbprint" X509FindValue="[YourCertThumbprint]"/>
153171
</Certificates>
154172
</ApplicationManifest>
155173
```

0 commit comments

Comments
 (0)