Skip to content

Commit 4da8d42

Browse files
committed
edits
1 parent 344c0f6 commit 4da8d42

File tree

1 file changed

+43
-42
lines changed

1 file changed

+43
-42
lines changed

articles/azure-arc/data/deploy-active-directory-sql-managed-instance.md

Lines changed: 43 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,18 @@ The customer-managed keytab Active Directory connector and the system-managed ke
2929

3030
### [Customer-managed keytab mode](#tab/customer-managed-keytab-mode)
3131

32-
For an Active Directory customer-managed keytab deployment, you must also provide:
32+
For an Active Directory customer-managed keytab deployment, you must provide:
3333

3434
- An Active Directory user account for SQL
35-
- Service Principal Names (SPNs) under the user account
36-
- DNS A (forward) record for the primary (and optional secondary) endpoint of SQL
35+
- Service principal names (SPNs) under the user account
36+
- DNS A (forward) record for the primary endpoint of SQL (and optionally, a secondary endpoint)
3737

3838
### [System-managed keytab mode](#tab/system-managed-keytab-mode)
3939

40-
For an Active Directory system-managed keytab deployment, you must also provide:
40+
For an Active Directory system-managed keytab deployment, you must provide:
4141

4242
- A unique name of an Active Directory user account for SQL
43-
- DNS A (forward) record for the primary (and optional secondary) endpoint of SQL
43+
- DNS A (forward) record for the primary endpoint of SQL (and optionally, a secondary endpoint)
4444

4545
---
4646

@@ -54,31 +54,31 @@ To prepare for deployment in customer-managed keytab mode:
5454

5555
1. **Identify a DNS name for the SQL endpoints**: Choose unique DNS names for the SQL endpoints that clients will connect to from outside the Kubernetes cluster.
5656

57-
- The DNS names should be in the Active Directory domain or its descendant domains.
58-
- The examples in these instructions use `sqlmi-primary.contoso.local` for the primary DNS name and `sqlmi-secondary.contoso.local` for the secondary DNS name.
57+
- The DNS names should be in the Active Directory domain or in its descendant domains.
58+
- The examples in this article use `sqlmi-primary.contoso.local` for the primary DNS name and `sqlmi-secondary.contoso.local` for the secondary DNS name.
5959

60-
1. **Identify the port numbers for the SQL endpoints**: Provide a port number for each of the SQL endpoints.
60+
1. **Identify the port numbers for the SQL endpoints**: Enter a port number for each of the SQL endpoints.
6161

62-
- The port numbers must be in the acceptable range of port numbers for Kubernetes cluster.
63-
- The examples in these instructions use `31433` for the primary port number and `31434` for the secondary port number.
62+
- The port numbers must be in the acceptable range of port numbers for your Kubernetes cluster.
63+
- The examples in this article use `31433` for the primary port number and `31434` for the secondary port number.
6464

65-
1. **Create an Active Directory account for the SQL managed instance**: Choose a name for the Active Directory account to represent your SQL managed instance.
65+
1. **Create an Active Directory account for the managed instance**: Choose a name for the Active Directory account to represent your managed instance.
6666

6767
- The name must be unique in the Active Directory domain.
68-
- The examples in these instructions use `sqlmi-account` for the Active Directory account name.
68+
- The examples in this article use `sqlmi-account` for the Active Directory account name.
6969

7070
To create the account:
7171

72-
1. On the domain controller, open the Active Directory Users and Computers tool. Create an account to represent the SQL managed instance.
73-
1. Enter an account password that complies with the Active Directory domain password policy. You'll use this password in some of the next steps.
74-
1. Ensure that the account is enabled. The account does not need any special permissions.
72+
1. On the domain controller, open the Active Directory Users and Computers tool. Create an account to represent the managed instance.
73+
1. Enter an account password that complies with the Active Directory domain password policy. You'll use this password in some of the steps in the next sections.
74+
1. Ensure that the account is enabled. The account doesn't need any special permissions.
7575

76-
1. **Create DNS records for the SQL endpoints in the Active Directory DNS servers**: In one of the Active Directory DNS servers, create A records (forward lookup records) for the DNS name you chose in step 1.
76+
1. **Create DNS records for the SQL endpoints in the Active Directory DNS servers**: In one of the Active Directory DNS servers, create A records (forward lookup records) for the DNS name you chose in step 1.
7777

7878
- The DNS records should point to the IP address that the SQL endpoint will listen on for connections from outside the Kubernetes cluster.
79-
- You don't need to create PTR records (reverse lookup records) in association with the A records.
79+
- You don't need to create reverse-lookup Pointer (PTR) records in association with the A records.
8080

81-
1. **Create Service Principal Names (SPNs)**: For SQL to be able to accept Active Directory authentication against the SQL endpoints, you must register two SPNs in the account you created in the preceding step. Two SPNs must be registered for the primary endpoint. If you want Active Directory authentication for the secondary endpoint, the SPNs must also be registered for the secondary endpoint.
81+
1. **Create SPNs**: For SQL to be able to accept Active Directory authentication against the SQL endpoints, you must register two SPNs in the account you created in the preceding step. Two SPNs must be registered for the primary endpoint. If you want Active Directory authentication for the secondary endpoint, the SPNs must also be registered for the secondary endpoint.
8282

8383
To create and register SPNs:
8484

@@ -119,10 +119,8 @@ To prepare for deployment in customer-managed keytab mode:
119119
120120
1. **Generate a keytab file that has entries for the account and SPNs**: For SQL to be able to authenticate itself to Active Directory and accept authentication from Active Directory users, provide a keytab file by using a Kubernetes secret.
121121
122-
- The keytab file contains encrypted entries for the Active Directory account generated for the managed instance and the SPNs.
123-
124-
- SQL Server will use this file as its credential against Active Directory.
125-
122+
- The keytab file contains encrypted entries for the Active Directory account that's generated for the managed instance and the SPNs.
123+
- SQL Server uses this file as its credential against Active Directory.
126124
- You can choose from multiple tools to generate a keytab file:
127125
128126
- `adutil`: Available for Linux (see [Introduction to adutil](/sql/linux/sql-server-linux-ad-auth-adutil-introduction))
@@ -153,7 +151,7 @@ To prepare for deployment in customer-managed keytab mode:
153151
- `--secondary-port`: The secondary SQL endpoint port number (optional). Example: `31434`
154152
- `--secondary-dns-name`: The DNS name for the secondary SQL endpoint (optional).
155153
156-
Choose a name for the Kubernetes secret that hosts the keytab. Use the namespace where the SQL managed instance is deployed.
154+
Choose a name for the Kubernetes secret that hosts the keytab. Use the namespace where the managed instance is deployed.
157155
158156
1. Run the following command to create a keytab:
159157
@@ -173,9 +171,9 @@ To prepare for deployment in customer-managed keytab mode:
173171
klist -kte <keytab file>
174172
```
175173
176-
1. **Deploy the Kubernetes secret for the keytab**: Use the Kubernetes secret specification file generated in the previous step to deploy the secret.
174+
1. **Deploy the Kubernetes secret for the keytab**: Use the Kubernetes secret specification file you create in the preceding step to deploy the secret.
177175
178-
The specification file should look like the following example:
176+
The specification file looks similar to this example:
179177
180178
```yaml
181179
apiVersion: v1
@@ -207,39 +205,38 @@ To prepare for deployment in system-managed keytab mode:
207205
1. **Identify a DNS name for the SQL endpoints**: Choose unique DNS names for the SQL endpoints that clients will connect to from outside the Kubernetes cluster.
208206
209207
- The DNS names should be in the Active Directory domain or its descendant domains.
210-
- The examples in these instructions use `sqlmi-primary.contoso.local` for the primary DNS name and `sqlmi-secondary.contoso.local` for the secondary DNS name.
208+
- The examples in this article use `sqlmi-primary.contoso.local` for the primary DNS name and `sqlmi-secondary.contoso.local` for the secondary DNS name.
211209
212-
1. **Identify the port numbers for the SQL endpoints**: Provide a port number for each of the SQL endpoints.
210+
1. **Identify the port numbers for the SQL endpoints**: Enter a port number for each of the SQL endpoints.
213211
214-
- The port numbers must be in the acceptable range of port numbers for Kubernetes cluster.
215-
- The examples in these instructions use `31433` for the primary port number and `31434` for the secondary port number.
212+
- The port numbers must be in the acceptable range of port numbers for your Kubernetes cluster.
213+
- The examples in this article use `31433` for the primary port number and `31434` for the secondary port number.
216214
217-
1. **Choose an Active Directory account name for SQL**: Choose a name for the Active Directory account that will represent your SQL.
215+
1. **Choose an Active Directory account name for SQL**: Choose a name for the Active Directory account that will represent your managed instance.
218216
219-
- This name should be unique in the Active Directory domain and the account must NOT pre-exist in the domain. The system will generate this account in the domain.
220-
221-
- The examples in these instructions use `sqlmi-account` for the Active Directory account name.
217+
- This name should be unique in the Active Directory domain, and the account must *not* already exist in the domain. This account is automatically generated in the domain.
218+
- The examples in this article use `sqlmi-account` for the Active Directory account name.
222219
223220
1. **Create DNS records for the SQL endpoints in the Active Directory DNS servers**: In one of the Active Directory DNS servers, create A records (forward lookup records) for the DNS names chosen in step 1.
224221
225222
- The DNS records should point to the IP address that the SQL endpoint will listen on for connections from outside the Kubernetes cluster.
226-
- You don't need to create PTR records (reverse lookup records) in association with the A records.
223+
- You don't need to create reverse-lookup Pointer (PTR) records in association with the A records.
227224
228225
---
229226
230-
## Set properties for Active Directory authentication
227+
## Set properties for Active Directory authentication in your specification file
231228
232-
To deploy an Azure Arc-enabled SQL Managed Instance for Azure Arc Active Directory authentication, the deployment specification must reference the Active Directory connector instance to use. Referencing the Active Directory connector in the SQL specification automatically sets up SQL to do Active Directory authentication.
229+
To deploy an Azure Arc-enabled SQL Managed Instance for Azure Arc Active Directory authentication, update your deployment specification file to reference the Active Directory connector instance to use. Referencing the Active Directory connector in the SQL specification file automatically sets up SQL for Active Directory authentication.
233230
234231
### [Customer-managed keytab mode](#tab/customer-managed-keytab-mode)
235232
236-
To support Active Directory authentication on SQL in customer-managed keytab mode, the deployment specification file uses the following properties:
233+
To support Active Directory authentication on SQL in customer-managed keytab mode, set the following properties in your deployment specification file. Some properties are required and some are optional.
237234
238235
#### Required
239236
240237
- `spec.security.activeDirectory.connector.name`: The name of the preexisting Active Directory connector custom resource to join for Active Directory authentication. If you enter a value for this property, Active Directory authentication is implemented.
241238
- `spec.security.activeDirectory.accountName`: The name of the Active Directory account for the managed instance.
242-
- `spec.security.activeDirectory.keytabSecret`: The name of the Kubernetes secret that hosts the pre-created keytab file by users. This secret must be in the same namespace as the managed instance. This parameter is required only for the Active Directory deployment in customer-managed keytab mode.
239+
- `spec.security.activeDirectory.keytabSecret`: The name of the Kubernetes secret that hosts the pre-created keytab file for users. This secret must be in the same namespace as the managed instance. This parameter is required only for the Active Directory deployment in customer-managed keytab mode.
243240
- `spec.services.primary.dnsName`: Enter a DNS name for the primary SQL endpoint.
244241
- `spec.services.primary.port`: Enter a port number for the primary SQL endpoint.
245242
@@ -251,12 +248,12 @@ To support Active Directory authentication on SQL in customer-managed keytab mod
251248
252249
### [System-managed keytab mode](#tab/system-managed-keytab-mode)
253250
254-
To support Active Directory authentication on SQL in system-managed keytab mode, the deployment specification file uses the following properties:
251+
To support Active Directory authentication on SQL in system-managed keytab mode, set the following properties in your deployment specification file. Some properties are required and some are optional.
255252
256253
#### Required
257254
258255
- `spec.security.activeDirectory.connector.name`: The name of the preexisting Active Directory connector custom resource to join for Active Directory authentication. If you enter a value for this property, Active Directory authentication is implemented.
259-
- `spec.security.activeDirectory.accountName`: The name of the Active Directory account for the SQL managed instance. This account is automatically generated for this managed instance and must not exist in the domain before you deploy SQL.
256+
- `spec.security.activeDirectory.accountName`: The name of the Active Directory account for the managed instance. This account is automatically generated for this managed instance and must not exist in the domain before you deploy SQL.
260257
- `spec.services.primary.dnsName`: Enter a DNS name for the primary SQL endpoint.
261258
- `spec.services.primary.port`: Enter a port number for the primary SQL endpoint.
262259
@@ -274,7 +271,7 @@ To support Active Directory authentication on SQL in system-managed keytab mode,
274271
Next, prepare a YAML specification file to deploy SQL Managed Instance. For the mode you use, enter your deployment values in the specification file.
275272
276273
> [!NOTE]
277-
> In the specification file for both modes, the `admin-login-secret` value in the YAML example provides basic authentication. You can use the parameter value to log in to the SQL managed instance, and then create logins for Active Directory users and groups. For more information, see [Connect to Active Directory-integrated Azure Arc-enabled SQL Managed Instance](connect-active-directory-sql-managed-instance.md).
274+
> In the specification file for both modes, the `admin-login-secret` value in the YAML example provides basic authentication. You can use the parameter value to log in to the managed instance, and then create logins for Active Directory users and groups. For more information, see [Connect to Active Directory-integrated Azure Arc-enabled SQL Managed Instance](connect-active-directory-sql-managed-instance.md).
278275
279276
### [Customer-managed keytab mode](#tab/customer-managed-keytab-mode)
280277
@@ -401,10 +398,14 @@ For both customer-managed keytab mode and system-managed keytab mode, deploy the
401398
402399
```console
403400
kubectl apply -f <specification file name>
401+
```
404402

403+
Your command might look like the following example:
405404

405+
```console
406+
kubectl apply -f sqlmi.yaml
406407
```
407408

408409
## Next steps
409410

410-
- [Connect to Active Directory integrated Azure Arc-enabled SQL Managed Instance](connect-active-directory-sql-managed-instance.md).
411+
- [Connect to Active Directory-integrated Azure Arc-enabled SQL Managed Instance](connect-active-directory-sql-managed-instance.md).

0 commit comments

Comments
 (0)