Enable HTTPS on pgAdmin in Server Mode

2023-12-18 Thread Morten Bonnerup Rasmussen
Hi

I am working on deployment of pgAdmin 4 as part of a postgreSQL package in our 
enterprise environment.

I have currently installed pgAdmin in server mode on a Windows Server, but 
running into problems configuring OAUTH2 authentication. I have enabled Azure 
AD/Entra ID authentication based on the following guide by Asmita
How to Configure OAuth 2.0 with Azure AD in pgAdmin4 | by Asmita Thapliyal | 
Medium<https://medium.com/@asmita.thapliyal/how-to-configure-oauth-2-0-with-azure-ad-in-pgadmin4-2c1500d52d9d>

But redirect URI in Azure app registration requires a HTTPS link and I have not 
found a way to specify a server certificate (currently selfsigned for testing 
purposes).
I have not been able to find anything on config file and only references I have 
found online involves NGINX or similar, but I would prefer not introducing 
further complications if possible.
Know of any way to natively enabling HTTPS connection to pgAdmin?



Morten Bonnerup Rasmussen

TECH Reliability Services   /   Specialist

BESTSELLER A/S

FREDSKOVVEJ 1, 7330 BRANDE

DENMARK

[cid:36db829f-2335-444d-b681-53cfd5158df6]






Re: Enable HTTPS on pgAdmin in Server Mode

2024-01-03 Thread Morten Bonnerup Rasmussen
Thanks for the reply, Yogesh

But you need to run a separate webserver like Apache to configure this?

When I set 'SERVER_MODE = True' in pgAdmin config, I am able to access pgAdmin 
from a browser by :
So I asumed that it was running an embedded webserver and was hoping to 
configure SSL settings directly in pgAdmin instead of having to add further 
complexity (webserver, reverse proxy etc).
But that is not possible?




Morten Bonnerup Rasmussen

TECH Reliability Services   /   Specialist


BESTSELLER A/S

FREDSKOVVEJ 1, 7330 BRANDE

DENMARK



From: Yogesh Mahajan 
Sent: Monday, January 1, 2024 05:39
To: Morten Bonnerup Rasmussen 
Cc: pgadmin-support@lists.postgresql.org 
Subject: Re: Enable HTTPS on pgAdmin in Server Mode

You don't often get email from yogesh.maha...@enterprisedb.com. Learn why this 
is important<https://aka.ms/LearnAboutSenderIdentification>

CAUTION: This email comes from outside BESTSELLER.

Hi Morten,

You need to adjust settings with your webserver configuration to setup SSL 
enabled pgadmin. Here is configuration for apache webserver with SSL.





WSGIDaemonProcess pgadmin processes=1 threads=25 python-home=/usr/pgadmin4/venv

WSGIScriptAlias / /usr/pgadmin4/web/pgAdmin4.wsgi



WSGIProcessGroup pgadmin

WSGIApplicationGroup %{GLOBAL}

Require all granted




ServerName pgadmin.yourdomain.com<http://pgadmin.yourdomain.com/>

SSLEngine on

SSLCertificateFile /etc/apache2/certificate/apache-certificate.crt

SSLCertificateKeyFile /etc/apache2/certificate/apache.key




You can mention the redirect url 
<https://pgadmin.yourdomain.com<http://pgadmin.yourdomain.com/>> for 
configuration above.

Thanks,
Yogesh Mahajan
EnterpriseDB


On Mon, Dec 18, 2023 at 5:43 PM Morten Bonnerup Rasmussen 
mailto:morten.rasmus...@bestseller.com>> wrote:
Hi

I am working on deployment of pgAdmin 4 as part of a postgreSQL package in our 
enterprise environment.

I have currently installed pgAdmin in server mode on a Windows Server, but 
running into problems configuring OAUTH2 authentication. I have enabled Azure 
AD/Entra ID authentication based on the following guide by Asmita
How to Configure OAuth 2.0 with Azure AD in pgAdmin4 | by Asmita Thapliyal | 
Medium<https://medium.com/@asmita.thapliyal/how-to-configure-oauth-2-0-with-azure-ad-in-pgadmin4-2c1500d52d9d>

But redirect URI in Azure app registration requires a HTTPS link and I have not 
found a way to specify a server certificate (currently selfsigned for testing 
purposes).
I have not been able to find anything on config file and only references I have 
found online involves NGINX or similar, but I would prefer not introducing 
further complications if possible.
Know of any way to natively enabling HTTPS connection to pgAdmin?



Morten Bonnerup Rasmussen

TECH Reliability Services   /   Specialist

BESTSELLER A/S

FREDSKOVVEJ 1, 7330 BRANDE

DENMARK

[cid:ii_18cc34d08fad45bf8291]






Re: Enable HTTPS on pgAdmin in Server Mode

2024-01-08 Thread Morten Bonnerup Rasmussen
Thanks for the input, Yogesh.

That may be helpful if/when we migrate to a full Linux environment.
But for now, I am working on a Windows installation, and I have not been able 
to find the anything matching this.
Does the web server work differently on Windows?




Morten Bonnerup Rasmussen

TECH Reliability Services   /   Specialist

P

+4599423174

M

+4530853174

E

morten.rasmus...@bestseller.com<mailto:morten.rasmus...@bestseller.com>

W

BESTSELLER.COM<http://bestseller.com/>

BESTSELLER A/S

FREDSKOVVEJ 1, 7330 BRANDE

DENMARK

[cid:38ce8984-dd7a-4824-beda-b23a4c3c9b75]





From: Yogesh Mahajan 
Sent: Friday, January 5, 2024 17:14
To: Morten Bonnerup Rasmussen 
Cc: pgadmin-support@lists.postgresql.org 
Subject: Re: Enable HTTPS on pgAdmin in Server Mode

You don't often get email from yogesh.maha...@enterprisedb.com. Learn why this 
is important<https://aka.ms/LearnAboutSenderIdentification>

CAUTION: This email comes from outside BESTSELLER.

Hi Morten,

When pgadmin is installed in server mode, it installs and configures apache2 
web server.
File location used by apache is - /etc/apache2/sites-available/pgadmin4.conf 
which by default configures non-ssl web server settings.
You need to edit this file to add valid ssl certificates path and other couple 
of parameters as shown above.

Thanks,
Yogesh Mahajan
EnterpriseDB


On Wed, Jan 3, 2024 at 6:07 PM Morten Bonnerup Rasmussen 
mailto:morten.rasmus...@bestseller.com>> wrote:
Thanks for the reply, Yogesh

But you need to run a separate webserver like Apache to configure this?

When I set 'SERVER_MODE = True' in pgAdmin config, I am able to access pgAdmin 
from a browser by :
So I asumed that it was running an embedded webserver and was hoping to 
configure SSL settings directly in pgAdmin instead of having to add further 
complexity (webserver, reverse proxy etc).
But that is not possible?




Morten Bonnerup Rasmussen

TECH Reliability Services   /   Specialist


BESTSELLER A/S

FREDSKOVVEJ 1, 7330 BRANDE

DENMARK



From: Yogesh Mahajan 
mailto:yogesh.maha...@enterprisedb.com>>
Sent: Monday, January 1, 2024 05:39
To: Morten Bonnerup Rasmussen 
mailto:morten.rasmus...@bestseller.com>>
Cc: 
pgadmin-support@lists.postgresql.org<mailto:pgadmin-support@lists.postgresql.org>
 
mailto:pgadmin-support@lists.postgresql.org>>
Subject: Re: Enable HTTPS on pgAdmin in Server Mode

You don't often get email from 
yogesh.maha...@enterprisedb.com<mailto:yogesh.maha...@enterprisedb.com>. Learn 
why this is important<https://aka.ms/LearnAboutSenderIdentification>

CAUTION: This email comes from outside BESTSELLER.

Hi Morten,

You need to adjust settings with your webserver configuration to setup SSL 
enabled pgadmin. Here is configuration for apache webserver with SSL.





WSGIDaemonProcess pgadmin processes=1 threads=25 python-home=/usr/pgadmin4/venv

WSGIScriptAlias / /usr/pgadmin4/web/pgAdmin4.wsgi



WSGIProcessGroup pgadmin

WSGIApplicationGroup %{GLOBAL}

Require all granted




ServerName pgadmin.yourdomain.com<http://pgadmin.yourdomain.com/>

SSLEngine on

SSLCertificateFile /etc/apache2/certificate/apache-certificate.crt

SSLCertificateKeyFile /etc/apache2/certificate/apache.key




You can mention the redirect url 
<https://pgadmin.yourdomain.com<http://pgadmin.yourdomain.com/>> for 
configuration above.

Thanks,
Yogesh Mahajan
EnterpriseDB


On Mon, Dec 18, 2023 at 5:43 PM Morten Bonnerup Rasmussen 
mailto:morten.rasmus...@bestseller.com>> wrote:
Hi

I am working on deployment of pgAdmin 4 as part of a postgreSQL package in our 
enterprise environment.

I have currently installed pgAdmin in server mode on a Windows Server, but 
running into problems configuring OAUTH2 authentication. I have enabled Azure 
AD/Entra ID authentication based on the following guide by Asmita
How to Configure OAuth 2.0 with Azure AD in pgAdmin4 | by Asmita Thapliyal | 
Medium<https://medium.com/@asmita.thapliyal/how-to-configure-oauth-2-0-with-azure-ad-in-pgadmin4-2c1500d52d9d>

But redirect URI in Azure app registration requires a HTTPS link and I have not 
found a way to specify a server certificate (currently selfsigned for testing 
purposes).
I have not been able to find anything on config file and only references I have 
found online involves NGINX or similar, but I would prefer not introducing 
further complications if possible.
Know of any way to natively enabling HTTPS connection to pgAdmin?



Morten Bonnerup Rasmussen

TECH Reliability Services   /   Specialist

BESTSELLER A/S

FREDSKOVVEJ 1, 7330 BRANDE

DENMARK

[cid:ii_18cda63ff71d45bf8291]






pgAdmin in Kubernetes vs master password

2024-10-11 Thread Morten Bonnerup Rasmussen
Hi

We are working on offering pgAdmin as a centrally managed tool to our 
developers.
It is deployed in Kubernetes, based on this guide, with OAUTH2 enabled (Entra 
ID):
Deploying pgAdmin on Kubernetes | EDB 
(enterprisedb.com)<https://www.enterprisedb.com/blog/how-deploy-pgadmin-kubernetes>

But when the service is restarted, we get the master password prompt.
I get this and can provide it. But if one of our developers is the first one to 
connect and they are prompted, this becomes problematic. They have no idea what 
the master password is.

What is the best way to manage this challenge?
We could disable usage of master password, but it looks like this would reduce 
security.
Is it not possible to save it as a secret and provide as a parameter during 
startup, similar to the default pgadmin user/password?




MORTEN BONNERUP RASMUSSEN

TECH RELIABILITY SERVICES   /   SPECIALIST

P



+4599423174

M



+4530853174

E



morten.rasmus...@bestseller.com<mailto:morten.rasmus...@bestseller.com>

W



BESTSELLER.COM<http://bestseller.com>

BESTSELLER A/S

FREDSKOVVEJ 1, 7330 BRANDE

DENMARK

[cid:eefe2496-3470-4a4d-867c-cf56bae1f259]