Creación y administración de reglas de firewall de Azure Database for PostgreSQL: servidor flexible mediante la CLI de Azure
SE APLICA A: Azure Database for PostgreSQL con servidor flexible
El servidor flexible de Azure Database for PostgreSQL admite dos métodos de conectividad de red mutuamente excluyentes para conectarse a la instancia de servidor flexible de Azure Database for PostgreSQL. Las dos opciones son las siguientes:
- Acceso público (direcciones IP permitidas). Ese método se puede proteger aún más mediante redes basadas en Private Link con el servidor flexible de Azure Database for PostgreSQL en versión preliminar.
- Acceso privado (integración con red virtual)
Este artículo se centra en la creación de una instancia de servidor flexible de Azure Database for PostgreSQL con acceso público (direcciones IP permitidas) mediante la CLI de Azure y proporciona información general sobre los comandos de la CLI de Azure que puede usar para crear, actualizar, eliminar, enumerar y mostrar reglas de firewall después de la creación del servidor. Con acceso público (direcciones IP permitidas), las conexiones a la instancia de servidor flexible de Azure Database for PostgreSQL solo están restringidas a direcciones IP permitidas. Las direcciones IP del cliente se deben permitir en reglas de firewall. Para obtener más información al respecto, vea Acceso público (direcciones IP permitidas). Las reglas de firewall se pueden definir en el momento de crear el servidor (recomendado), pero también se pueden agregar después.
Inicio de Azure Cloud Shell
Azure Cloud Shell es un shell interactivo gratuito que puede usar para ejecutar los pasos de este artículo. Tiene las herramientas comunes de Azure preinstaladas y configuradas para usarlas en la cuenta.
Para abrir Cloud Shell, seleccione Pruébelo en la esquina superior derecha de un bloque de código. También puede abrir Cloud Shell en una pestaña independiente acudiendo a https://shell.azure.com/bash. Seleccione Copiar para copiar los bloques de código, péguelos en Cloud Shell y, después, seleccione Entrar para ejecutarlos.
Si prefiere instalar y usar la CLI de forma local, en este inicio rápido se requiere la versión 2.0 o posterior de la CLI de Azure. Ejecute az --version
para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.
Requisitos previos
Debe iniciar sesión en la cuenta con el comando az login. Tenga en cuenta la propiedad id, que hace referencia al id. de suscripción de su cuenta de Azure.
az login
Seleccione la suscripción específica en su cuenta mediante el comando az account set. Anote el valor de id de la salida de az login para usarlo como valor del argumento subscription del comando. Si tiene varias suscripciones, elija la suscripción adecuada en la que se debe facturar el recurso. Para obtener todas las suscripciones, use az account list.
az account set --subscription <subscription id>
Creación de una regla de firewall durante la creación de instancias del servidor flexible de Azure Database for PostgreSQL mediante la CLI de Azure
Puede usar el comando az postgres flexible-server --public access
para crear la instancia de servidor flexible de Azure Database for PostgreSQL con acceso público (direcciones IP permitidas) y configurar las reglas de firewall durante la creación de la instancia de servidor flexible de Azure Database for PostgreSQL. Puede usar el modificador --public-access para especificar las direcciones IP permitidas que podrán conectarse al servidor. Puede especificar una sola dirección IP o el intervalo de direcciones IP que se van a incluir en la lista de direcciones IP permitidas. El intervalo de direcciones IP debe estar separado por guiones y no contener espacios. Hay varias opciones para crear una instancia de servidor flexible de Azure Database for PostgreSQL mediante la CLI de Azure, como se muestra en los ejemplos siguientes.
Consulte la documentación de referencia de la CLI de Azure para ver la lista completa de parámetros configurables de la CLI. Por ejemplo, en los siguientes comandos puede especificar opcionalmente el grupo de recursos.
Cree una instancia de servidor flexible de Azure Database for PostgreSQL con acceso público y agregue la dirección IP del cliente para tener acceso al servidor:
az postgres flexible-server create --public-access <my_client_ip>
Cree una instancia de servidor flexible de Azure Database for PostgreSQL con acceso público y agregue el intervalo de direcciones IP para tener acceso a este servidor:
az postgres flexible-server create --public-access <start_ip_address-end_ip_address>
Cree una instancia de servidor flexible de Azure Database for PostgreSQL con acceso público y permita que las aplicaciones de las direcciones IP de Azure se conecten a la instancia de servidor flexible de Azure Database for PostgreSQL:
az postgres flexible-server create --public-access 0.0.0.0
Importante
Esta opción configura el firewall para permitir el acceso público desde los servicios y recursos de Azure a este servidor, incluidas las conexiones desde las suscripciones de otros clientes. Al seleccionar esta opción, asegúrese de que los permisos de usuario y el inicio de sesión limiten el acceso solamente a los usuarios autorizados.
-
- Cree una instancia de servidor flexible de Azure Database for PostgreSQL con acceso público y permita todas las direcciones IP:
az postgres flexible-server create --public-access all
Nota:
El comando anterior crea una regla de firewall con la dirección IP inicial 0.0.0.0 y la dirección IP final 255.255.255.255, y no se bloquea ninguna dirección IP. Cualquier host de Internet puede acceder a este servidor. Se recomienda encarecidamente usar esta regla solo temporalmente y en servidores de prueba que no contengan información confidencial.
- Cree una instancia de servidor flexible de Azure Database for PostgreSQL con acceso público y permita todas las direcciones IP:
Cree una instancia de servidor flexible de Azure Database for PostgreSQL con acceso público y sin dirección IP:
az postgres flexible-server create --public-access none
Nota:
No se recomienda crear un servidor sin ninguna regla de firewall. Si no agrega ninguna regla de firewall, ningún cliente podrá conectarse al servidor.
Creación y administración de una regla de firewall después de crear el servidor
El comando az postgres flexible-server firewall-rule se utiliza desde la CLI de Azure para crear, eliminar, enumerar, mostrar y actualizar reglas de firewall.
Comandos:
- create: crear una regla de firewall de servidor flexible de Azure Database for PostgreSQL.
- list enumera las reglas de firewall de servidor flexible de Azure Database for PostgreSQL.
- update: actualizar una regla de firewall de servidor flexible de Azure Database for PostgreSQL.
- show: mostrar los detalles de una regla de firewall de servidor flexible de Azure Database for PostgreSQL.
- delete: eliminar una regla de firewall de servidor flexible de Azure Database for PostgreSQL.
Consulte la documentación de referencia de la CLI de Azure para ver la lista completa de parámetros configurables de la CLI. Por ejemplo, en los siguientes comandos, tiene la opción de especificar el grupo de recursos.
Creación de una regla de firewall
Use el comando az postgres flexible-server firewall-rule create
para crear una regla de firewall en el servidor.
Para permitir el acceso a un intervalo de direcciones IP, especifique la dirección IP en forma de dirección IP inicial y dirección IP final, como en este ejemplo. Este comando también espera el nombre del grupo de recursos de Azure donde el servidor se encuentra como parámetro.
az postgres flexible-server firewall-rule create --name mydemoserver --resource-group testGroup --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.15
Para permitir el acceso a una única dirección IP, especifique una sola dirección IP, como en este ejemplo.
az postgres flexible-server firewall-rule create --name mydemoserver --resource-group testGroup --start-ip-address 1.1.1.1
Para permitir que las aplicaciones de las direcciones IP de Azure se conecten a la instancia de servidor flexible de Azure Database for PostgreSQL, proporcione la dirección IP 0.0.0.0 como dirección IP de inicio, como en este ejemplo.
az postgres flexible-server firewall-rule create --name mydemoserver --resource-group testGroup --start-ip-address 0.0.0.0
Importante
Esta opción configura el firewall para permitir el acceso público desde los servicios y recursos de Azure a este servidor, incluidas las conexiones desde las suscripciones de otros clientes. Al seleccionar esta opción, asegúrese de que los permisos de usuario y el inicio de sesión limiten el acceso solamente a los usuarios autorizados.
Si la operación se realiza correctamente, en la salida de cada comando create, se mostrarán los detalles de la regla de firewall que ha creado, en formato JSON (de forma predeterminada). Si se produce un error, la salida muestra el texto del mensaje de error.
Enumerar reglas de firewall
Use el comando az postgres flexible-server firewall-rule list
para mostrar las reglas de firewall de servidor existentes en el servidor. Observe que el atributo de nombre del servidor se especifica en el modificador --name.
az postgres flexible-server firewall-rule list --name mydemoserver --resource-group testGroup
La salida enumera las reglas existentes, si existen, en formato JSON (de forma predeterminada). Puede usar el modificador --output table** para que los resultados se generen en un formato de tabla más legible.
az postgres flexible-server firewall-rule list --name mydemoserver --resource-group testGroup --output table
Actualización de una regla de firewall
Use el comando az postgres flexible-server firewall-rule update
para actualizar una regla de firewall existente en el servidor. Especifique el nombre de una regla de firewall existente como entrada, así como los atributos de dirección IP inicial y dirección IP final que se van a actualizar.
az postgres flexible-server firewall-rule update --name mydemoserver --rule-name FirewallRule1 --resource-group testGroup --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.1
Si la operación se realiza correctamente, la salida del comando muestra los detalles de la regla de firewall que ha actualizado, en formato JSON (de forma predeterminada). Si se produce un error, la salida muestra el texto del mensaje de error.
Nota:
Si la regla de firewall no existe, el comando update la crea.
Mostrar los detalles de la regla de firewall
Use el comando az postgres flexible-server firewall-rule show
para mostrar los detalles de la regla de firewall existente del servidor. Proporcione como entrada el nombre de una regla de firewall existente.
az postgres flexible-server firewall-rule show --name mydemoserver --rule-name FirewallRule1 --resource-group testGroup
Cuando se realiza correctamente, la salida del comando muestra los detalles de la regla de firewall que ha especificado, en formato JSON (de forma predeterminada). Si se produce un error, la salida muestra el texto del mensaje de error.
Eliminar una regla de firewall
Use el comando az postgres flexible-server firewall-rule delete
para eliminar una regla de firewall existente del servidor. Proporcione el nombre de una regla de firewall existente.
az postgres flexible-server firewall-rule delete --name mydemoserver --rule-name FirewallRule1 --resource-group testGroup
Cuando se realiza correctamente, no hay ninguna salida. En caso de error, se muestra el texto del mensaje de error.
Pasos siguientes
- Más información sobre Redes en Servidor flexible de Azure Database for PostgreSQL
- Descripción más detallada sobre Reglas de firewall para Azure Database for PostgreSQL: servidor flexible.
- Creación y administración de reglas de firewall de Azure Database for PostgreSQL: servidor flexible mediante Azure Portal.