Extended Server Blob Auditing Policies - Create Or Update

拡張サーバーの BLOB 監査ポリシーを作成または更新します。

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/extendedAuditingSettings/default?api-version=2021-11-01

URI パラメーター

名前 / 必須 説明
blobAuditingPolicyName
path True

blobAuditingPolicyName

BLOB 監査ポリシーの名前。

resourceGroupName
path True

string

リソースが含まれているリソース グループの名前。 この値は、Azure リソース マネージャー API またはポータルから取得できます。

serverName
path True

string

サーバーの名前。

subscriptionId
path True

string

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

api-version
query True

string

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

要求本文

名前 必須 説明
properties.state True

BlobAuditingPolicyState

監査の状態を指定します。 state が Enabled の場合、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 ステートメントとストアド プロシージャを対象とするグループであり、監査ログが重複するため、他のグループと組み合わせて使用しないでください。

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

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

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

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

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

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

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.isDevopsAuditEnabled

boolean

devops 監査の状態を指定します。 state が Enabled の場合、devops ログは Azure Monitor に送信されます。 イベントを Azure Monitor に送信するには、'State' を 'Enabled'、'IsAzureMonitorTargetEnabled' を true、'IsDevopsAuditEnabled' を true に指定します。

REST API を使用して監査を構成する場合は、マスター データベースに "DevOpsOperationsAudit" 診断ログ カテゴリを含む診断設定も作成する必要があります。

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

詳細については、「診断設定 REST API」または「診断設定 PowerShell」を参照してください。

properties.isManagedIdentityInUse

boolean

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

properties.isStorageSecondaryKeyInUse

boolean

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

properties.predicateExpression

string

監査の作成時に where 句の条件を指定します。

properties.queueDelayMs

integer

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

properties.retentionDays

integer

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

properties.storageAccountAccessKey

string

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

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

string

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

properties.storageEndpoint

string

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

応答

名前 説明
200 OK

ExtendedServerBlobAuditingPolicy

拡張監査設定が正常に更新されました。

202 Accepted

拡張監査設定の更新が進行中です。

Other Status Codes

エラー応答: ***

  • 400 InvalidServerBlobAuditingPolicyCreateRequest - サーバー BLOB 監査ポリシーの作成要求が存在しないか、プロパティ オブジェクトがありません。

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

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

  • 400 BlobAuditingPredicateExpressionEmpty - パラメーター 'predicateExpression' が無効です。値を空にすることはできません。

  • 400 BlobAuditingInvalidStorageAccountCredentials - 指定されたストレージ アカウントまたはアクセス キーが無効です。

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

  • 400 InsufficientDiskSpaceForAuditing - 監査メタデータをデータベースに保存するためのディスク領域が不足しています

  • 400 InvalidBlobAuditActions - 無効な監査アクション

  • 404 SubscriptionDoesNotHaveServer - 要求されたサーバーが見つかりませんでした

  • 404 ServerNotInSubscriptionResourceGroup - 指定されたサーバーが、指定されたリソース グループとサブスクリプションに存在しません。

  • 404 OperationIdNotFound - Id を持つ操作が存在しません。

  • 409 ServerBlobAuditingPolicyInProgress - サーバー BLOB の監査の設定は既に進行中です。

  • 409 OperationCancelled - 操作がユーザーによって取り消されました。

  • 409 OperationInterrupted - 同じリソースに対する別の操作によって中断されたため、リソースに対する操作を完了できませんでした。

  • 429 SubscriptionTooManyCreateUpdateRequests - 使用可能なリソースで処理できる最大要求を超える要求。

  • 429 SubscriptionTooManyRequests - 使用可能なリソースで処理できる最大要求を超える要求。

  • 500 OperationTimedOut - 操作がタイムアウトし、自動的にロールバックされました。 操作をやり直してください。

  • 503 TooManyRequests - 使用可能なリソースで処理できる最大要求を超える要求。

Update a server's extended blob auditing policy with all parameters
Update a server's extended blob auditing policy with minimal parameters

Update a server's extended blob auditing policy with all parameters

Sample Request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/extendedAuditingSettings/default?api-version=2021-11-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": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "predicateExpression": "object_name = 'SensitiveData'",
    "isAzureMonitorTargetEnabled": true
  }
}

Sample Response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/extendedAuditingSettings/default",
  "name": "default",
  "type": "Microsoft.Sql/servers/extendedAuditingSettings",
  "properties": {
    "state": "Enabled",
    "storageEndpoint": "https://mystorage.blob.core.windows.net",
    "retentionDays": 6,
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "isStorageSecondaryKeyInUse": false,
    "queueDelayMs": 4000,
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "predicateExpression": "object_name = 'SensitiveData'",
    "isAzureMonitorTargetEnabled": true
  }
}

Update a server's extended blob auditing policy with minimal parameters

Sample Request

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

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

Sample Response

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

定義

名前 説明
blobAuditingPolicyName

BLOB 監査ポリシーの名前。

BlobAuditingPolicyState

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

ExtendedServerBlobAuditingPolicy

拡張サーバー BLOB 監査ポリシー。

blobAuditingPolicyName

BLOB 監査ポリシーの名前。

名前 説明
default

string

BlobAuditingPolicyState

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

名前 説明
Disabled

string

Enabled

string

ExtendedServerBlobAuditingPolicy

拡張サーバー BLOB 監査ポリシー。

名前 説明
id

string

リソースの ID

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 ステートメントとストアド プロシージャを対象とするグループであり、監査ログが重複するため、他のグループと組み合わせて使用しないでください。

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

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

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

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

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

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

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.isDevopsAuditEnabled

boolean

devops 監査の状態を指定します。 state が Enabled の場合、devops ログは Azure Monitor に送信されます。 イベントを Azure Monitor に送信するには、'State' を 'Enabled'、'IsAzureMonitorTargetEnabled' を true、'IsDevopsAuditEnabled' を true に指定します。

REST API を使用して監査を構成する場合は、マスター データベースに "DevOpsOperationsAudit" 診断ログ カテゴリを含む診断設定も作成する必要があります。

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

詳細については、「診断設定 REST API」または「診断設定 PowerShell」を参照してください。

properties.isManagedIdentityInUse

boolean

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

properties.isStorageSecondaryKeyInUse

boolean

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

properties.predicateExpression

string

監査の作成時に where 句の条件を指定します。

properties.queueDelayMs

integer

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

properties.retentionDays

integer

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

properties.state

BlobAuditingPolicyState

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

properties.storageAccountAccessKey

string

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

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

string

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

properties.storageEndpoint

string

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

type

string

リソースの種類。