Hello testacc9877,
Welcome to the Microsoft Q&A and thank you for posting your questions here.
I understand that you would like to migrate Azure SQL VMs to Azure SQL Managed Instance and you have questions to affirm your authentication with Windows AD users' processes.
Migrating from Azure SQL VMs to Azure SQL Managed Instance (MI) while integrating with an on-premises Windows Active Directory (AD) domain involves several steps and considerations. Regarding each of your questions:
In this document it says that "you will turn your Microsoft Entra tenant into an independent Kerberos realm and create an incoming trust in the customer domain."
. Is our Entra tenant going to be converted into a Kerberos realm, and if so is it reversible?
When you set up the trust-based flow, your Microsoft Entra tenant (formerly Azure AD) is indeed turned into an independent Kerberos realm. This setup allows for the creation of an incoming trust in your on-premises AD domain. This process is reversible, meaning you can remove the trust and revert the configuration if needed - https://www.youtube.com/watch?v=p1mKqxWcbUo2
In this document there are different SQL authentication metadata modes. If I use Paired
will I still need to sync the Windows AD user to Entra ID?
If you use the Paired mode, you will still need to sync your Windows AD users to Microsoft Entra ID. The Paired mode allows for the coexistence of users and groups from both Windows AD and Entra ID, enabling authentication for both - https://www.youtube.com/watch?v=VM0eiOmE35I
Is the benefit of the Paired
mode that I can have independent users/groups in Entra ID, that are not found in Windows AD, and allow for both Entra ID/Windows AD users/groups to login to SQL MI?
The primary benefit of the Paired mode is that it allows you to have independent users and groups in Entra ID that are not present in Windows AD. This flexibility means both Entra ID and Windows AD users/groups can authenticate to SQL MI - https://www.youtube.com/watch?v=VM0eiOmE35I
In this document I will need to setup a GPO for a KDC proxy. Am I able to set this up for specific VMs or will it apply to all domain joined VMs?
You can configure the Group Policy Object (GPO) for the Kerberos Key Distribution Center (KDC) proxy to apply to specific VMs. This setup allows you to target only the necessary domain-joined VMs rather than applying it universally - https://www.youtube.com/watch?v=VM0eiOmE35I
When my application is running and attempts to authenticate to SQL MI how does the authentication flow work exactly? Does the application attempt to authenticate to the SQL MI resource and then since I'm using the Paired SQL Authentication metadata mode does SQL MI know to find the trust relationship that I setup previously? I'm a bit confused on how exactly that whole authentication flow works.
When your application attempts to authenticate to SQL MI, the authentication flow works as follows:
The application uses the AD account it is running as to request a Kerberos ticket. The Kerberos ticket is then used to authenticate to SQL MI. Since you are using the Paired SQL Authentication metadata mode, SQL MI will recognize the trust relationship you previously set up and authenticate the user accordingly - https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/migrate-sql-server-users-to-instance-transact-sql-tsql-tutorial?view=azuresql
Do I need to run a CREATE LOGIN [DOMAIN\USER] FROM WINDOWS
on SQL MI? Is this also what helps in the authentication flow to determine if the user is from Entra ID vs Windows AD in my previous question?
Yes, you will need to run CREATE LOGIN [DOMAIN\USER] FROM WINDOWS on SQL MI. This command helps SQL MI recognize and authenticate the user based on whether they are from Entra ID or Windows AD - https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/winauth-azuread-setup?view=azuresql
I hope this is helpful! Do not hesitate to let me know if you have any other questions.
Please don't forget to close up the thread here by upvoting and accept it as an answer if it is helpful.