Database Blob Auditing Policies - Create Or Update

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

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

URI パラメーター

名前 / 必須 説明
blobAuditingPolicyName
path True

blobAuditingPolicyName

BLOB 監査ポリシーの名前。

databaseName
path True

string

データベースの名前。

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

boolean

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

properties.isStorageSecondaryKeyInUse

boolean

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

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

DatabaseBlobAuditingPolicy

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

201 Created

DatabaseBlobAuditingPolicy

データベース BLOB 監査ポリシーが正常に作成されました。

Other Status Codes

エラー応答: ***

  • 400 BlobAuditingIsNotSupportedOnResourceType - BLOB 監査は現在、このリソースの種類ではサポートされていません。

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

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

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

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

  • 400 BlobAuditingInsufficientStorageAccountPermissions - 指定されたストレージ アカウントに対する読み取りまたは書き込みアクセス許可が不十分です。

  • 400 BlobAuditingStorageAccountIsDisabled - 指定されたストレージ アカウントが無効になっています。

  • 400 BlobAuditingNoServerIdentity - サーバー ID が正しく構成されていません。

  • 400 BlobAuditingStorageOutboundFirewallNotAllowed - ストレージ アカウントが許可されている FQDN の一覧に含まれていないため、送信ファイアウォール規則によって要求がブロックされます。

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

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

  • 400 BlobAuditingInvalidStorageAccountName - 指定されたストレージ アカウントが無効であるか、存在しません。

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

  • 400 BlobAuditingIsNotSupportedOnGeoDr - BLOB 監査はプライマリ データベースでのみ構成できます。

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

  • 400 InvalidBlobAuditActions - 監査アクションが無効です

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

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

  • 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=2021-11-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=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": [
      "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=2021-11-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

BLOB 監査ポリシーの名前。

BlobAuditingPolicyState

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

DatabaseBlobAuditingPolicy

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

blobAuditingPolicyName

BLOB 監査ポリシーの名前。

名前 説明
default

string

BlobAuditingPolicyState

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

名前 説明
Disabled

string

Enabled

string

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

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

データベース監査ポリシーでは、特定のアクションを指定することもできます (サーバー監査ポリシーにはアクションを指定できないことに注意してください)。 監査でサポートされているアクションは次のとおりです。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.isManagedIdentityInUse

boolean

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

properties.isStorageSecondaryKeyInUse

boolean

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

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

リソースの種類。