Skip to content

Commit 916f80f

Browse files
committed
Fix warnings
1 parent d001fb8 commit 916f80f

1 file changed

Lines changed: 110 additions & 111 deletions

File tree

articles/storage/files/storage-files-identity-auth-hybrid-cloud-trust.md

Lines changed: 110 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Before implementing the incoming trust-based authentication flow, make sure that
4444
| **Prerequisite** | **Description** |
4545
| --- | --- |
4646
| Client must run Windows 10, Windows Server 2012, or a higher version of Windows. | |
47-
| Clients must be joined to Active Directory (AD). The domain must have a functional level of Windows Server 2012 or higher. | You can determine if the client is joined to AD by running the [dsregcmd command](/azure/active-directory/devices/troubleshoot-device-dsregcmd): `dsregcmd.exe /status` |
47+
| Clients must be joined to Active Directory (AD). The domain must have a functional level of Windows Server 2012 or higher. | You can determine if the client is joined to Active Directory by running the [dsregcmd command](/azure/active-directory/devices/troubleshoot-device-dsregcmd): `dsregcmd.exe /status` |
4848
| A Microsoft Entra tenant. | A Microsoft Entra Tenant is an identity security boundary that's under the control of your organization's IT department. It's an instance of Microsoft Entra ID in which information about a single organization resides. |
4949
| An Azure subscription under the same Entra tenant you plan to use for authentication. | |
5050
| An Azure storage account in the Azure subscription. | An Azure storage account is a resource that acts as a container for grouping all the data services from Azure Storage, including files. |
@@ -142,8 +142,8 @@ You can configure the API permissions from the [Azure portal](https://portal.azu
142142
1. Select **Grant admin consent for [Directory Name]** to grant consent for the three requested API permissions (openid, profile, and User.Read) for all accounts in the directory.
143143
1. Select **Yes** to confirm.
144144

145-
> [!IMPORTANT]
146-
> If you're connecting to a storage account through a private endpoint or private link by using Microsoft Entra Kerberos authentication, add the private link FQDN to the storage account's Entra application. For instructions, see the entry in the [troubleshooting guide](/troubleshoot/azure/azure-storage/files-troubleshoot-smb-authentication?toc=/azure/storage/files/toc.json#error-1326---the-username-or-password-is-incorrect-when-using-private-link).
145+
> [!IMPORTANT]
146+
> If you're connecting to a storage account through a private endpoint or private link by using Microsoft Entra Kerberos authentication, add the private link FQDN to the storage account's Entra application. For instructions, see the entry in the [troubleshooting guide](/troubleshoot/azure/azure-storage/files-troubleshoot-smb-authentication?toc=/azure/storage/files/toc.json#error-1326---the-username-or-password-is-incorrect-when-using-private-link).
147147
148148
### Disable multifactor authentication on the storage account
149149

@@ -153,8 +153,8 @@ The storage account app should have the same name as the storage account in the
153153

154154
Remember to replace `<your-storage-account-name>` with the proper value.
155155

156-
> [!IMPORTANT]
157-
> If you don't exclude MFA policies from the storage account app, you can't access the file share. Trying to map the file share by using `net use` results in an error message that says "System error 1327: Account restrictions are preventing this user from signing in. For example: blank passwords aren't allowed, sign-in times are limited, or a policy restriction has been enforced."
156+
> [!IMPORTANT]
157+
> If you don't exclude MFA policies from the storage account app, you can't access the file share. Trying to map the file share by using `net use` results in an error message that says "System error 1327: Account restrictions are preventing this user from signing in. For example: blank passwords aren't allowed, sign-in times are limited, or a policy restriction has been enforced."
158158
159159
For guidance on disabling MFA, see the following articles:
160160

@@ -217,108 +217,107 @@ Install-Module -Name AzureADHybridAuthenticationManagement -AllowClobber
217217

218218
1. Set the common parameters. Customize the script before running it.
219219

220-
- Set the `$domain` parameter to your on-premises Active Directory domain name.
221-
- When prompted by `Get-Credential`, enter an on-premises Active Directory administrator username and password. This account must either be a member of the Domain Admins group for the domain or a member of the Enterprise Admins group for the domain's forest.
222-
- Set the `$cloudUserName` parameter to the username of a Global Administrator privileged account for Entra ID cloud access.
220+
- Set the `$domain` parameter to your on-premises Active Directory domain name.
221+
- When prompted by `Get-Credential`, enter an on-premises Active Directory administrator username and password. This account must either be a member of the Domain Admins group for the domain or a member of the Enterprise Admins group for the domain's forest.
222+
- Set the `$cloudUserName` parameter to the username of a Global Administrator privileged account for Entra ID cloud access.
223223

224-
> [!NOTE]
225-
> If you want to use your current Windows sign-in account for your on-premises Active Directory access, you can skip the step where you assign credentials to the `$domainCred` parameter. If you take this approach, don't include the `-DomainCredential` parameter in the PowerShell commands following this step.
224+
> [!NOTE]
225+
> If you want to use your current Windows sign-in account for your on-premises Active Directory access, you can skip the step where you assign credentials to the `$domainCred` parameter. If you take this approach, don't include the `-DomainCredential` parameter in the PowerShell commands following this step.
226226
227-
```powershell
228-
$domain = "your on-premises domain name, for example contoso.com"
229-
230-
$domainCred = Get-Credential
231-
232-
$cloudUserName = "Azure AD user principal name, for example [email protected]"
233-
```
227+
```powershell
228+
$domain = "your on-premises domain name, for example contoso.com"
229+
$domainCred = Get-Credential
230+
$cloudUserName = "Microsoft Entra ID user principal name, for example [email protected]"
231+
```
234232

235233
1. Check the current Kerberos Domain Settings.
236234

237-
Run the following command to check your domain's current Kerberos settings:
238-
239-
```powershell
240-
Get-AzureAdKerberosServer -Domain $domain `
241-
-DomainCredential $domainCred `
242-
-UserPrincipalName $cloudUserName
243-
```
244-
245-
If this is the first time calling any Microsoft Entra Kerberos command, you're prompted for Entra ID cloud access.
246-
- Enter the password for your Entra ID Global Administrator account.
247-
- If your organization uses other modern authentication methods such as Entra multifactor authentication or Smart Card, follow the instructions as requested for sign in.
248-
249-
If this is the first time you're configuring Microsoft Entra Kerberos settings, the [Get-AzureAdKerberosServer cmdlet](/azure/active-directory/authentication/howto-authentication-passwordless-security-key-on-premises#view-and-verify-the-azure-ad-kerberos-server) displays empty information, as in the following sample output:
250-
251-
```output
252-
ID :
253-
UserAccount :
254-
ComputerAccount :
255-
DisplayName :
256-
DomainDnsName :
257-
KeyVersion :
258-
KeyUpdatedOn :
259-
KeyUpdatedFrom :
260-
CloudDisplayName :
261-
CloudDomainDnsName :
262-
CloudId :
263-
CloudKeyVersion :
264-
CloudKeyUpdatedOn :
265-
CloudTrustDisplay :
266-
```
267-
268-
If your domain already supports FIDO authentication, the `Get-AzureAdKerberosServer` cmdlet displays Entra service account information, as in the following sample output. The `CloudTrustDisplay` field returns an empty value.
269-
270-
```output
271-
ID : XXXXX
272-
UserAccount : CN=krbtgt-AzureAD, CN=Users, DC=contoso, DC=com
273-
ComputerAccount : CN=AzureADKerberos, OU=Domain Controllers, DC=contoso, DC=com
274-
DisplayName : XXXXXX_XXXXX
275-
DomainDnsName : contoso.com
276-
KeyVersion : 53325
277-
KeyUpdatedOn : 2/24/2024 9:03:15 AM
278-
KeyUpdatedFrom : ds-aad-auth-dem.contoso.com
279-
CloudDisplayName : XXXXXX_XXXXX
280-
CloudDomainDnsName : contoso.com
281-
CloudId : XXXXX
282-
CloudKeyVersion : 53325
283-
CloudKeyUpdatedOn : 2/24/2024 9:03:15 AM
284-
CloudTrustDisplay :
285-
```
235+
Run the following command to check your domain's current Kerberos settings:
236+
237+
```powershell
238+
Get-AzureAdKerberosServer -Domain $domain `
239+
-DomainCredential $domainCred `
240+
-UserPrincipalName $cloudUserName
241+
```
242+
243+
If this is the first time calling any Microsoft Entra Kerberos command, you're prompted for Entra ID cloud access.
244+
245+
- Enter the password for your Entra ID Global Administrator account.
246+
- If your organization uses other modern authentication methods such as Entra multifactor authentication or Smart Card, follow the instructions as requested for sign in.
247+
248+
If this is the first time you're configuring Microsoft Entra Kerberos settings, the [Get-AzureAdKerberosServer cmdlet](/azure/active-directory/authentication/howto-authentication-passwordless-security-key-on-premises#view-and-verify-the-azure-ad-kerberos-server) displays empty information, as in the following sample output:
249+
250+
```output
251+
ID :
252+
UserAccount :
253+
ComputerAccount :
254+
DisplayName :
255+
DomainDnsName :
256+
KeyVersion :
257+
KeyUpdatedOn :
258+
KeyUpdatedFrom :
259+
CloudDisplayName :
260+
CloudDomainDnsName :
261+
CloudId :
262+
CloudKeyVersion :
263+
CloudKeyUpdatedOn :
264+
CloudTrustDisplay :
265+
```
266+
267+
If your domain already supports FIDO authentication, the `Get-AzureAdKerberosServer` cmdlet displays Entra service account information, as in the following sample output. The `CloudTrustDisplay` field returns an empty value.
268+
269+
```output
270+
ID : XXXXX
271+
UserAccount : CN=krbtgt-AzureAD, CN=Users, DC=contoso, DC=com
272+
ComputerAccount : CN=AzureADKerberos, OU=Domain Controllers, DC=contoso, DC=com
273+
DisplayName : XXXXXX_XXXXX
274+
DomainDnsName : contoso.com
275+
KeyVersion : 53325
276+
KeyUpdatedOn : 2/24/2024 9:03:15 AM
277+
KeyUpdatedFrom : ds-aad-auth-dem.contoso.com
278+
CloudDisplayName : XXXXXX_XXXXX
279+
CloudDomainDnsName : contoso.com
280+
CloudId : XXXXX
281+
CloudKeyVersion : 53325
282+
CloudKeyUpdatedOn : 2/24/2024 9:03:15 AM
283+
CloudTrustDisplay :
284+
```
286285

287286
1. Add the Trusted Domain Object.
288287

289-
Run the [Set-AzureAdKerberosServer PowerShell cmdlet](/azure/active-directory/authentication/howto-authentication-passwordless-security-key-on-premises#create-a-kerberos-server-object) to add the Trusted Domain Object. Be sure to include `-SetupCloudTrust` parameter. If there's no Entra service account, this command creates a new Entra service account. This command only creates the requested Trusted Domain object if there's a Entra service account.
290-
291-
```powershell
292-
Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $cloudUserName -DomainCredential $domainCred -SetupCloudTrust
293-
```
294-
295-
> [!NOTE]
296-
> In a multiple domain forest, to avoid the error *LsaCreateTrustedDomainEx 0x549* when running the command on a child domain:
297-
>
298-
> 1. Run the command on root domain (include `-SetupCloudTrust` parameter).
299-
> 1. Run the same command on the child domain without the `-SetupCloudTrust` parameter.
300-
301-
After creating the Trusted Domain Object, you can check the updated Kerberos Settings by using the `Get-AzureAdKerberosServer` PowerShell cmdlet, as shown in the previous step. If the `Set-AzureAdKerberosServer` cmdlet runs successfully with the `-SetupCloudTrust` parameter, the `CloudTrustDisplay` field returns `Microsoft.AzureAD.Kdc.Service.TrustDisplay`, as shown in the following sample output:
302-
303-
```output
304-
ID : XXXXX
305-
UserAccount : CN=krbtgt-AzureAD, CN=Users, DC=contoso, DC=com
306-
ComputerAccount : CN=AzureADKerberos, OU=Domain Controllers, DC=contoso, DC=com
307-
DisplayName : XXXXXX_XXXXX
308-
DomainDnsName : contoso.com
309-
KeyVersion : 53325
310-
KeyUpdatedOn : 2/24/2024 9:03:15 AM
311-
KeyUpdatedFrom : ds-aad-auth-dem.contoso.com
312-
CloudDisplayName : XXXXXX_XXXXX
313-
CloudDomainDnsName : contoso.com
314-
CloudId : XXXXX
315-
CloudKeyVersion : 53325
316-
CloudKeyUpdatedOn : 2/24/2024 9:03:15 AM
317-
CloudTrustDisplay : Microsoft.AzureAD.Kdc.Service.TrustDisplay
318-
```
319-
320-
> [!NOTE]
321-
> Azure sovereign clouds require setting the `TopLevelNames` property, which is set to `windows.net` by default. Azure sovereign cloud deployments of Azure SQL Managed Instance use a different top-level domain name, such as `usgovcloudapi.net` for Azure US Government. Set your Trusted Domain Object to that top-level domain name by using the following PowerShell command: `Set-AzureADKerberosServer -Domain $domain -DomainCredential $domainCred -CloudCredential $cloudCred -SetupCloudTrust -TopLevelNames "usgovcloudapi.net,windows.net"`. You can verify the setting by using the following PowerShell command: `Get-AzureAdKerberosServer -Domain $domain -DomainCredential $domainCred -UserPrincipalName $cloudUserName | Select-Object -ExpandProperty CloudTrustDisplay`.
288+
Run the [Set-AzureAdKerberosServer PowerShell cmdlet](/azure/active-directory/authentication/howto-authentication-passwordless-security-key-on-premises#create-a-kerberos-server-object) to add the Trusted Domain Object. Be sure to include `-SetupCloudTrust` parameter. If there's no Entra service account, this command creates a new Entra service account. This command only creates the requested Trusted Domain object if there's a Entra service account.
289+
290+
```powershell
291+
Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $cloudUserName -DomainCredential $domainCred -SetupCloudTrust
292+
```
293+
294+
> [!NOTE]
295+
> In a multiple domain forest, to avoid the error *LsaCreateTrustedDomainEx 0x549* when running the command on a child domain:
296+
>
297+
> 1. Run the command on root domain (include `-SetupCloudTrust` parameter).
298+
> 1. Run the same command on the child domain without the `-SetupCloudTrust` parameter.
299+
300+
After creating the Trusted Domain Object, you can check the updated Kerberos Settings by using the `Get-AzureAdKerberosServer` PowerShell cmdlet, as shown in the previous step. If the `Set-AzureAdKerberosServer` cmdlet runs successfully with the `-SetupCloudTrust` parameter, the `CloudTrustDisplay` field returns `Microsoft.AzureAD.Kdc.Service.TrustDisplay`, as shown in the following sample output:
301+
302+
```output
303+
ID : XXXXX
304+
UserAccount : CN=krbtgt-AzureAD, CN=Users, DC=contoso, DC=com
305+
ComputerAccount : CN=AzureADKerberos, OU=Domain Controllers, DC=contoso, DC=com
306+
DisplayName : XXXXXX_XXXXX
307+
DomainDnsName : contoso.com
308+
KeyVersion : 53325
309+
KeyUpdatedOn : 2/24/2024 9:03:15 AM
310+
KeyUpdatedFrom : ds-aad-auth-dem.contoso.com
311+
CloudDisplayName : XXXXXX_XXXXX
312+
CloudDomainDnsName : contoso.com
313+
CloudId : XXXXX
314+
CloudKeyVersion : 53325
315+
CloudKeyUpdatedOn : 2/24/2024 9:03:15 AM
316+
CloudTrustDisplay : Microsoft.AzureAD.Kdc.Service.TrustDisplay
317+
```
318+
319+
> [!NOTE]
320+
> Azure sovereign clouds require setting the `TopLevelNames` property, which is set to `windows.net` by default. Azure sovereign cloud deployments of Azure SQL Managed Instance use a different top-level domain name, such as `usgovcloudapi.net` for Azure US Government. Set your Trusted Domain Object to that top-level domain name by using the following PowerShell command: `Set-AzureADKerberosServer -Domain $domain -DomainCredential $domainCred -CloudCredential $cloudCred -SetupCloudTrust -TopLevelNames "usgovcloudapi.net,windows.net"`. You can verify the setting by using the following PowerShell command: `Get-AzureAdKerberosServer -Domain $domain -DomainCredential $domainCred -UserPrincipalName $cloudUserName | Select-Object -ExpandProperty CloudTrustDisplay`.
322321
323322
## Configure the clients to retrieve Kerberos tickets
324323

@@ -328,22 +327,22 @@ Set this Group Policy on the clients to "Enabled": `Administrative Templates\Sys
328327

329328
1. Deploy the following Group Policy setting to client machines by using the incoming trust-based flow:
330329

331-
1. Edit the **Administrative Templates\System\Kerberos\Specify KDC proxy servers for Kerberos clients** policy setting.
332-
1. Select **Enabled**.
333-
1. Under **Options**, select **Show...**. This selection opens the Show Contents dialog box.
330+
1. Edit the **Administrative Templates\System\Kerberos\Specify KDC proxy servers for Kerberos clients** policy setting.
331+
1. Select **Enabled**.
332+
1. Under **Options**, select **Show...**. This selection opens the Show Contents dialog box.
334333

335-
:::image type="content" source="media/storage-files-identity-auth-hybrid-cloud-trust/configure-policy-kdc-proxy.png" alt-text="Screenshot of dialog box to enable 'Specify KDC proxy servers for Kerberos clients'. The 'Show Contents' dialog allows input of a value name and the related value." lightbox="media/storage-files-identity-auth-hybrid-cloud-trust/configure-policy-kdc-proxy.png":::
334+
:::image type="content" source="media/storage-files-identity-auth-hybrid-cloud-trust/configure-policy-kdc-proxy.png" alt-text="Screenshot of dialog box to enable 'Specify KDC proxy servers for Kerberos clients'. The 'Show Contents' dialog allows input of a value name and the related value." lightbox="media/storage-files-identity-auth-hybrid-cloud-trust/configure-policy-kdc-proxy.png":::
336335

337-
1. Define the KDC proxy servers settings using mappings as follows. Substitute your Entra tenant ID for the `your_Azure_AD_tenant_id` placeholder. Note the space following `https` and before the closing `/` in the value mapping.
336+
1. Define the KDC proxy servers settings using mappings as follows. Substitute your Entra tenant ID for the `your_Azure_AD_tenant_id` placeholder. Note the space following `https` and before the closing `/` in the value mapping.
338337

339-
| Value name | Value |
340-
| --- | --- |
341-
| KERBEROS.MICROSOFTONLINE.COM | <https login.microsoftonline.com:443:`your_Azure_AD_tenant_id`/kerberos /> |
338+
| Value name | Value |
339+
| --- | --- |
340+
| KERBEROS.MICROSOFTONLINE.COM | <https login.microsoftonline.com:443:`your_Azure_AD_tenant_id`/kerberos /> |
342341

343-
:::image type="content" source="media/storage-files-identity-auth-hybrid-cloud-trust/configure-policy-kdc-proxy-server-settings-detail.png" alt-text="Screenshot of the 'Define KDC proxy server settings' dialog box. A table allows input of multiple rows. Each row consists of a value name and a value." lightbox="media/storage-files-identity-auth-hybrid-cloud-trust/configure-policy-kdc-proxy-server-settings-detail.png":::
342+
:::image type="content" source="media/storage-files-identity-auth-hybrid-cloud-trust/configure-policy-kdc-proxy-server-settings-detail.png" alt-text="Screenshot of the 'Define KDC proxy server settings' dialog box. A table allows input of multiple rows. Each row consists of a value name and a value." lightbox="media/storage-files-identity-auth-hybrid-cloud-trust/configure-policy-kdc-proxy-server-settings-detail.png":::
344343

345-
1. Select **OK** to close the 'Show Contents' dialog box.
346-
1. Select **Apply** on the 'Specify KDC proxy servers for Kerberos clients' dialog box.
344+
1. Select **OK** to close the 'Show Contents' dialog box.
345+
1. Select **Apply** on the 'Specify KDC proxy servers for Kerberos clients' dialog box.
347346

348347
## Rotate the Kerberos key
349348

@@ -389,4 +388,4 @@ Remove-AzureAdKerberosServer -Domain $domain `
389388

390389
## Next step
391390

392-
- [Mount an Azure file share](storage-files-identity-mount-file-share.md)
391+
- [Mount an SMB Azure file share](storage-files-identity-mount-file-share.md)

0 commit comments

Comments
 (0)