Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Single User Enterprise cloud connections #2587

Closed
suiciety opened this issue May 2, 2024 · 15 comments
Closed

Single User Enterprise cloud connections #2587

suiciety opened this issue May 2, 2024 · 15 comments
Labels

Comments

@suiciety
Copy link

suiciety commented May 2, 2024

I have a single user academic enterprise license and wanted to use the Cloud Explorer functions. However whenever I try to log in using my azure credentials I get a license exceeded error and can't proceed.

Is there a way to link the only account to my Azure identity to make this work or is that just a limitation of the Academic single license version?

@suiciety suiciety added question Further information is requested wait for review labels May 2, 2024
@LonwoLonwo
Copy link
Member

Hello @suiciety

Could you please provide the error text? You can find it in the log viewer.

@suiciety
Copy link
Author

suiciety commented May 2, 2024

When trying to use the Federated login I get the following:

io.cloudbeaver.DBWebException: Failed to perform federated authentication: You exceed the limit of the active users number for your license (1)
at io.cloudbeaver.service.auth.impl.WebServiceAuthImpl.authUpdateStatus(WebServiceAuthImpl.java:126)

image

So I have to log in locally, but when I do and use the Cloud explorer it can authenticate there but gives the following error:

Azure authentication is available in Azure AD session only
org.jkiss.dbeaver.DBException: Azure authentication is available in Azure AD session only
at com.dbeaver.net.auth.azure.AuthModelAzureCredentials.getAccessCredentials(AuthModelAzureCredentials.java:184)
at com.dbeaver.net.auth.azure.AuthModelAzureCredentials.authenticateWithToken(AuthModelAzureCredentials.java:125)
at com.dbeaver.cloud.azure.sql.AzureCloudSQLServerInstance.list(AzureCloudSQLServerInstance.java:51)
at com.dbeaver.cloud.azure.AzureCloudExplorer.getDatabaseInstances(AzureCloudExplorer.java:57)
at com.dbeaver.cloud.model.navigator.DBNCloudServiceNode.readServiceInstances(DBNCloudServiceNode.java:92)
at com.dbeaver.cloud.model.navigator.DBNCloudServiceNode.getChildren(DBNCloudServiceNode.java:79)
at org.jkiss.dbeaver.model.navigator.DBNUtils.getNodeChildrenFiltered(DBNUtils.java:91)
at io.cloudbeaver.service.navigator.impl.WebServiceNavigator.getNavigatorNodeChildren(WebServiceNavigator.java:103)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)

@EvgeniaBzzz
Copy link
Contributor

Hi @suiciety
If I got it ritght, you already have one user (local auth) and trying to login with the second user (microsoft entra).

Please try to specify the Azure username (e.g., email) as admin during the initial server configuration.
So you can use Azure username with password for local auth. And then configure Azure identitiy provider and login with federated provider. It will be the same user for CloudBeaver.

@EvgeniaBzzz
Copy link
Contributor

Hi @suiciety
Did you manage to log in?

@suiciety
Copy link
Author

Hi,
I've reset the configuration a few times and tried with both my upn and email address as the primary account but with no luck. It still errors out with the same exceeded limit message.

@EvgeniaBzzz
Copy link
Contributor

EvgeniaBzzz commented May 29, 2024

@suiciety
Please, try this:

  • login to the CloudBeaver with your local user;
  • check, that Azure provider is configured and enabled in admin panel;
  • on the main page of the application press Connection - Cloud connection and select Azure
  • try to expand Azure in Cloud explorer
    • here you should see Additional auth window
  • login with your Azure user
    So there will be additional authentication that allows you to use cloud connections even if you logged in to the application as local user.

@EvgeniaBzzz
Copy link
Contributor

Hi @suiciety
Any news here?

@EvgeniaBzzz
Copy link
Contributor

I suppose you have a summer break now :)
Additional authentication should work for your case.
I'm closing this issue, but feel free to reopen it if you encounter any futher difficulties.

@suiciety
Copy link
Author

Hi,

Sorry for the late reply, I can authenticate to Azure and see this list but whenever I try to expand the selection I get the same error.
image

image

org.jkiss.dbeaver.DBException: Azure authentication is available in Azure AD session only
	at com.dbeaver.net.auth.azure.AuthModelAzureCredentials.getAccessCredentials(AuthModelAzureCredentials.java:184)
	at com.dbeaver.net.auth.azure.AuthModelAzureCredentials.authenticateWithToken(AuthModelAzureCredentials.java:125)
	at com.dbeaver.cloud.azure.sql.AzureCloudSQLServerInstance.list(AzureCloudSQLServerInstance.java:51)
	at com.dbeaver.cloud.azure.AzureCloudExplorer.getDatabaseInstances(AzureCloudExplorer.java:57)
	at com.dbeaver.cloud.model.navigator.DBNCloudServiceNode.readServiceInstances(DBNCloudServiceNode.java:92)
	at com.dbeaver.cloud.model.navigator.DBNCloudServiceNode.getChildren(DBNCloudServiceNode.java:79)
	at org.jkiss.dbeaver.model.navigator.DBNUtils.getNodeChildrenFiltered(DBNUtils.java:91)
	at io.cloudbeaver.service.navigator.impl.WebServiceNavigator.getNavigatorNodeChildren(WebServiceNavigator.java:103)
	at jdk.internal.reflect.GeneratedMethodAccessor133.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)

@EvgeniaBzzz EvgeniaBzzz reopened this Jul 22, 2024
@EvgeniaBzzz
Copy link
Contributor

@suiciety
It may be related to the Azure authentication feature. Some functions require multifactor authentication.
Probably you can find such an error in server log:

ERROR i.c.a.p.m.e.o.WebMicrosoftEntraIDUtils - Error getting oauth token from response: invalid_grant;AADSTS50076: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access

Please, try to enable this option in Identity provider
image

The steps should look like this:

  • login as local user
  • press Connection - Cloud explorer
    -> cloud explorer window appears
  • expand Azure folder
    -> additional authentication window appears with Azure provider in the list
  • press on Azure in the list
    -> you will be redirected to microsoft service where you'll have to pass 2FA (e.g. code to email and code to authenticator app on the phone)
  • if additional authentication is successful, a list of drivers will appear. Expand and create needed driver.

@EvgeniaBzzz
Copy link
Contributor

EvgeniaBzzz commented Aug 7, 2024

I would be grateful for the feedback 🦫

@suiciety
Copy link
Author

suiciety commented Aug 7, 2024

I am also the Azure admin of the domain in question, are you saying that I need to enforce MFA using conditional access for Cloudbeaver specifically or for Azure?

@EvgeniaBzzz
Copy link
Contributor

EvgeniaBzzz commented Aug 8, 2024

For some actions Microsoft Entra ID require MFA. It became mandatory in July 2024.

So first you should enable and set MFA in Azure.
And then enable 'Provide access to databases from Azure Cloud' in your configured Microsoft Entra provider on CloudBeaver.

@EvgeniaBzzz
Copy link
Contributor

Hi @suiciety
How's it going?

@EvgeniaBzzz
Copy link
Contributor

Will close it for now. Please feel free to ask to reopen the ticket if it is still actual for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants