# Az - PostgreSQL Post Exploitation

{{#include ../../../banners/hacktricks-training.md}}

## PostgreSQL Database Post Exploitation
Pour plus d'informations sur PostgreSQL Database, consultez :

{{#ref}}
../az-services/az-postgresql.md
{{#endref}}

### `Microsoft.DBforPostgreSQL/flexibleServers/databases/write` && `Microsoft.DBforPostgreSQL/flexibleServers/databases/read`

Avec cette permission, vous pouvez créer de nouvelles bases de données au sein d'une instance de Postgres Flexible Server sur Azure. Bien que cette action ne modifie pas les ressources existantes, la création excessive ou non autorisée de bases de données pourrait entraîner une consommation de ressources ou un potentiel abus du serveur.
```bash
az postgres flexible-server db create \
--server-name <server_name> \
--resource-group <resource_group_name> \
--database-name <database_name>
```
### `Microsoft.DBforPostgreSQL/flexibleServers/backups/write`

Avec cette autorisation, vous pouvez initier la création de sauvegardes pour une instance de Postgres Flexible Server sur Azure. Cela permet aux utilisateurs de générer des sauvegardes à la demande, ce qui peut être utile pour préserver des données à des moments spécifiques.
```bash
az postgres flexible-server backup create \
--name <server_name> \
--resource-group <resource_group_name>
--backup-name <backup_name>
```
### `Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/write` && `Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/read`

Avec cette autorisation, vous pouvez configurer ou mettre à jour les paramètres de Protection Avancée contre les Menaces (ATP) pour une instance de Serveur Flexible Postgres sur Azure. Cela permet d'activer ou de désactiver des fonctionnalités de sécurité conçues pour détecter et répondre à des activités anormales et à des menaces potentielles.
```bash
az postgres flexible-server threat-protection-policy update \
--name <server_name> \
--resource-group <resource_group_name> \
--state <Enabled|Disabled>
```
### `Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/write`, `Microsoft.DBforPostgreSQL/flexibleServers/read` && `Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/read`

Avec cette autorisation, vous pouvez créer ou modifier des règles de pare-feu pour une instance de serveur flexible Postgres sur Azure. Cela permet de contrôler quelles adresses IP ou plages peuvent accéder au serveur. Une utilisation non autorisée ou inappropriée de cette autorisation pourrait exposer le serveur à un accès indésirable ou malveillant.
```bash
# Create Rule
az postgres flexible-server firewall-rule create \
--name <server_name> \
--resource-group <resource_group_name> \
--rule-name <rule_name> \
--start-ip-address <start_ip> \
--end-ip-address <end_ip>

# Update Rule
az postgres flexible-server firewall-rule update \
--name <server_name> \
--resource-group <resource_group_name> \
--rule-name <rule_name> \
--start-ip-address <start_ip> \
--end-ip-address <end_ip>
```
### `Microsoft.DBforPostgreSQL/flexibleServers/configurations/write` && `Microsoft.DBforPostgreSQL/flexibleServers/configurations/read`

Avec cette autorisation, vous pouvez mettre à jour les paramètres de configuration d'une instance de Postgres Flexible Server sur Azure. Cela permet de personnaliser les paramètres du serveur tels que l'optimisation des performances, les configurations de sécurité ou les paramètres opérationnels.
```bash
az postgres flexible-server parameter set \
--resource-group <resource_group_name> \
--server-name <server_name> \
--name <parameter_name> \
--value <parameter_value>
```
### `Microsoft.DBforPostgreSQL/flexibleServers/stop/action`

Avec cette autorisation, vous pouvez arrêter une instance de serveur flexible PostgreSQL sur Azure. L'arrêt d'un serveur peut entraîner une interruption temporaire du service, affectant les applications et les utilisateurs dépendants de la base de données.
```bash
az postgres flexible-server stop \
--name <server_name> \
--resource-group <resource_group_name>
```

### `Microsoft.DBforPostgreSQL/flexibleServers/start/action`
With this permission, you can start a stopped PostgreSQL Flexible Server instance on Azure. Starting a server restores its availability, enabling applications and users to reconnect and access the database.

```bash
az postgres flexible-server start \
--name <server_name> \
--resource-group <resource_group_name>
```

### `Microsoft.DBforPostgreSQL/flexibleServers/read`, `Microsoft.DBforPostgreSQL/flexibleServers/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`

With this permission, you can assign a user-assigned managed identity to postgres flexible servers.

```bash
az postgres flexible-server identity assign \
--resource-group <ResourceGroupName> \
--server-name <ServerName> \
--identity <IdentityName>
```

### `*/delete`
With this permissions you can delete resources related to postgres server in Azure such as server, firewalls, managed identities or configurations


{{#include ../../../banners/hacktricks-training.md}}
