Agent Skills by ALSEL
Anthropic ClaudeDevOps・インフラ⭐ リポ 1品質スコア 58/100

implementing-database-audit-logging

コンプライアンスとセキュリティ監視のためにデータベースの変更を追跡する必要がある場合に使用します。このスキルはトリガー、アプリケーション層のログ、CDC、またはネイティブログを使用して監査ログを実装します。「データベース監査ログを実装する」「監査証跡を追加する」「データベースの変更を追跡する」「コンプライアンスのためのデータベースアクティビティを監視する」といったフレーズでトリガーされます。

description の原文を見る

Process use when you need to track database changes for compliance and security monitoring. This skill implements audit logging using triggers, application-level logging, CDC, or native logs. Trigger with phrases like "implement database audit logging", "add audit trails", "track database changes", or "monitor database activity for compliance".

SKILL.md 本文

データベースauditログ

このスキルはデータベースauditログgerタスクの自動化された支援を提供します。

前提条件

このスキルを使用する前に、以下を確認してください:

  • CREATE TABLEおよびCREATE TRIGGER権限を持つデータベース認証情報
  • コンプライアンス要件(GDPR、HIPAA、SOX、PCI-DSS)の理解
  • auditログ用の十分なストレージ(データサイズの10~30%を見積もり)
  • auditログの保持期間の決定
  • テーブルスキーマのデータベースドキュメントへのアクセス
  • auditログ分析用の監視ツールの設定

手順

ステップ1:Audit要件の定義

  1. コンプライアンス要件に基づいてauditログが必要なテーブルを特定する
  2. 監査対象イベント(INSERT、UPDATE、DELETE、機密データへのSELECT)を決定する
  3. auditが必要な機密データを含むカラムを定義する
  4. auditログの保持要件を文書化する
  5. アクションの監査が必要なユーザー/ロールを特定する

ステップ2:Audit戦略の選択

  1. トリガーベースのAuditing:包括的な行レベルの追跡に最適
    • 利点:自動的、アプリケーション変更不要、すべての変更をキャプチャ
    • 欠点:パフォーマンスオーバーヘッド、複雑なトリガー保守
  2. アプリケーションレベルのAuditing:選択的な監査に最適
    • 利点:柔軟性、低いデータベースオーバーヘッド、デバッグが容易
    • 欠点:アプリケーション変更が必要、直接的なデータベース変更を見落とす可能性
  3. Change Data Capture(CDC):リアルタイムストリーミングに最適
    • 利点:最小限のパフォーマンス影響、リアルタイム分析、外部処理
    • 欠点:複雑なセットアップ、CDC基盤構造が必要
  4. ネイティブデータベースログ:一般的な監視に最適
    • 利点:セットアップ不要、すべてをキャプチャ、組み込み機能
    • 欠点:大量のログ、保持期間の制限、クエリが難しい

ステップ3:Auditテーブルスキーマの設計

  1. 以下のコアカラムを持つauditログテーブルを作成します:
    • audit_id(主キー)、table_name、action(INSERT/UPDATE/DELETE)
    • record_id(監査対象レコードの参照)、old_values(JSON)、new_values(JSON)
    • changed_by(ユーザー)、changed_at(タイムスタンプ)、client_ip、application_context
  2. クエリパフォーマンスのためにtable_name、changed_at、changed_byにインデックスを追加する
  3. 効率的なアーカイブのためにauditテーブルを日付でパーティション化する
  4. auditログ用のテーブルスペースをプライマリデータとは別に設定する

ステップ4:Auditメカニズムの実装

  1. トリガーベースの場合:各テーブル上にAFTER INSERT/UPDATE/DELETEトリガーを作成する
  2. トリガー本体で古い行と新しい行の値をJSONとしてキャプチャする
  3. ユーザーコンテキスト(CURRENT_USER、アプリケーションユーザー、IPアドレス)を記録する
  4. トリガー失敗を適切に処理する(ログを記録するがオペレーションはブロックしない)
  5. サンプルデータの変更でトリガーをテストする

ステップ5:Auditログ管理の設定

  1. 古いauditログをコールドストレージに自動的にアーカイブするセットアップを行う
  2. コンプライアンスレポートの一般的なauditログ分析クエリを実装する
  3. 疑わしいアクティビティ(一括削除、営業時間外の変更)のアラートを作成する
  4. コンプライアンス監査人向けのauditログクエリ手順を文書化する
  5. セキュリティチームとのauditログレビューを定期的にスケジュールする

ステップ6:Audit実装の検証

  1. 監査対象テーブルでテストオペレーションを実行する
  2. auditログエントリが完全なデータで作成されることを確認する
  3. auditログクエリのパフォーマンスをテストする
  4. auditログが通常ユーザーによって変更されないことを確認する
  5. コンプライアンス文書化のためのaudit実装を文書化する

出力

このスキルは以下を生成します:

Auditテーブルスキーマ:適切なインデックスとパーティション化を持つauditログテーブルのSQL DDL

Auditトリガー:データ変更時にauditログを自動的に入力するデータベーストリガー

Auditログクエリ:コンプライアンスレポートと変更追跡のための事前構築済みSQLクエリ

実装文書:設定詳細、トリガーロジック、保守手順

コンプライアンスレポートテンプレート:GDPR アクセスログ、SOX変更レポートなど用のSQLクエリ

エラー処理

トリガーパフォーマンスの問題

  • すべてのテーブルではなく重要なテーブルのみをauditする
  • キューシステムを使用した非同期auditログを使用する
  • 個別の挿入ではなくauditログ挿入をバッチ処理する
  • トリガー実行時間を監視してトリガーロジックを最適化する

Auditテーブルの成長

  • 保持期間より古いauditログの自動アーカイブを実装する
  • auditテーブルを月または四半期でパーティション化する
  • 古いauditログパーティションを圧縮する
  • 履歴auditログをより安価なストレージレベルに移動する

Auditコンテキストの欠落

  • オペレーション前にデータベースセッションでアプリケーションコンテキストを設定する
  • データベースセッション変数を使用してユーザーアイデンティティを渡す
  • セッション初期化を使用した接続プーリングを実装する
  • データベースユーザーとは別にアプリケーションユーザーをログする

権限の問題

  • auditログテーブルがトリガー実行コンテキストで書き込み可能であることを確認する
  • すべてのデータベースユーザーにauditテーブルへのINSERTを付与する
  • 変更からauditテーブルを保護する(UPDATE/DELETE権限を付与しない)
  • アクセス制限付きの独立したスキーマをauditテーブルに使用する

リソース

Auditテーブルテンプレート

  • PostgreSQL auditトリガー:{baseDir}/templates/postgresql-audit-trigger.sql
  • MySQL auditトリガー:{baseDir}/templates/mysql-audit-trigger.sql
  • Auditテーブルスキーマ:{baseDir}/templates/audit-table-schema.sql

コンプライアンスレポートクエリ{baseDir}/queries/compliance-reports/

  • GDPRデータアクセスレポート
  • SOX変更auditレポート
  • ユーザーアクティビティサマリー
  • 疑わしいアクティビティ検出

Audit戦略ガイド{baseDir}/docs/audit-strategy-selection.md パフォーマンスチューニング{baseDir}/docs/audit-performance-optimization.md アーカイブ手順{baseDir}/scripts/audit-archival.sh

概要

このスキルは説明された機能の自動化された支援を提供します。

使用パターンの例はコンテキスト内で説明されます。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
Brmbobo
リポジトリ
Brmbobo/Web2podcast
ライセンス
MIT
最終更新
2026/1/26

Source: https://github.com/Brmbobo/Web2podcast / ライセンス: MIT

関連スキル

汎用DevOps・インフラ⭐ リポ 502

superpowers-streamer-cli

SuperPowers デスクトップストリーマーの npm パッケージをインストール、ログイン、実行、トラブルシューティングできます。ユーザーが npm から `superpowers-ai` をセットアップしたい場合、メールまたは電話でサインインもしくはアカウント作成を行いたい場合、ストリーマーを起動したい場合、表示されたコントロールリンクを開きたい場合、後で停止したい場合、またはソースコードへのアクセスなしに npm やランタイムの一般的な問題から復旧したい場合に使用します。

by rohanarun
汎用DevOps・インフラ⭐ リポ 493

catc-client-ops

Catalyst Centerのクライアント操作・監視機能 - 有線・無線クライアントのリスト表示・フィルタリング、MACアドレスによる詳細なクライアント検索、クライアント数分析、時間軸での分析、SSIDおよび周波数帯によるフィルタリング、無線トラブルシューティング機能を提供します。MACアドレスやIPアドレスでのクライアント検索、サイト別やSSID別のクライアント数集計、無線周波数帯の分布分析、Wi-Fi信号の問題調査が必要な場合に活用できます。

by automateyournetwork
汎用DevOps・インフラ⭐ リポ 39,967

ci-cd-and-automation

CI/CDパイプラインの設定を自動化します。ビルドおよびデプロイメントパイプラインの構築または変更時に使用できます。品質ゲートの自動化、CI内のテストランナー設定、またはデプロイメント戦略の確立が必要な場合に活用します。

by addyosmani
汎用DevOps・インフラ⭐ リポ 39,967

shipping-and-launch

本番環境へのリリース準備を行います。本番環境へのデプロイ準備が必要な場合、リリース前チェックリストが必要な場合、監視機能の設定を行う場合、段階的なロールアウトを計画する場合、またはロールバック戦略が必要な場合に使用します。

by addyosmani
OpenAIDevOps・インフラ⭐ リポ 38,974

linear-release-setup

Linear Releaseに向けたCI/CD設定を生成します。リリース追跡の設定、LinearのCIパイプライン構築、またはLinearリリースとのデプロイメント連携を実施する際に利用できます。GitHub Actions、GitLab CI、CircleCIなど複数のプラットフォームに対応しています。

by novuhq
Anthropic ClaudeDevOps・インフラ⭐ リポ 2,159

tracking-application-response-times

API エンドポイント、データベースクエリ、サービスコール全体にわたるアプリケーションのレスポンスタイムを追跡・最適化できます。パフォーマンス監視やボトルネック特定の際に活用してください。「レスポンスタイムを追跡する」「API パフォーマンスを監視する」「遅延を分析する」といった表現で呼び出せます。

by jeremylongshore
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: Brmbobo · Brmbobo/Web2podcast · ライセンス: MIT