Azure Classic

Pulumi Official
Package maintained by Pulumi
v5.6.0 published on Friday, May 20, 2022 by Pulumi

DatabaseExtendedAuditingPolicy

Manages a MS SQL Database Extended Auditing Policy.

NOTE: The Database Extended Auditing Policy can also be set in the extended_auditing_policy block in the azure.mssql.Database resource. You can only use one or the other and using both will cause a conflict.

Example Usage

using Pulumi;
using Azure = Pulumi.Azure;

class MyStack : Stack
{
    public MyStack()
    {
        var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
        {
            Location = "West Europe",
        });
        var exampleServer = new Azure.MSSql.Server("exampleServer", new Azure.MSSql.ServerArgs
        {
            ResourceGroupName = exampleResourceGroup.Name,
            Location = exampleResourceGroup.Location,
            Version = "12.0",
            AdministratorLogin = "missadministrator",
            AdministratorLoginPassword = "AdminPassword123!",
        });
        var exampleDatabase = new Azure.MSSql.Database("exampleDatabase", new Azure.MSSql.DatabaseArgs
        {
            ServerId = exampleServer.Id,
        });
        var exampleAccount = new Azure.Storage.Account("exampleAccount", new Azure.Storage.AccountArgs
        {
            ResourceGroupName = exampleResourceGroup.Name,
            Location = exampleResourceGroup.Location,
            AccountTier = "Standard",
            AccountReplicationType = "LRS",
        });
        var exampleDatabaseExtendedAuditingPolicy = new Azure.MSSql.DatabaseExtendedAuditingPolicy("exampleDatabaseExtendedAuditingPolicy", new Azure.MSSql.DatabaseExtendedAuditingPolicyArgs
        {
            DatabaseId = exampleDatabase.Id,
            StorageEndpoint = exampleAccount.PrimaryBlobEndpoint,
            StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,
            StorageAccountAccessKeyIsSecondary = false,
            RetentionInDays = 6,
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "exampleServer", &mssql.ServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("AdminPassword123!"),
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := mssql.NewDatabase(ctx, "exampleDatabase", &mssql.DatabaseArgs{
			ServerId: exampleServer.ID(),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
			ResourceGroupName:      exampleResourceGroup.Name,
			Location:               exampleResourceGroup.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewDatabaseExtendedAuditingPolicy(ctx, "exampleDatabaseExtendedAuditingPolicy", &mssql.DatabaseExtendedAuditingPolicyArgs{
			DatabaseId:                         exampleDatabase.ID(),
			StorageEndpoint:                    exampleAccount.PrimaryBlobEndpoint,
			StorageAccountAccessKey:            exampleAccount.PrimaryAccessKey,
			StorageAccountAccessKeyIsSecondary: pulumi.Bool(false),
			RetentionInDays:                    pulumi.Int(6),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()        
            .location("West Europe")
            .build());

        var exampleServer = new Server("exampleServer", ServerArgs.builder()        
            .resourceGroupName(exampleResourceGroup.getName())
            .location(exampleResourceGroup.getLocation())
            .version("12.0")
            .administratorLogin("missadministrator")
            .administratorLoginPassword("AdminPassword123!")
            .build());

        var exampleDatabase = new Database("exampleDatabase", DatabaseArgs.builder()        
            .serverId(exampleServer.getId())
            .build());

        var exampleAccount = new Account("exampleAccount", AccountArgs.builder()        
            .resourceGroupName(exampleResourceGroup.getName())
            .location(exampleResourceGroup.getLocation())
            .accountTier("Standard")
            .accountReplicationType("LRS")
            .build());

        var exampleDatabaseExtendedAuditingPolicy = new DatabaseExtendedAuditingPolicy("exampleDatabaseExtendedAuditingPolicy", DatabaseExtendedAuditingPolicyArgs.builder()        
            .databaseId(exampleDatabase.getId())
            .storageEndpoint(exampleAccount.getPrimaryBlobEndpoint())
            .storageAccountAccessKey(exampleAccount.getPrimaryAccessKey())
            .storageAccountAccessKeyIsSecondary(false)
            .retentionInDays(6)
            .build());

        }
}
import pulumi
import pulumi_azure as azure

example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
example_server = azure.mssql.Server("exampleServer",
    resource_group_name=example_resource_group.name,
    location=example_resource_group.location,
    version="12.0",
    administrator_login="missadministrator",
    administrator_login_password="AdminPassword123!")
example_database = azure.mssql.Database("exampleDatabase", server_id=example_server.id)
example_account = azure.storage.Account("exampleAccount",
    resource_group_name=example_resource_group.name,
    location=example_resource_group.location,
    account_tier="Standard",
    account_replication_type="LRS")
example_database_extended_auditing_policy = azure.mssql.DatabaseExtendedAuditingPolicy("exampleDatabaseExtendedAuditingPolicy",
    database_id=example_database.id,
    storage_endpoint=example_account.primary_blob_endpoint,
    storage_account_access_key=example_account.primary_access_key,
    storage_account_access_key_is_secondary=False,
    retention_in_days=6)
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleServer = new azure.mssql.Server("exampleServer", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    version: "12.0",
    administratorLogin: "missadministrator",
    administratorLoginPassword: "AdminPassword123!",
});
const exampleDatabase = new azure.mssql.Database("exampleDatabase", {serverId: exampleServer.id});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "LRS",
});
const exampleDatabaseExtendedAuditingPolicy = new azure.mssql.DatabaseExtendedAuditingPolicy("exampleDatabaseExtendedAuditingPolicy", {
    databaseId: exampleDatabase.id,
    storageEndpoint: exampleAccount.primaryBlobEndpoint,
    storageAccountAccessKey: exampleAccount.primaryAccessKey,
    storageAccountAccessKeyIsSecondary: false,
    retentionInDays: 6,
});
resources:
  exampleResourceGroup:
    type: azure:core:ResourceGroup
    properties:
      location: West Europe
  exampleServer:
    type: azure:mssql:Server
    properties:
      resourceGroupName: ${exampleResourceGroup.name}
      location: ${exampleResourceGroup.location}
      version: 12.0
      administratorLogin: missadministrator
      administratorLoginPassword: AdminPassword123!
  exampleDatabase:
    type: azure:mssql:Database
    properties:
      serverId: ${exampleServer.id}
  exampleAccount:
    type: azure:storage:Account
    properties:
      resourceGroupName: ${exampleResourceGroup.name}
      location: ${exampleResourceGroup.location}
      accountTier: Standard
      accountReplicationType: LRS
  exampleDatabaseExtendedAuditingPolicy:
    type: azure:mssql:DatabaseExtendedAuditingPolicy
    properties:
      databaseId: ${exampleDatabase.id}
      storageEndpoint: ${exampleAccount.primaryBlobEndpoint}
      storageAccountAccessKey: ${exampleAccount.primaryAccessKey}
      storageAccountAccessKeyIsSecondary: false
      retentionInDays: 6

Create a DatabaseExtendedAuditingPolicy Resource

new DatabaseExtendedAuditingPolicy(name: string, args: DatabaseExtendedAuditingPolicyArgs, opts?: CustomResourceOptions);
@overload
def DatabaseExtendedAuditingPolicy(resource_name: str,
                                   opts: Optional[ResourceOptions] = None,
                                   database_id: Optional[str] = None,
                                   enabled: Optional[bool] = None,
                                   log_monitoring_enabled: Optional[bool] = None,
                                   retention_in_days: Optional[int] = None,
                                   storage_account_access_key: Optional[str] = None,
                                   storage_account_access_key_is_secondary: Optional[bool] = None,
                                   storage_endpoint: Optional[str] = None)
@overload
def DatabaseExtendedAuditingPolicy(resource_name: str,
                                   args: DatabaseExtendedAuditingPolicyArgs,
                                   opts: Optional[ResourceOptions] = None)
func NewDatabaseExtendedAuditingPolicy(ctx *Context, name string, args DatabaseExtendedAuditingPolicyArgs, opts ...ResourceOption) (*DatabaseExtendedAuditingPolicy, error)
public DatabaseExtendedAuditingPolicy(string name, DatabaseExtendedAuditingPolicyArgs args, CustomResourceOptions? opts = null)
public DatabaseExtendedAuditingPolicy(String name, DatabaseExtendedAuditingPolicyArgs args)
public DatabaseExtendedAuditingPolicy(String name, DatabaseExtendedAuditingPolicyArgs args, CustomResourceOptions options)
type: azure:mssql:DatabaseExtendedAuditingPolicy
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args DatabaseExtendedAuditingPolicyArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args DatabaseExtendedAuditingPolicyArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args DatabaseExtendedAuditingPolicyArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args DatabaseExtendedAuditingPolicyArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args DatabaseExtendedAuditingPolicyArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

DatabaseExtendedAuditingPolicy Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The DatabaseExtendedAuditingPolicy resource accepts the following input properties:

DatabaseId string

The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.

Enabled bool

Whether to enable the extended auditing policy. Possible values are true and false. Defaults to true.

LogMonitoringEnabled bool

Enable audit events to Azure Monitor?

RetentionInDays int

The number of days to retain logs for in the storage account.

StorageAccountAccessKey string

The access key to use for the auditing storage account.

StorageAccountAccessKeyIsSecondary bool

Is storage_account_access_key value the storage's secondary key?

StorageEndpoint string

The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all extended auditing logs.

DatabaseId string

The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.

Enabled bool

Whether to enable the extended auditing policy. Possible values are true and false. Defaults to true.

LogMonitoringEnabled bool

Enable audit events to Azure Monitor?

RetentionInDays int

The number of days to retain logs for in the storage account.

StorageAccountAccessKey string

The access key to use for the auditing storage account.

StorageAccountAccessKeyIsSecondary bool

Is storage_account_access_key value the storage's secondary key?

StorageEndpoint string

The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all extended auditing logs.

databaseId String

The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.

enabled Boolean

Whether to enable the extended auditing policy. Possible values are true and false. Defaults to true.

logMonitoringEnabled Boolean

Enable audit events to Azure Monitor?

retentionInDays Integer

The number of days to retain logs for in the storage account.

storageAccountAccessKey String

The access key to use for the auditing storage account.

storageAccountAccessKeyIsSecondary Boolean

Is storage_account_access_key value the storage's secondary key?

storageEndpoint String

The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all extended auditing logs.

databaseId string

The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.

enabled boolean

Whether to enable the extended auditing policy. Possible values are true and false. Defaults to true.

logMonitoringEnabled boolean

Enable audit events to Azure Monitor?

retentionInDays number

The number of days to retain logs for in the storage account.

storageAccountAccessKey string

The access key to use for the auditing storage account.

storageAccountAccessKeyIsSecondary boolean

Is storage_account_access_key value the storage's secondary key?

storageEndpoint string

The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all extended auditing logs.

database_id str

The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.

enabled bool

Whether to enable the extended auditing policy. Possible values are true and false. Defaults to true.

log_monitoring_enabled bool

Enable audit events to Azure Monitor?

retention_in_days int

The number of days to retain logs for in the storage account.

storage_account_access_key str

The access key to use for the auditing storage account.

storage_account_access_key_is_secondary bool

Is storage_account_access_key value the storage's secondary key?

storage_endpoint str

The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all extended auditing logs.

databaseId String

The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.

enabled Boolean

Whether to enable the extended auditing policy. Possible values are true and false. Defaults to true.

logMonitoringEnabled Boolean

Enable audit events to Azure Monitor?

retentionInDays Number

The number of days to retain logs for in the storage account.

storageAccountAccessKey String

The access key to use for the auditing storage account.

storageAccountAccessKeyIsSecondary Boolean

Is storage_account_access_key value the storage's secondary key?

storageEndpoint String

The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all extended auditing logs.

Outputs

All input properties are implicitly available as output properties. Additionally, the DatabaseExtendedAuditingPolicy resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up an Existing DatabaseExtendedAuditingPolicy Resource

Get an existing DatabaseExtendedAuditingPolicy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: DatabaseExtendedAuditingPolicyState, opts?: CustomResourceOptions): DatabaseExtendedAuditingPolicy
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        database_id: Optional[str] = None,
        enabled: Optional[bool] = None,
        log_monitoring_enabled: Optional[bool] = None,
        retention_in_days: Optional[int] = None,
        storage_account_access_key: Optional[str] = None,
        storage_account_access_key_is_secondary: Optional[bool] = None,
        storage_endpoint: Optional[str] = None) -> DatabaseExtendedAuditingPolicy
func GetDatabaseExtendedAuditingPolicy(ctx *Context, name string, id IDInput, state *DatabaseExtendedAuditingPolicyState, opts ...ResourceOption) (*DatabaseExtendedAuditingPolicy, error)
public static DatabaseExtendedAuditingPolicy Get(string name, Input<string> id, DatabaseExtendedAuditingPolicyState? state, CustomResourceOptions? opts = null)
public static DatabaseExtendedAuditingPolicy get(String name, Output<String> id, DatabaseExtendedAuditingPolicyState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
DatabaseId string

The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.

Enabled bool

Whether to enable the extended auditing policy. Possible values are true and false. Defaults to true.

LogMonitoringEnabled bool

Enable audit events to Azure Monitor?

RetentionInDays int

The number of days to retain logs for in the storage account.

StorageAccountAccessKey string

The access key to use for the auditing storage account.

StorageAccountAccessKeyIsSecondary bool

Is storage_account_access_key value the storage's secondary key?

StorageEndpoint string

The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all extended auditing logs.

DatabaseId string

The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.

Enabled bool

Whether to enable the extended auditing policy. Possible values are true and false. Defaults to true.

LogMonitoringEnabled bool

Enable audit events to Azure Monitor?

RetentionInDays int

The number of days to retain logs for in the storage account.

StorageAccountAccessKey string

The access key to use for the auditing storage account.

StorageAccountAccessKeyIsSecondary bool

Is storage_account_access_key value the storage's secondary key?

StorageEndpoint string

The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all extended auditing logs.

databaseId String

The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.

enabled Boolean

Whether to enable the extended auditing policy. Possible values are true and false. Defaults to true.

logMonitoringEnabled Boolean

Enable audit events to Azure Monitor?

retentionInDays Integer

The number of days to retain logs for in the storage account.

storageAccountAccessKey String

The access key to use for the auditing storage account.

storageAccountAccessKeyIsSecondary Boolean

Is storage_account_access_key value the storage's secondary key?

storageEndpoint String

The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all extended auditing logs.

databaseId string

The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.

enabled boolean

Whether to enable the extended auditing policy. Possible values are true and false. Defaults to true.

logMonitoringEnabled boolean

Enable audit events to Azure Monitor?

retentionInDays number

The number of days to retain logs for in the storage account.

storageAccountAccessKey string

The access key to use for the auditing storage account.

storageAccountAccessKeyIsSecondary boolean

Is storage_account_access_key value the storage's secondary key?

storageEndpoint string

The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all extended auditing logs.

database_id str

The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.

enabled bool

Whether to enable the extended auditing policy. Possible values are true and false. Defaults to true.

log_monitoring_enabled bool

Enable audit events to Azure Monitor?

retention_in_days int

The number of days to retain logs for in the storage account.

storage_account_access_key str

The access key to use for the auditing storage account.

storage_account_access_key_is_secondary bool

Is storage_account_access_key value the storage's secondary key?

storage_endpoint str

The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all extended auditing logs.

databaseId String

The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.

enabled Boolean

Whether to enable the extended auditing policy. Possible values are true and false. Defaults to true.

logMonitoringEnabled Boolean

Enable audit events to Azure Monitor?

retentionInDays Number

The number of days to retain logs for in the storage account.

storageAccountAccessKey String

The access key to use for the auditing storage account.

storageAccountAccessKeyIsSecondary Boolean

Is storage_account_access_key value the storage's secondary key?

storageEndpoint String

The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all extended auditing logs.

Import

MS SQL Database Extended Auditing Policies can be imported using the resource id, e.g.

 $ pulumi import azure:mssql/databaseExtendedAuditingPolicy:DatabaseExtendedAuditingPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlServer1/databases/db1/extendedAuditingSettings/default

Package Details

Repository
https://github.com/pulumi/pulumi-azure
License
Apache-2.0
Notes

This Pulumi package is based on the azurerm Terraform Provider.