次の方法で共有


Database Blob Auditing Policies - Create Or Update

データベースのブロブ監査ポリシーを作成または更新します。

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default?api-version=2025-01-01

URI パラメーター

名前 / 必須 説明
blobAuditingPolicyName
path True

blobAuditingPolicyName

ブロブ監査ポリシーの名前です。

databaseName
path True

string

データベースの名前。

resourceGroupName
path True

string

リソースを含むリソース グループの名前。 この値は、Azure Resource Manager API またはポータルから取得できます。

serverName
path True

string

サーバーの名前。

subscriptionId
path True

string

Azure サブスクリプションを識別するサブスクリプション ID。

api-version
query True

string

要求に使用する API バージョン。

要求本文

名前 必須 説明
properties.state True

BlobAuditingPolicyState

監査の状態を指定します。 状態が有効の場合、storageEndpoint または isAzureMonitorTargetEnabled が必要です。

properties.auditActionsAndGroups

string[]

監査する 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 LEDGER_OPERATION_GROUP

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

詳細については、「Database-Level 監査アクション グループの」を参照してください。

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

監査対象のアクションを定義する一般的な形は、{action} ON {object} BY {principal} です:

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

例えば:dbo.myTableのSELECT by public DATABASE::myDatabase on SCHEMA:SELECT by publicのSELECT::SCHEMA::mySchemaのSELECT by publicの

詳細については、「Database-Level 監査アクションの」を参照してください。

properties.isAzureMonitorTargetEnabled

boolean

監査イベントを 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 する」を参照してください。

properties.isManagedIdentityInUse

boolean

BLOB ストレージへのアクセスにマネージド ID を使用するかどうかを指定します

properties.isStorageSecondaryKeyInUse

boolean

storageAccountAccessKey 値がストレージのセカンダリ キーかどうかを指定します。

properties.queueDelayMs

integer (int32)

監査アクションが強制的に処理されるまでの時間をミリ秒単位で指定します。 既定値は 1000 (1 秒) です。 最大値は 2,147,483,647 です。

properties.retentionDays

integer (int32)

ストレージ アカウントの監査ログに保持する日数を指定します。

properties.storageAccountAccessKey

string

監査ストレージ アカウントの識別子キーを指定します。 状態が Enabled で storageEndpoint が指定されている場合、storageAccountAccessKey を指定しないと、SQL サーバーのシステム割り当てマネージド ID を使用してストレージにアクセスします。 マネージド ID 認証を使用するための前提条件:

  1. AZURE Active Directory (AAD) で SQL Server にシステム割り当てマネージド ID を割り当てます。
  2. サーバー ID に "ストレージ BLOB データ共同作成者" RBAC ロールを追加して、SQL Server ID にストレージ アカウントへのアクセス権を付与します。 詳細については、「マネージド ID 認証 を使用したストレージへの監査の」を参照してください。
properties.storageAccountSubscriptionId

string (uuid)

BLOB ストレージサブスクリプション ID を指定します。

properties.storageEndpoint

string

BLOB ストレージ エンドポイント (例: https://MyAccount.blob.core.windows.net) を指定します。 状態が有効の場合、storageEndpoint または isAzureMonitorTargetEnabled が必要です。

応答

名前 説明
200 OK

DatabaseBlobAuditingPolicy

データベースのBlob監査ポリシーを正常に設定しました。

201 Created

DatabaseBlobAuditingPolicy

データベースのBlob監査ポリシーを成功裏に作成しました。

Other Status Codes

ErrorResponse

エラー応答: ***

  • 400 BlobAuditingIsNotSupportedOnResourceType - このリソースタイプでは現在、Blob Auditingはサポートされていません。

  • 400 InvalidDatabaseBlobAuditingPolicyCreateRequest - データベース作成のblob監査ポリシーリクエストは存在せず、プロパティオブジェクトも含まれていません。

  • 400 InvalidBlobAuditActionsAndGroups - 無効な監査アクションまたはアクショングループ。

  • 400 DataSecurityInvalidUserSuppliedParameter - 無効なパラメーター値がクライアントによって提供されました。

  • 400 BlobAuditingInvalidPolicyLength - 無効なポリシー長で、200文字以内に収めるべきです。

  • 400 UpdateNotAllowedOnPausedDatabase - ユーザーが一時停止しているデータベースで更新を実行しようとしました。

  • 400 BlobAuditingInsufficientStorageAccountPermissions - 提供されたストレージアカウントに対する読み取りまたは書き込み権限が不十分です。

  • 400 BlobAuditingStorageAccountIsDisabled - 提供されたストレージアカウントが無効化されています。

  • 400 BlobAuditingNoServerIdentity - サーバーのアイデンティティが正しく設定されていません。

  • 400 BlobAuditingStorageOutboundFirewallNotAllowed - ストレージアカウントは許可されたFQDNSのリストに含まれていないため、送信ファイアウォールルールがリクエストをブロックします。

  • 400 InvalidBlobAuditActionsAndGroupsForDW - DW向けのサポートされていない監査アクションまたはアクショングループ。

  • 400 BlobAuditingAdalTokenError - Azure Active Directoryエラーが発生し、ストレージアカウントのアクセストークンを取得することができませんでした。

  • 400 BlobAuditingInvalidStorageAccountName - 提供されたストレージアカウントは有効でないか存在しません。

  • 400 BlobAuditingInvalidStorageAccountCredentials - 提供されたストレージアカウントまたはアクセスキーは有効ではありません。

  • 400 BlobAuditingIsNotSupportedOnGeoDr - Blob監査はプライマリデータベースのみで設定可能です。

  • 400 InsufficientDiskSpaceForAuditing - 監査メタデータをデータベースに保存するためのディスク容量不足

  • 400 InvalidBlobAuditActions - Invalid audit action

  • 404 DatabaseDoesNotExist - ユーザーがこのサーバー インスタンスに存在しないデータベース名を指定しました。

  • 404 SourceDatabaseNotFound - ソース データベースが存在しません。

  • 500 DatabaseIsUnavailable - 読み込みに失敗しました。 後でもう一度やり直してください。

Create or update a database's azure monitor auditing policy with minimal parameters
Create or update a database's blob auditing policy with all parameters
Create or update a database's blob auditing policy with minimal parameters

Create or update a database's azure monitor auditing policy with minimal parameters

要求のサンプル

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb/auditingSettings/default?api-version=2025-01-01

{
  "properties": {
    "state": "Enabled",
    "isAzureMonitorTargetEnabled": true
  }
}

応答のサンプル

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "kind": "V12",
  "properties": {
    "state": "Enabled",
    "isAzureMonitorTargetEnabled": true,
    "retentionDays": 0,
    "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ]
  }
}
{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "kind": "V12",
  "properties": {
    "state": "Enabled",
    "isAzureMonitorTargetEnabled": true,
    "retentionDays": 0,
    "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ]
  }
}

Create or update a database's blob auditing policy with all parameters

要求のサンプル

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb/auditingSettings/default?api-version=2025-01-01

{
  "properties": {
    "state": "Enabled",
    "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
    "storageEndpoint": "https://mystorage.blob.core.windows.net",
    "retentionDays": 6,
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "isStorageSecondaryKeyInUse": false,
    "queueDelayMs": 4000,
    "auditActionsAndGroups": [
      "DATABASE_LOGOUT_GROUP",
      "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
      "UPDATE on database::TestDatabaseName by public"
    ],
    "isAzureMonitorTargetEnabled": true
  }
}

応答のサンプル

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "kind": "V12",
  "properties": {
    "state": "Enabled",
    "storageEndpoint": "https://mystorage.blob.core.windows.net",
    "retentionDays": 0,
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "isStorageSecondaryKeyInUse": false,
    "queueDelayMs": 4000,
    "auditActionsAndGroups": [
      "DATABASE_LOGOUT_GROUP",
      "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
      "UPDATE on database::TestDatabaseName by public"
    ],
    "isAzureMonitorTargetEnabled": true
  }
}
{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "kind": "V12",
  "properties": {
    "state": "Enabled",
    "storageEndpoint": "https://mystorage.blob.core.windows.net",
    "retentionDays": 0,
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "isStorageSecondaryKeyInUse": false,
    "queueDelayMs": 4000,
    "auditActionsAndGroups": [
      "DATABASE_LOGOUT_GROUP",
      "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
      "UPDATE on database::TestDatabaseName by public"
    ],
    "isAzureMonitorTargetEnabled": true
  }
}

Create or update a database's blob auditing policy with minimal parameters

要求のサンプル

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb/auditingSettings/default?api-version=2025-01-01

{
  "properties": {
    "state": "Enabled",
    "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

応答のサンプル

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "kind": "V12",
  "properties": {
    "state": "Enabled",
    "storageEndpoint": "https://mystorage.blob.core.windows.net",
    "retentionDays": 0,
    "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
    "isStorageSecondaryKeyInUse": false,
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "isAzureMonitorTargetEnabled": false
  }
}
{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
  "name": "default",
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "kind": "V12",
  "properties": {
    "state": "Enabled",
    "storageEndpoint": "https://mystorage.blob.core.windows.net",
    "retentionDays": 0,
    "storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
    "isStorageSecondaryKeyInUse": false,
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "isAzureMonitorTargetEnabled": false
  }
}

定義

名前 説明
blobAuditingPolicyName

ブロブ監査ポリシーの名前です。

BlobAuditingPolicyState

監査の状態を指定します。 状態が有効の場合、storageEndpoint または isAzureMonitorTargetEnabled が必要です。

DatabaseBlobAuditingPolicy

データベース BLOB 監査ポリシー。

ErrorAdditionalInfo

リソース管理エラーの追加情報。

ErrorDetail

エラーの詳細。

ErrorResponse

エラー応答

blobAuditingPolicyName

ブロブ監査ポリシーの名前です。

説明
default

BlobAuditingPolicyState

監査の状態を指定します。 状態が有効の場合、storageEndpoint または isAzureMonitorTargetEnabled が必要です。

説明
Enabled
Disabled

DatabaseBlobAuditingPolicy

データベース BLOB 監査ポリシー。

名前 説明
id

string

リソース ID。

kind

string

リソースの種類。

name

string

リソース名。

properties.auditActionsAndGroups

string[]

監査する 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 LEDGER_OPERATION_GROUP

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

詳細については、「Database-Level 監査アクション グループの」を参照してください。

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

監査対象のアクションを定義する一般的な形は、{action} ON {object} BY {principal} です:

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

例えば:dbo.myTableのSELECT by public DATABASE::myDatabase on SCHEMA:SELECT by publicのSELECT::SCHEMA::mySchemaのSELECT by publicの

詳細については、「Database-Level 監査アクションの」を参照してください。

properties.isAzureMonitorTargetEnabled

boolean

監査イベントを 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 する」を参照してください。

properties.isManagedIdentityInUse

boolean

BLOB ストレージへのアクセスにマネージド ID を使用するかどうかを指定します

properties.isStorageSecondaryKeyInUse

boolean

storageAccountAccessKey 値がストレージのセカンダリ キーかどうかを指定します。

properties.queueDelayMs

integer (int32)

監査アクションが強制的に処理されるまでの時間をミリ秒単位で指定します。 既定値は 1000 (1 秒) です。 最大値は 2,147,483,647 です。

properties.retentionDays

integer (int32)

ストレージ アカウントの監査ログに保持する日数を指定します。

properties.state

BlobAuditingPolicyState

監査の状態を指定します。 状態が有効の場合、storageEndpoint または isAzureMonitorTargetEnabled が必要です。

properties.storageAccountAccessKey

string

監査ストレージ アカウントの識別子キーを指定します。 状態が Enabled で storageEndpoint が指定されている場合、storageAccountAccessKey を指定しないと、SQL サーバーのシステム割り当てマネージド ID を使用してストレージにアクセスします。 マネージド ID 認証を使用するための前提条件:

  1. AZURE Active Directory (AAD) で SQL Server にシステム割り当てマネージド ID を割り当てます。
  2. サーバー ID に "ストレージ BLOB データ共同作成者" RBAC ロールを追加して、SQL Server ID にストレージ アカウントへのアクセス権を付与します。 詳細については、「マネージド ID 認証 を使用したストレージへの監査の」を参照してください。
properties.storageAccountSubscriptionId

string (uuid)

BLOB ストレージサブスクリプション ID を指定します。

properties.storageEndpoint

string

BLOB ストレージ エンドポイント (例: https://MyAccount.blob.core.windows.net) を指定します。 状態が有効の場合、storageEndpoint または isAzureMonitorTargetEnabled が必要です。

type

string

リソースの種類。

ErrorAdditionalInfo

リソース管理エラーの追加情報。

名前 説明
info

object

追加情報。

type

string

追加情報の種類。

ErrorDetail

エラーの詳細。

名前 説明
additionalInfo

ErrorAdditionalInfo[]

エラーの追加情報。

code

string

エラー コード。

details

ErrorDetail[]

エラーの詳細。

message

string

エラー メッセージ。

target

string

エラーターゲット。

ErrorResponse

エラー応答

名前 説明
error

ErrorDetail

エラー オブジェクト。