Conéctese a una base de datos de Google Cloud SQL Postgres sobre SSL mediante psycopg2

Mar.

No tenía ni idea de cifrado hasta hoy, así que perdóneme si mi pregunta es demasiado básica.

Tengo una instancia de GCP SQL que está configurada para Postgres con cifrado SSL. Creé un certificado de cliente en GCP y descargué y almacené:

  • servidor-ca.pem
  • cliente-cert.pem
  • client-key.pem

archivos en mi computadora.

Estoy tratando de conectarme a la base de datos remota usando psycopg2 en python3.6 (instalado usando conda). He comprobado la documentación para establecer la conexión y aparentemente los archivos anteriores deben usarse para poder establecer la conexión. Específicamente en la psycopg2.connect()función uso los argumentos:

  • sslmode='verify-ca'
  • sslcert=[local path of client-cert.pem file]
  • sslkey=[local path of client-key.pem file]
  • sslrootcert=[local path of server-ca.pem file]

Aparentemente habrá un error porque de acuerdo con esto los archivos anteriores deben terminar en los siguientes formatos: .crt, .key.

Después de mi investigación descubrí que (tal vez) tengo que usar opensslpara generar los formatos .crty .key. ¿Cómo se supone que voy a hacer eso?

Si convierto los .pemarchivos y paso los convertidos al psycopg2.connect(), ¿podré conectarme a mi base de datos remota?

Mar.

Utilice openssl para convertir los archivos .pem a archivos .crt y .key

En primer lugar, mediante el símbolo del sistema / terminal, vaya al directorio donde se almacenan los archivos .pem.

Para el tipo de archivo .crt:

  • openssl x509 -in client-cert.pem -out ssl-cert.crt
  • openssl x509 -in server-ca.pem -out ca-cert.crt

Para el tipo de archivo .key:

  • openssl rsa -in client-key.pem -out ssl-key.key

y finalmente, para conectarse a la base de datos, psycopg2.connect()simplemente pase la ruta del archivo de los archivos anteriores a los sslcert , sslkey and sslrootcertargumentos.

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Conexión a la instancia de Google Cloud SQL Postgres mediante psycopg2

Conéctese a una base de datos .sql alojada en Google Drive a través de Colab Notebook

Conéctese a una base de datos .sql alojada en Google Drive a través de Colab Notebook

Cómo usar psycopg2 para insertar datos en una base de datos de postgres

Conéctese a una base de datos MySQL con certificados SSL en C # .NET Core 3

No tengo todos los privilegios de una base de datos postgres en psycopg2

Conéctese a una base de datos local de SQL Server con sequelize

Creando una base de datos postgresql usando psycopg2

Подключение к экземпляру Google Cloud SQL Postgres с помощью psycopg2

¿Por qué cualquier fila que inserto en mi base de datos de AWS Postgres (con psycopg2) se convierte inmediatamente en una tupla muerta?

Conéctese a una base de datos usando DBplyr

Conéctese a una base de datos diferente en django shell

Base de datos de importación de Google Cloud SQL mediante programación (sin solicitud)

Subsistema de Windows para Linux 2: Ubuntu, conéctese a una base de datos PostgreSQL externa

Subsistema de Windows para Linux 2: Ubuntu, conéctese a una base de datos PostgreSQL externa

Conéctese a la instancia de base de datos de Oracle mediante R

Conéctese a la base de datos de Azure MySQL mediante MySQL Workbench

Conéctese a la base de datos de Azure MySQL mediante MySQL Workbench

Conéctese a una base de datos de SQL Server si se conoce la configuración de la conexión java

Conéctese a Cloud SQL desde Google Functions mediante IP privada

¿Cómo crear una base de datos con psycopg2 usando el segundo argumento de execute ()?

¿Cómo crear una base de datos con psycopg2 usando el segundo argumento de execute ()?

Psycopg2 y sqlalchemy no funcionan para extraer datos de una base de datos PostgreSQL local

Conéctese a la base de datos de Hasura Postgres en la gota de DigitalOcean

Conéctese a la base de datos de Hasura Postgres en la gota de DigitalOcean

Usando psycopg2 para insertar una lista de tuplas que incluye un campo de matriz JSON en la base de datos de Postgres

Conéctese a una base de datos de Oracle con doctrine usando OID LDAP

Cómo conectar una fuente de datos de Google Data Studio a Azure Postgres con SSL

Cómo conectar una fuente de datos de Google Data Studio a Azure Postgres con SSL

TOP Lista

  1. 1

    ¿Cómo ocultar la aplicación web de los robots de búsqueda? (ASP.NET)

  2. 2

    Pagination class not getting applied in html

  3. 3

    Pandas의 CSV 파일을 Pandas 데이터 프레임으로 가져 오기

  4. 4

    Opción de máquina virtual no reconocida 'MaxPermSize = 512m' cuando se ejecuta Zeppelin

  5. 5

    OpenQA.Selenium.NoSuchElementException-C # 셀레늄

  6. 6

    OAuth 2.0 utilizando Spring Security + WSO2 Identity Server

  7. 7

    ¿Cómo pintar el Dropline de un RowHeader-JTable en el Main-JTable durante un DragAndDrop?

  8. 8

    Joindre avec des valeurs séparées par des virgules dans SQL Server Compact ne fonctionne pas

  9. 9

    Recherche de la position d'index d'une valeur dans r dataframe

  10. 10

    GPU를 사용하여 ffmpeg 필터의 처리 속도를 가속화하는 방법은 무엇입니까?

  11. 11

    caída condicional de filas desde un marco de datos de pandas

  12. 12

    python: ¿por qué dice variable indefinida cuando llamo función?

  13. 13

    Error: la ejecución falló para la tarea ': app: compileDebugJavaWithJavac'. java.io.FileNotFoundException:

  14. 14

    ¿Cómo especificar el puerto en el que se aloja una aplicación ASP.NET Core?

  15. 15

    Que signifie Decimal (-1)?

  16. 16

    Link library in Visual Studio, why two different ways?

  17. 17

    ¿Cómo determinar la menor cantidad de incrementos de Y necesarios para trazar un múltiplo de 5 en una gráfica?

  18. 18

    nested observables executed one after the other after termination

  19. 19

    uitableview delete button image in iOS

  20. 20

    C # cómo eliminar la última línea de un bucle

  21. 21

    R - ggplot2 - use raster as greyscale basemap

CalienteEtiquetas

Archivo