Skip to content

Commit 46344b1

Browse files
committed
Implement updates from peer review
1 parent 8c56851 commit 46344b1

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

docs/pipelines/release/automate-service-connections.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
title: Automate Azure Resource Manager with workload identity service connections
2+
title: Use scripts to automate Azure Resource Manager with workload identity service connections
33
description: Learn how to use automation to create a service connection in Azure Pipelines with workload identity.
4-
ms.topic: conceptual
4+
ms.topic: how-to
55
ms.author: jukullam
66
author: juliakm
77
ms.date: 05/16/2025
@@ -10,13 +10,13 @@ monikerRange: '>= azure-devops'
1010
ai-usage: ai-assisted
1111
---
1212

13-
# Automate Azure Resource Manager with workload identity service connections
13+
# Use scripts to automate Azure Resource Manager with workload identity service connections
1414

1515
[!INCLUDE [version-lt-eq-azure-devops](../../includes/version-lt-eq-azure-devops.md)]
1616

17-
Use automation to create Azure Resource Manager service connections with workload identity for consistency, efficiency, repeatability, and scalability in your DevOps projects. Scripts guarantee that service connections are configured the same way every time, reduce the risk of human error, and save time, especially when you set up multiple connections or deploy to different environments. Automation also lets you scale so you can better manage large deployments.
17+
Learn how to use scripts to create Azure Resource Manager service connections with workload identity in Azure Pipelines. Scripts ensure consistency, efficiency, and repeatability when setting up service connections, reducing the risk of human error. They save time, especially when creating multiple connections or deploying to different environments. These scripts can also be integrated into an automation process to scale and better manage large deployments.
1818

19-
Automation also helps enforce security policies and compliance requirements by making sure service connections use the right permissions and configurations. It also serves as documentation for the setup process.
19+
Using scripts as part of an automation process helps enforce security policies and compliance requirements by ensuring service connections use the correct permissions and configurations. It also serves as documentation for the setup process.
2020

2121
## Prerequisites
2222

@@ -44,7 +44,7 @@ This table provides an overview of the key properties exchanged between the crea
4444
| Create federated credential in Microsoft Entra or Azure | `appId`, `workloadIdentityFederationIssuer`, `workloadIdentityFederationSubject` | |
4545
| Create role assignment in Azure | `principalId` | |
4646

47-
## Sign in with Azure CLI
47+
## 1. Sign in with Azure CLI
4848

4949
The following commands use the Azure CLI. Sign in to the intended tenant:
5050

@@ -54,9 +54,9 @@ az login --tenant TENANT_ID
5454

5555
Learn more in [Authenticate to Azure using Azure CLI](/cli/azure/authenticate-azure-cli).
5656

57-
## Create identity
57+
## 2. Create identity
5858

59-
Create an identity using an app registration or a managed identity.
59+
Create an identity using managed identity or an app registration.
6060

6161
#### [Managed identity](#tab/managed-identity)
6262

@@ -70,8 +70,8 @@ Example output:
7070

7171
```json
7272
{
73-
"clientId": "APP_ID",
74-
"principalId": "PRINCIPAL_ID"
73+
"clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
74+
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
7575
}
7676
```
7777

@@ -91,8 +91,8 @@ Example output:
9191

9292
```json
9393
{
94-
"appId": "APP_ID",
95-
"principalId": "PRINCIPAL_ID"
94+
"appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
95+
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
9696
}
9797
```
9898

@@ -102,7 +102,7 @@ For more information, see [az ad sp create-for-rbac](/cli/azure/ad/sp#az-ad-sp-c
102102

103103
---
104104

105-
## Create a service connection
105+
## 3. Create a service connection
106106

107107
This example uses the [Azure DevOps Azure CLI extension](/azure/devops/cli) and a configuration file to create the service connection. This configures the identity created in a new Azure service connection. The `servicePrincipalId` authorization parameter is populated with the `appId` of the identity.
108108

@@ -154,17 +154,17 @@ Example output:
154154

155155
```json
156156
{
157-
"serviceprincipalid": "APP_ID",
158-
"tenantid": "TENANT_ID",
159-
"workloadIdentityFederationIssuer": "https://login.microsoftonline.com/TENANT_ID/v2.0",
157+
"serviceprincipalid": "00001111-aaaa-2222-bbbb-3333cccc4444",
158+
"tenantid": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
159+
"workloadIdentityFederationIssuer": "https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0",
160160
"workloadIdentityFederationIssuerType": "EntraID",
161161
"workloadIdentityFederationSubject": "<federation-subject>"
162162
}
163163
```
164164

165165
For more information about this command, see [Azure DevOps CLI service endpoint](/azure/devops/cli/service-endpoint).
166166

167-
## Create a federated identity credential
167+
## 4. Create a federated identity credential
168168

169169
Create a federated credential using the `workloadIdentityFederationIssuer` and `workloadIdentityFederationSubject` output from the __Create a service connection__ step.
170170

@@ -211,7 +211,7 @@ For more information about this command, see [az ad app federated-credential cre
211211

212212
---
213213

214-
## Create role assignment
214+
## 5. Create role assignment
215215

216216
Add a role assignment to your managed identity or app registration with `az role assignment create`. For available roles, see [Azure built-in roles](/azure/role-based-access-control/built-in-roles). The assignee of the role is the service principal associated with the app registration or managed identity. A service principal is identified by its ID, also called `principalId`. The `principalId` is in the output of the __Create identity__ command.
217217

0 commit comments

Comments
 (0)