GH GambleHub

オペレーションと→管理監査構成

監査構成

1)目的と価値

監査構成は、証明可能な説明責任と変更の再現性を保証します。何が正当化されています。テストされたように;どのようにロールバックする。これは、インシデントのリスクを軽減します、秘密の漏洩、コンプライアンスの矛盾とprod内の「隠された」編集。

主な結果:
  • configsのための単一のsource of truth (SoT)。
  • 完全な変更トレース(エンドツーエンド)。
  • 予測可能なリリースとクイックロールバック。
  • コンプライアンスとセキュリティポリシー。

2)スコープ

インフラ:Terraform/Helm/Ansible/K8sマニフェスト、ネットワークACL/WAF/CDN。
アプリケーション設定:'yaml/json/properties'ファイル、フィーチャーフラグ、limits/quotas。
秘密と鍵:vault/kms、証明書、トークン、パスワード。
データパイプライン:スキーマ、変換、ETL/ストリームスケジュール。
統合:PSP/KYC/プロバイダ、 webhook、再試行/タイムアウトポリシー。
オブザビリティ:アラートルール、ダッシュボード、SLO/SLA。

3)原則

データとしての設定:宣言、バージョン、テスト可能なアーティファクト。
Immutabilityとidempotency:コードからメディアの再現性。
スキームとコントラクト:厳密な検証(JSON-Schema/Protobuf)、バック/フォワード互換性。
手動編集の最小化:MR/PRによる変更のみ。
職務の分離(SoD)と4-eyes: author!=deploer;必須レビュー。
アトリビューションと署名:コミット/リリースの署名、アーティファクトの証明。

4)監査アーキテクチャ

1.SoTとしてのSCM (Git):リポジトリ内のすべての構成、'main'ブランチは保護されます。

2.レジスタ:
  • Config Registry(構成、所有物、SLA、環境のディレクトリ)、
  • スキーマレジストリ(設定/イベントスキーマバージョン)、
  • ポリシーエンジン(OPA/Conftest)-チェックのセット。
  • 3.CI/CD-gates: format/scheme→static check→policy checks→secret scan→dry-run→change plan。
  • 4.配信:GitOps(例:ArgoCD/Flux)ドリフト検出器とアプリケーション監査ログ付き。
  • 5.証拠ストア:監査アーティファクト(計画、ログ、署名、ビルド、SBOM)のリポジトリ。
  • 6.アクションログ:「CREATE/APPROVE/APPLY/ROLLBACK/ACCESS」イベントの不変ログ(append-only)。

5)監査データモデル(最小)

Сущности: 'ConfigItem (id、 env、 service、 owner、 schema_version、 sensitivity)'

Сónotosa: 'change_id、俳優、アクション、ts、 diff_hash、 reason、承認[]'

Артефакты: 'plan_url、 test_report_url、 policy_report、署名、release_tag'

接続:RFC/チケット ↔ PR ↔ depla (sha) ↔リリース録画↔ SLO監視。

6)変更プロセス(エンドツーエンド)

1.RFC/チケット→ターゲット、リスク、バックアウト。
2.PR/MR→リンク、回路図の検証、ポリシーチェック、シークレットスキャン。
3.Plan/Preview→dry-run/plan、 resource diff、 cost/impact estimate。
4.承認(4-eyes/SoD、高リスクでCABラベル)。
5.展開(ウィンドウ/カレンダー別)→GitOpsが適用されます。ドリフトアラートを有効にしました。
6.確認→煙/SLO-gardrails、結果の確認。
7.証拠のアーカイブ→証拠ストア;config辞書を更新します。

7)方針・ルール(例)

SoD: PRの著者はprodに保持しません。
制限時間:「凍結」以外の生産はありません。
スコープ:機密鍵を変更するには、セキュリティ/コンプライアンスから2つの更新が必要です。
秘密:レポで保持することは禁止されています。vaultパス+アクセスロール参照のみ。
ネット:'0の入力。0.0.0/0'は一時的な例外とTTLなしでは許可されません。
警報:CABなしでP1の重大性を減らすことは禁止されています。

8)秘密の制御

Vault/KMSストレージ、短いTTL、自動回転。
CIでの秘密スキャン(キーパターン、高エントロピー)。
環境/役割による秘密の分離;最小限の必要な権限。
暗号化「ワイヤ上」と「残りの部分」;秘密へのアクセスの閉鎖された監査ログ。

9)ツール(可変)

Lint/Schema: 'yamllint'、 'jsonschema'、 'ajv'、 'cue'。
ポリシー:OPA/Conftest、 Checkov/tfsec/kube-policies。
GitOps: ArgoCD/Flux(ドリフト検出、監査、RBAC)。
秘密:HashiCorp Vault、 クラウドKMS、 certマネージャー。
スキャナー:trufflehog、 gitleaks(秘密);OPA/Regula(ルール)。
レポート:ログをDWH/BIにエクスポートし、インシデントと変更システムにリンクします。

10)ルールやアーティファクトの例

制限設定のためのJSONスキーマ

json
{
"$schema": "http://json-schema. org/draft-07/schema#",
"title": "limits",
"type": "object",
"required": ["service", "region", "rate_limit_qps"],
"properties": {
"service": {"type":"string", "pattern":"^[a-z0-9-]+$"},
"region": {"type":"string", "enum":["eu","us","latam","apac"]},
"rate_limit_qps": {"type":"integer","minimum":1,"maximum":5000},
"timeouts_ms": {"type":"integer","minimum":50,"maximum":10000}
},
"additionalProperties": false
}

Conftest/OPA (rego)-deny '0。0.0.0/0'進入

rego package policy. network

deny[msg] {
input. kind == "IngressRule"
input. cidr == "0. 0. 0. 0/0"
msg:= "Ingress 0. 0. 0. 0/0 is not allowed. Specify specific CIDRs or throw an exception with TTL"
}

Conftest/OPA-SoD

rego package policy. sod

deny[msg] {
input. env == "prod"
input. pr. author == input. pr. merger msg: = "SoD: PR author cannot hold in prod."
}

SQL (DWH)-1ヶ月でアラートの重大性を軽減

sql
SELECT actor, COUNT() AS cnt
FROM audit_events
WHERE action = 'ALERT_SEVERITY_CHANGED'
AND old_value = 'P1' AND new_value IN ('P2','P3')
AND ts >= date_trunc('month', now())
GROUP BY 1
ORDER BY cnt DESC;

Gitコミットメッセージの例(必須フィールド)


feat(config/payments): raise PSP_B timeout to 800ms in EU

RFC: OPS-3421
Risk: Medium (PSP_B only, EU region)
Backout: revert PR + restore timeout=500ms
Tests: schema ok, conftest ok, e2e ok

11)監視および警告

Drift-detection: Git→P1/P2シグナル+自動修復(調整)≠クラスタ内の設定。
リスクの高い変更:ネットワーク/シークレット/ポリシーの変更-#security-opsでの通知。
エビデンスの欠落:計画/署名/レポートなしで展開-ブロックまたはアラート。
期限切れのアセット:証明書/キーの有効期間→プロアクティブなアラート。

12)指標とKPI

Audit Coverage%-スキーマ/ポリシー/スキャナの構成の共有。
ドリフトMTTRは平均ドリフトクリア時間です。
ポリシーのコンプライアンス%-ポリシーをPRに渡します。
秘密リークMTTR-リークからリコール/回転まで。
バックアウトレート-設定変更のロールバックの割合。
「平均変更サイズ」(Mean Change Size)-ライン/リソースの平均差分(より少ない方が良い)。

13)報告とコンプライアンス

監査トレース:ストレージ≥ 1〜3年(要件に応じて)、変更できないストレージ。
規制:ISO 27001/27701、 SOX-like SoD、 GDPR (PII)、業界要件(iGaming: GGR/NGRの計算、制限、ボーナスルールの変更を考慮)。
毎月のレポート:トップの変更、ポリシー違反、ドリフト、期限切れの証明書、回転ステータス。

14)プレイブック

A。 prodで検出されるドリフト

1.影響を受けるサービスの自動入金をブロックします。
2.現在の状態のスナップショットを削除します。
3.Gitと比較し「、調整」またはロールバックを開始します。
4.インシデントP 2を作成し、ドリフトソース(手動kubectl/console)を指定します。
5.保護を有効にする:直接変更(PSP/ABAC)はなく、所有者に通知します。

B。 PSP証明書の期限切れ

1.バックアップパス/PSPに切り替え、タイムアウト/リトレースを下げます。
2.PKIプロセスで新しい証明書を発行し、Gitを通じて設定を更新します。
3.煙のテスト、リターントラフィックは、事件、死後を閉じます。

C。 シークレットヒットPR

1.キー/トークンを取り消し、回転を使用します。
2.キャッシュから履歴を書き換えたり、アーティファクトを削除したりすると、RCAが発行されます。
3.シークレットスキャナにルールを追加し、コマンドを訓練します。

15)アンチパターン

マニュアルは、トレースとロールバックなしで「販売中」に編集します。
スキームなしで、検証なしで構成されます。
KMS/VaultなしのGit/CI変数のシークレット。
「グローバル超右」に相当するモノレポ。
ドリフトアラートやアプリケーションログのない「耳が聞こえない」GitOps。
巨大なPR「一気に」-明確な帰属と高リスク。

16)チェックリスト

マージする前に

  • 渡されたダイアグラムとリンタ
  • OPA/Conftestポリシーは緑色です
  • シークレットスキャン-「クリーン」
  • プラン/差分添付、リスク評価、バックアウト対応
  • 2 4月 (prod)とSoDが出会った

デプロイ前

  • リリースウィンドウとカレンダーをチェック
  • ドリフトモニタリングがアクティブ
  • SLO gardrails構成、煙テスト準備完了

毎月

  • 予定通りのキー/証明書の回転
  • 所有者と権利の在庫
  • OPA/除外規則レビュー(TTL)
  • ファイヤードリルテスト

17)デザインのヒント

変更を小さな拡散に分割します。1つのPRは1つの目標です。
RFC/risk/rollbackで必須のPR/コミットテンプレート。
動的構成の場合は、監査とロールバックを持つ「config center」を使用します。
回路のバージョン化;移住なしで壊すことを禁止して下さい。
「config map」: what、 where、 whoを視覚化します。

18)変更およびインシデント管理との統合

PR ↔ RFC ↔リリースカレンダー↔インシデント/死後。
SLO/businessのメトリクスを設定リリースに自動結び付けます。
古いフラグ/例外(TTL)を削除するタスクを自動作成します。

19)ボトムライン

監査構成は「紙レポート」ではなく、運用の信頼性のメカニズムです。構成はデータであり、変更は制御され検証可能であり、秘密はロックと鍵の下にあり、ストーリー全体は透明で検証可能です。これは、安定した、迎合的で予測可能なプラットフォームを構築する方法です。

Contact

お問い合わせ

ご質問やサポートが必要な場合はお気軽にご連絡ください。いつでもお手伝いします!

Telegram
@Gamble_GC
統合を開始

Email は 必須。Telegram または WhatsApp は 任意

お名前 任意
Email 任意
件名 任意
メッセージ 任意
Telegram 任意
@
Telegram を入力いただいた場合、Email に加えてそちらにもご連絡します。
WhatsApp 任意
形式:+国番号と電話番号(例:+81XXXXXXXXX)。

ボタンを押すことで、データ処理に同意したものとみなされます。