You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For an Active Directory system-managed keytab deployment, you must also provide:
40
+
For an Active Directory system-managed keytab deployment, you must provide:
41
41
42
42
- 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)
44
44
45
45
---
46
46
@@ -54,31 +54,31 @@ To prepare for deployment in customer-managed keytab mode:
54
54
55
55
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.
56
56
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.
59
59
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.
61
61
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.
64
64
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.
66
66
67
67
- 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.
69
69
70
70
To create the account:
71
71
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.
75
75
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.
77
77
78
78
- 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.
80
80
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.
82
82
83
83
To create and register SPNs:
84
84
@@ -119,10 +119,8 @@ To prepare for deployment in customer-managed keytab mode:
119
119
120
120
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.
121
121
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.
126
124
- You can choose from multiple tools to generate a keytab file:
127
125
128
126
- `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:
153
151
- `--secondary-port`: The secondary SQL endpoint port number (optional). Example: `31434`
154
152
- `--secondary-dns-name`: The DNS name for the secondary SQL endpoint (optional).
155
153
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.
157
155
158
156
1. Run the following command to create a keytab:
159
157
@@ -173,9 +171,9 @@ To prepare for deployment in customer-managed keytab mode:
173
171
klist -kte <keytab file>
174
172
```
175
173
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.
177
175
178
-
The specification file should look like the following example:
176
+
The specification file looks similar to this example:
179
177
180
178
```yaml
181
179
apiVersion: v1
@@ -207,39 +205,38 @@ To prepare for deployment in system-managed keytab mode:
207
205
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.
208
206
209
207
- 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.
211
209
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.
213
211
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.
216
214
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.
218
216
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.
222
219
223
220
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.
224
221
225
222
- 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.
227
224
228
225
---
229
226
230
-
## Set properties for Active Directory authentication
227
+
## Set properties for Active Directory authentication in your specification file
231
228
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.
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.
237
234
238
235
#### Required
239
236
240
237
- `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.
241
238
- `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.
243
240
- `spec.services.primary.dnsName`: Enter a DNS name for the primary SQL endpoint.
244
241
- `spec.services.primary.port`: Enter a port number for the primary SQL endpoint.
245
242
@@ -251,12 +248,12 @@ To support Active Directory authentication on SQL in customer-managed keytab mod
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.
255
252
256
253
#### Required
257
254
258
255
- `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.
260
257
- `spec.services.primary.dnsName`: Enter a DNS name for the primary SQL endpoint.
261
258
- `spec.services.primary.port`: Enter a port number for the primary SQL endpoint.
262
259
@@ -274,7 +271,7 @@ To support Active Directory authentication on SQL in system-managed keytab mode,
274
271
Next, prepare a YAML specification file to deploy SQL Managed Instance. For the mode you use, enter your deployment values in the specification file.
275
272
276
273
> [!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).
0 commit comments