Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Bicep resource definition
The flexibleServers/administrators resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DBforPostgreSQL/flexibleServers/administrators resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.DBforPostgreSQL/flexibleServers/administrators@2026-04-01-preview' = {
parent: resourceSymbolicName
name: 'string'
properties: {
principalName: 'string'
principalType: 'string'
tenantId: 'string'
}
}
Property Values
Microsoft.DBforPostgreSQL/flexibleServers/administrators
| Name | Description | Value |
|---|---|---|
| name | The resource name | string (required) |
| parent | In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource. For more information, see Child resource outside parent resource. |
Symbolic name for resource of type: flexibleServers |
| properties | Properties of the server administrator associated to a Microsoft Entra principal. | AdministratorMicrosoftEntraPropertiesForAddOrAdministratorMicrosoftEntraProperties |
AdministratorMicrosoftEntraPropertiesForAddOrAdministratorMicrosoftEntraProperties
| Name | Description | Value |
|---|---|---|
| principalName | Name of the Microsoft Entra principal. | string |
| principalType | Type of Microsoft Entra principal to which the server administrator is associated. | 'Group' 'ServicePrincipal' 'Unknown' 'User' |
| tenantId | Identifier of the tenant in which the Microsoft Entra principal exists. | string |
Usage Examples
Bicep Samples
A basic example of deploying Active Directory administrator on a PostgreSQL Flexible server.
param resourceName string = 'acctest0001'
param location string = 'westeurope'
@description('The administrator login for the PostgreSQL flexible server')
param administratorLogin string
@secure()
@description('The administrator login password for the PostgreSQL flexible server')
param administratorLoginPassword string
resource flexibleServer 'Microsoft.DBforPostgreSQL/flexibleServers@2022-12-01' = {
name: resourceName
location: location
sku: {
name: 'Standard_D2s_v3'
tier: 'GeneralPurpose'
}
properties: {
administratorLogin: administratorLogin
administratorLoginPassword: administratorLoginPassword
authConfig: {
activeDirectoryAuth: 'Enabled'
passwordAuth: 'Enabled'
tenantId: tenant().tenantId
}
availabilityZone: '2'
backup: {
geoRedundantBackup: 'Disabled'
}
highAvailability: {
mode: 'Disabled'
}
network: {}
storage: {
storageSizeGB: 32
}
version: '12'
}
}
resource administrator 'Microsoft.DBforPostgreSQL/flexibleServers/administrators@2022-12-01' = {
name: deployer().objectId
parent: flexibleServer
properties: {
principalType: 'ServicePrincipal'
tenantId: tenant().tenantId
}
}
Azure Quickstart Samples
The following Azure Quickstart templates contain Bicep samples for deploying this resource type.
| Bicep File | Description |
|---|---|
| Deploy Azure Database for PostgreSQL (flexible) with AAD | This template provides a way to deploy a Flexible server Azure database for PostgreSQL with AAD integration. |
ARM template resource definition
The flexibleServers/administrators resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DBforPostgreSQL/flexibleServers/administrators resource, add the following JSON to your template.
{
"type": "Microsoft.DBforPostgreSQL/flexibleServers/administrators",
"apiVersion": "2026-04-01-preview",
"name": "string",
"properties": {
"principalName": "string",
"principalType": "string",
"tenantId": "string"
}
}
Property Values
Microsoft.DBforPostgreSQL/flexibleServers/administrators
| Name | Description | Value |
|---|---|---|
| apiVersion | The api version | '2026-04-01-preview' |
| name | The resource name | string (required) |
| properties | Properties of the server administrator associated to a Microsoft Entra principal. | AdministratorMicrosoftEntraPropertiesForAddOrAdministratorMicrosoftEntraProperties |
| type | The resource type | 'Microsoft.DBforPostgreSQL/flexibleServers/administrators' |
AdministratorMicrosoftEntraPropertiesForAddOrAdministratorMicrosoftEntraProperties
| Name | Description | Value |
|---|---|---|
| principalName | Name of the Microsoft Entra principal. | string |
| principalType | Type of Microsoft Entra principal to which the server administrator is associated. | 'Group' 'ServicePrincipal' 'Unknown' 'User' |
| tenantId | Identifier of the tenant in which the Microsoft Entra principal exists. | string |
Usage Examples
Azure Quickstart Templates
The following Azure Quickstart templates deploy this resource type.
| Template | Description |
|---|---|
| Deploy Azure Database for PostgreSQL (flexible) with AAD |
This template provides a way to deploy a Flexible server Azure database for PostgreSQL with AAD integration. |
Terraform (AzAPI provider) resource definition
The flexibleServers/administrators resource type can be deployed with operations that target:
- Resource groups
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DBforPostgreSQL/flexibleServers/administrators resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.DBforPostgreSQL/flexibleServers/administrators@2026-04-01-preview"
name = "string"
parent_id = "string"
body = {
properties = {
principalName = "string"
principalType = "string"
tenantId = "string"
}
}
}
Property Values
Microsoft.DBforPostgreSQL/flexibleServers/administrators
| Name | Description | Value |
|---|---|---|
| name | The resource name | string (required) |
| parent_id | The ID of the resource that is the parent for this resource. | ID for resource of type: flexibleServers |
| properties | Properties of the server administrator associated to a Microsoft Entra principal. | AdministratorMicrosoftEntraPropertiesForAddOrAdministratorMicrosoftEntraProperties |
| type | The resource type | "Microsoft.DBforPostgreSQL/flexibleServers/administrators@2026-04-01-preview" |
AdministratorMicrosoftEntraPropertiesForAddOrAdministratorMicrosoftEntraProperties
| Name | Description | Value |
|---|---|---|
| principalName | Name of the Microsoft Entra principal. | string |
| principalType | Type of Microsoft Entra principal to which the server administrator is associated. | 'Group' 'ServicePrincipal' 'Unknown' 'User' |
| tenantId | Identifier of the tenant in which the Microsoft Entra principal exists. | string |
Usage Examples
Terraform Samples
A basic example of deploying Active Directory administrator on a PostgreSQL Flexible server.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
azurerm = {
source = "hashicorp/azurerm"
}
}
}
provider "azurerm" {
features {
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
variable "administrator_login" {
type = string
description = "The administrator login for the PostgreSQL flexible server"
}
variable "administrator_login_password" {
type = string
description = "The administrator login password for the PostgreSQL flexible server"
sensitive = true
}
data "azurerm_client_config" "current" {
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "flexibleServer" {
type = "Microsoft.DBforPostgreSQL/flexibleServers@2022-12-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
administratorLogin = var.administrator_login
administratorLoginPassword = var.administrator_login_password
authConfig = {
activeDirectoryAuth = "Enabled"
passwordAuth = "Enabled"
tenantId = data.azurerm_client_config.current.tenant_id
}
availabilityZone = "2"
backup = {
geoRedundantBackup = "Disabled"
}
highAvailability = {
mode = "Disabled"
}
network = {
}
storage = {
storageSizeGB = 32
}
version = "12"
}
sku = {
name = "Standard_D2s_v3"
tier = "GeneralPurpose"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "administrator" {
type = "Microsoft.DBforPostgreSQL/flexibleServers/administrators@2022-12-01"
parent_id = azapi_resource.flexibleServer.id
name = data.azurerm_client_config.current.object_id
body = {
properties = {
principalType = "ServicePrincipal"
tenantId = data.azurerm_client_config.current.tenant_id
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}