Microsoft.Sql servers/databases/auditingSettings 2017-03-01-preview

Bicep リソース定義

servers/databases/auditingSettings リソースの種類は、次をターゲットとする操作でデプロイできます。

各 API バージョンの変更されたプロパティの一覧については、「 変更ログ」を参照してください。

リソース形式

Microsoft.Sql/servers/databases/auditingSettings リソースを作成するには、次の Bicep をテンプレートに追加します。

resource symbolicname 'Microsoft.Sql/servers/databases/auditingSettings@2017-03-01-preview' = {
  name: 'default'
  parent: resourceSymbolicName
  properties: {
    auditActionsAndGroups: [
      'string'
    ]
    isAzureMonitorTargetEnabled: bool
    isStorageSecondaryKeyInUse: bool
    queueDelayMs: int
    retentionDays: int
    state: 'string'
    storageAccountAccessKey: 'string'
    storageAccountSubscriptionId: 'string'
    storageEndpoint: 'string'
  }
}

プロパティ値

servers/databases/auditingSettings

名前 説明
name リソース名

Bicep で子リソースの名前と型を設定する方法を参照してください。
'default'
parent Bicep では、子リソースの親リソースを指定できます。 このプロパティを追加する必要があるのは、子リソースが親リソースの外部で宣言されている場合のみです。

詳細については、「 親リソースの外部の子リソース」を参照してください。
種類のリソースのシンボル名: データベース
properties リソースのプロパティ。 DatabaseBlobAuditingPolicyProperties

DatabaseBlobAuditingPolicyProperties

名前 説明
auditActionsAndGroups 監査する Actions-Groups とアクションを指定します。

使用する推奨されるアクション グループのセットは次の組み合わせです。これにより、データベースに対して実行されたすべてのクエリとストアド プロシージャ、および成功したログインと失敗したログインが監査されます。

BATCH_COMPLETED_GROUP、
SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP、
FAILED_DATABASE_AUTHENTICATION_GROUP。

上記の組み合わせは、Azure portalからの監査を有効にするときに既定で構成されるセットでもあります。

監査するサポートされているアクション グループはです (注: 監査のニーズをカバーする特定のグループのみを選択してください。不要なグループを使用すると、非常に大量の監査レコードが発生する可能性があります。

APPLICATION_ROLE_CHANGE_PASSWORD_GROUP
BACKUP_RESTORE_GROUP
DATABASE_LOGOUT_GROUP
DATABASE_OBJECT_CHANGE_GROUP
DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP
DATABASE_OBJECT_PERMISSION_CHANGE_GROUP
DATABASE_OPERATION_GROUP
DATABASE_PERMISSION_CHANGE_GROUP
DATABASE_PRINCIPAL_CHANGE_GROUP
DATABASE_PRINCIPAL_IMPERSONATION_GROUP
DATABASE_ROLE_MEMBER_CHANGE_GROUP
FAILED_DATABASE_AUTHENTICATION_GROUP
SCHEMA_OBJECT_ACCESS_GROUP
SCHEMA_OBJECT_CHANGE_GROUP
SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP
SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP
SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP
USER_CHANGE_PASSWORD_GROUP
BATCH_STARTED_GROUP
BATCH_COMPLETED_GROUP
DBCC_GROUP
DATABASE_OWNERSHIP_CHANGE_GROUP
DATABASE_CHANGE_GROUP

これらは、データベースに対して実行されるすべての sql ステートメントとストアド プロシージャを対象とするグループであり、監査ログが重複するため、他のグループと組み合わせて使用しないでください。

詳細については、「 データベース レベルの監査アクション グループ」を参照してください。

データベース監査ポリシーでは、特定のアクションを指定することもできます (サーバー監査ポリシーにはアクションを指定できないことに注意してください)。 監査に対してサポートされているアクションは次のとおりです。
SELECT
UPDATE
INSERT
DELETE
EXECUTE
RECEIVE
REFERENCES

監査するアクションを定義するための一般的な形式は次のとおりです。
{action}ON {object} BY {principal}

上記の形式の {object} は、テーブル、ビュー、ストアド プロシージャなどのオブジェクト、またはデータベースまたはスキーマ全体を参照できることに注意してください。 後者の場合は、それぞれ DATABASE::{db_name} と SCHEMA::{schema_name} という形式が使用されます。

例:
パブリックによる dbo.myTable の SELECT
SELECT on DATABASE::myDatabase by public
SELECT on SCHEMA::mySchema by public

詳細については、「データベース レベルの監査アクション」を参照してください。
string[]
isAzureMonitorTargetEnabled 監査イベントを Azure Monitor に送信するかどうかを指定します。
イベントを Azure Monitor に送信するには、'state' を 'Enabled' に、'isAzureMonitorTargetEnabled' を true に指定します。

REST API を使用して監査を構成する場合は、データベースに 'SQLSecurityAuditEvents' 診断ログ カテゴリを含む診断設定も作成する必要があります。
サーバー レベルの監査では、'master' データベースを {databaseName} として使用する必要があることに注意してください。

診断設定の URI 形式:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview

詳細については、「診断設定 REST API」を参照してください。
または 診断設定 PowerShell
[bool]
isStorageSecondaryKeyInUse storageAccountAccessKey 値がストレージのセカンダリ キーかどうかを指定します。 [bool]
queueDelayMs 監査アクションの処理が強制されるまでの時間 (ミリ秒単位) を指定します。
既定の最小値は 1000 (1 秒) です。 最大値は 2,147,483,647 です。
INT
retentionDays ストレージ アカウントの監査ログに保持する日数を指定します。 INT
state ポリシーの状態を指定します。 state が Enabled の場合、storageEndpoint または isAzureMonitorTargetEnabled が必要です。 'Disabled'
'Enabled' (必須)
storageAccountAccessKey 監査ストレージ アカウントの識別子キーを指定します。
state が Enabled で storageEndpoint が指定されている場合、storageAccountAccessKey を指定しないと、SQL Server システム割り当てマネージド ID を使用してストレージにアクセスします。
マネージド ID 認証を使用するための前提条件:
1. Azure Active Directory (AAD) でシステム割り当てマネージド ID SQL Server割り当てます。
2. "ストレージ BLOB データ共同作成者" RBAC ロールをサーバー ID に追加して、SQL Server ID にストレージ アカウントへのアクセス権を付与します。
詳細については、「マネージド ID 認証を使用したストレージへの監査」を参照してください。
string
storageAccountSubscriptionId BLOB ストレージ サブスクリプション ID を指定します。 string

制約:
最小長 = 36
最大長 = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
storageEndpoint BLOB ストレージ エンドポイント (例: ) を指定します。 https://MyAccount.blob.core.windows.net state が Enabled の場合、storageEndpoint または isAzureMonitorTargetEnabled が必要です。 string

ARM テンプレート リソース定義

servers/databases/auditingSettings リソースの種類は、次を対象とする操作と共にデプロイできます。

各 API バージョンの変更されたプロパティの一覧については、「 変更ログ」を参照してください。

リソース形式

Microsoft.Sql/servers/databases/auditingSettings リソースを作成するには、次の JSON をテンプレートに追加します。

{
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "apiVersion": "2017-03-01-preview",
  "name": "default",
  "properties": {
    "auditActionsAndGroups": [ "string" ],
    "isAzureMonitorTargetEnabled": "bool",
    "isStorageSecondaryKeyInUse": "bool",
    "queueDelayMs": "int",
    "retentionDays": "int",
    "state": "string",
    "storageAccountAccessKey": "string",
    "storageAccountSubscriptionId": "string",
    "storageEndpoint": "string"
  }
}

プロパティ値

servers/databases/auditingSettings

名前 説明
type リソースの種類 'Microsoft.Sql/servers/databases/auditingSettings'
apiVersion リソース API のバージョン '2017-03-01-preview'
name リソース名

JSON ARM テンプレートで子リソースの名前と型を設定する方法を参照してください。
'default'
properties リソースのプロパティ。 DatabaseBlobAuditingPolicyProperties

DatabaseBlobAuditingPolicyProperties

名前 説明
auditActionsAndGroups 監査する Actions-Groups とアクションを指定します。

使用する推奨されるアクション グループのセットは次の組み合わせです。これにより、データベースに対して実行されたすべてのクエリとストアド プロシージャ、および成功したログインと失敗したログインが監査されます。

BATCH_COMPLETED_GROUP、
SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP、
FAILED_DATABASE_AUTHENTICATION_GROUP。

上記の組み合わせは、Azure portalからの監査を有効にするときに既定で構成されるセットでもあります。

監査でサポートされているアクション グループは です (注: 監査ニーズをカバーする特定のグループのみを選択してください。不要なグループを使用すると、非常に大量の監査レコードが発生する可能性があります。

APPLICATION_ROLE_CHANGE_PASSWORD_GROUP
BACKUP_RESTORE_GROUP
DATABASE_LOGOUT_GROUP
DATABASE_OBJECT_CHANGE_GROUP
DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP
DATABASE_OBJECT_PERMISSION_CHANGE_GROUP
DATABASE_OPERATION_GROUP
DATABASE_PERMISSION_CHANGE_GROUP
DATABASE_PRINCIPAL_CHANGE_GROUP
DATABASE_PRINCIPAL_IMPERSONATION_GROUP
DATABASE_ROLE_MEMBER_CHANGE_GROUP
FAILED_DATABASE_AUTHENTICATION_GROUP
SCHEMA_OBJECT_ACCESS_GROUP
SCHEMA_OBJECT_CHANGE_GROUP
SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP
SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP
SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP
USER_CHANGE_PASSWORD_GROUP
BATCH_STARTED_GROUP
BATCH_COMPLETED_GROUP
DBCC_GROUP
DATABASE_OWNERSHIP_CHANGE_GROUP
DATABASE_CHANGE_GROUP

これらは、データベースに対して実行されるすべての SQL ステートメントとストアド プロシージャをカバーするグループであり、監査ログが重複するため、他のグループと組み合わせて使用しないでください。

詳細については、「 データベース レベルの監査アクション グループ」を参照してください。

データベース監査ポリシーでは、特定のアクションを指定することもできます (サーバー監査ポリシーにはアクションを指定できないことに注意してください)。 監査に対してサポートされるアクションは次のとおりです。
SELECT
UPDATE
INSERT
DELETE
EXECUTE
RECEIVE
REFERENCES

監査するアクションを定義するための一般的な形式は次のとおりです。
{action}ON {object} BY {principal}

上記の形式の {object} は、テーブル、ビュー、ストアド プロシージャなどのオブジェクト、またはデータベースまたはスキーマ全体を参照できることに注意してください。 後者の場合は、それぞれ DATABASE::{db_name} と SCHEMA::{schema_name} という形式が使用されます。

例:
select on dbo.myTable by public
SELECT on DATABASE::myDatabase by public
SELECT on SCHEMA::mySchema by public

詳細については、「データベース レベルの監査アクション」を参照してください。
string[]
isAzureMonitorTargetEnabled 監査イベントを Azure Monitor に送信するかどうかを指定します。
イベントを Azure Monitor に送信するには、'state' を 'Enabled' に、'isAzureMonitorTargetEnabled' を true に指定します。

REST API を使用して監査を構成する場合は、データベースに 'SQLSecurityAuditEvents' 診断ログ カテゴリを含む診断設定も作成する必要があります。
サーバー レベルの監査では、'master' データベースを {databaseName} として使用する必要があることに注意してください。

診断設定の URI 形式:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview

詳細については、「診断設定 REST API」を参照してください。
または 診断設定 PowerShell
[bool]
isStorageSecondaryKeyInUse storageAccountAccessKey 値がストレージのセカンダリ キーかどうかを指定します。 [bool]
queueDelayMs 監査アクションの処理が強制されるまでの時間 (ミリ秒単位) を指定します。
既定の最小値は 1000 (1 秒) です。 最大値は 2,147,483,647 です。
INT
retentionDays ストレージ アカウントの監査ログに保持する日数を指定します。 INT
state ポリシーの状態を指定します。 state が Enabled の場合、storageEndpoint または isAzureMonitorTargetEnabled が必要です。 'Disabled'
'Enabled' (必須)
storageAccountAccessKey 監査ストレージ アカウントの識別子キーを指定します。
state が Enabled で storageEndpoint が指定されている場合、storageAccountAccessKey を指定しないと、SQL Server システム割り当てマネージド ID を使用してストレージにアクセスします。
マネージド ID 認証を使用するための前提条件:
1. Azure Active Directory (AAD) でシステム割り当てマネージド ID SQL Server割り当てます。
2. "ストレージ BLOB データ共同作成者" RBAC ロールをサーバー ID に追加して、SQL Server ID にストレージ アカウントへのアクセス権を付与します。
詳細については、「マネージド ID 認証を使用したストレージへの監査」を参照してください。
string
storageAccountSubscriptionId BLOB ストレージ サブスクリプション ID を指定します。 string

制約:
最小長 = 36
最大長 = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
storageEndpoint BLOB ストレージ エンドポイント (例: ) を指定します。 https://MyAccount.blob.core.windows.net state が Enabled の場合、storageEndpoint または isAzureMonitorTargetEnabled が必要です。 string

Terraform (AzAPI プロバイダー) リソース定義

servers/databases/auditingSettings リソースの種類は、次を対象とする操作と共にデプロイできます。

  • リソース グループ

各 API バージョンの変更されたプロパティの一覧については、「 変更ログ」を参照してください。

リソース形式

Microsoft.Sql/servers/databases/auditingSettings リソースを作成するには、次の Terraform をテンプレートに追加します。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/servers/databases/auditingSettings@2017-03-01-preview"
  name = "default"
  parent_id = "string"
  body = jsonencode({
    properties = {
      auditActionsAndGroups = [
        "string"
      ]
      isAzureMonitorTargetEnabled = bool
      isStorageSecondaryKeyInUse = bool
      queueDelayMs = int
      retentionDays = int
      state = "string"
      storageAccountAccessKey = "string"
      storageAccountSubscriptionId = "string"
      storageEndpoint = "string"
    }
  })
}

プロパティ値

servers/databases/auditingSettings

名前 説明
type リソースの種類 "Microsoft.Sql/servers/databases/auditingSettings@2017-03-01-preview"
name リソース名 "default"
parent_id このリソースの親であるリソースの ID。 種類のリソースの ID: データベース
properties リソースのプロパティ。 DatabaseBlobAuditingPolicyProperties

DatabaseBlobAuditingPolicyProperties

名前 説明
auditActionsAndGroups 監査する Actions-Groups とアクションを指定します。

使用する推奨されるアクション グループのセットは次の組み合わせです。これにより、データベースに対して実行されたすべてのクエリとストアド プロシージャ、および成功したログインと失敗したログインが監査されます。

BATCH_COMPLETED_GROUP、
SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP、
FAILED_DATABASE_AUTHENTICATION_GROUP。

上記の組み合わせは、Azure portalからの監査を有効にするときに既定で構成されるセットでもあります。

監査でサポートされているアクション グループは です (注: 監査ニーズをカバーする特定のグループのみを選択してください。不要なグループを使用すると、非常に大量の監査レコードが発生する可能性があります。

APPLICATION_ROLE_CHANGE_PASSWORD_GROUP
BACKUP_RESTORE_GROUP
DATABASE_LOGOUT_GROUP
DATABASE_OBJECT_CHANGE_GROUP
DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP
DATABASE_OBJECT_PERMISSION_CHANGE_GROUP
DATABASE_OPERATION_GROUP
DATABASE_PERMISSION_CHANGE_GROUP
DATABASE_PRINCIPAL_CHANGE_GROUP
DATABASE_PRINCIPAL_IMPERSONATION_GROUP
DATABASE_ROLE_MEMBER_CHANGE_GROUP
FAILED_DATABASE_AUTHENTICATION_GROUP
SCHEMA_OBJECT_ACCESS_GROUP
SCHEMA_OBJECT_CHANGE_GROUP
SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP
SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP
SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP
USER_CHANGE_PASSWORD_GROUP
BATCH_STARTED_GROUP
BATCH_COMPLETED_GROUP
DBCC_GROUP
DATABASE_OWNERSHIP_CHANGE_GROUP
DATABASE_CHANGE_GROUP

これらは、データベースに対して実行されるすべての SQL ステートメントとストアド プロシージャをカバーするグループであり、監査ログが重複するため、他のグループと組み合わせて使用しないでください。

詳細については、「 データベース レベルの監査アクション グループ」を参照してください。

データベース監査ポリシーでは、特定のアクションを指定することもできます (サーバー監査ポリシーにはアクションを指定できないことに注意してください)。 監査に対してサポートされるアクションは次のとおりです。
SELECT
UPDATE
INSERT
DELETE
EXECUTE
RECEIVE
REFERENCES

監査するアクションを定義するための一般的な形式は次のとおりです。
{action}ON {object} BY {principal}

上記の形式の {object} は、テーブル、ビュー、ストアド プロシージャなどのオブジェクト、またはデータベースまたはスキーマ全体を参照できることに注意してください。 後者の場合は、それぞれ DATABASE::{db_name} と SCHEMA::{schema_name} という形式が使用されます。

例:
select on dbo.myTable by public
SELECT on DATABASE::myDatabase by public
SELECT on SCHEMA::mySchema by public

詳細については、「データベース レベルの監査アクション」を参照してください。
string[]
isAzureMonitorTargetEnabled 監査イベントを Azure Monitor に送信するかどうかを指定します。
イベントを Azure Monitor に送信するには、'state' を 'Enabled' に、'isAzureMonitorTargetEnabled' を true に指定します。

REST API を使用して監査を構成する場合は、データベースに 'SQLSecurityAuditEvents' 診断ログ カテゴリを含む診断設定も作成する必要があります。
サーバー レベルの監査では、'master' データベースを {databaseName} として使用する必要があることに注意してください。

診断設定の URI 形式:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview

詳細については、「診断設定 REST API」を参照してください。
または 診断設定 PowerShell
[bool]
isStorageSecondaryKeyInUse storageAccountAccessKey 値がストレージのセカンダリ キーかどうかを指定します。 [bool]
queueDelayMs 監査アクションの処理が強制されるまでの時間 (ミリ秒単位) を指定します。
既定の最小値は 1000 (1 秒) です。 最大値は 2,147,483,647 です。
INT
retentionDays ストレージ アカウントの監査ログに保持する日数を指定します。 INT
state ポリシーの状態を指定します。 state が Enabled の場合、storageEndpoint または isAzureMonitorTargetEnabled が必要です。 "無効"
"有効" (必須)
storageAccountAccessKey 監査ストレージ アカウントの識別子キーを指定します。
state が Enabled で storageEndpoint が指定されている場合、storageAccountAccessKey を指定しないと、SQL Server システム割り当てマネージド ID を使用してストレージにアクセスします。
マネージド ID 認証を使用するための前提条件:
1. Azure Active Directory (AAD) でシステム割り当てマネージド ID SQL Server割り当てます。
2. "ストレージ BLOB データ共同作成者" RBAC ロールをサーバー ID に追加して、SQL Server ID にストレージ アカウントへのアクセス権を付与します。
詳細については、「マネージド ID 認証を使用したストレージへの監査」を参照してください。
string
storageAccountSubscriptionId BLOB ストレージ サブスクリプション ID を指定します。 string

制約:
最小長 = 36
最大長 = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
storageEndpoint BLOB ストレージ エンドポイント (例: ) を指定します。 https://MyAccount.blob.core.windows.net state が Enabled の場合、storageEndpoint または isAzureMonitorTargetEnabled が必要です。 string