Claude Code Plugins

Community-maintained marketplace

Feedback

.claude/skills/zero-trust-security/SKILL.md

@mattnigh/skills_collection
0
0

|

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name .claude/skills/zero-trust-security/SKILL.md
description Zero Trust Security原則に基づく機密情報管理スキル。 📚 リソース参照: このスキルには以下のリソースが含まれています。 必要に応じて該当するリソースを参照してください: - `.claude/skills/zero-trust-security/resources/continuous-verification-implementation.md`: Continuous Verification Implementationリソース - `.claude/skills/zero-trust-security/resources/jit-access-patterns.md`: Jit Access Patternsリソース - `.claude/skills/zero-trust-security/resources/rbac-implementation.md`: Rbac Implementationリソース - `.claude/skills/zero-trust-security/templates/access-policy-template.yaml`: Access Policyテンプレート
version 1.0.0

Zero Trust Security

概要

Zero Trust(ゼロトラスト)は「誰も信用しない」前提のセキュリティモデルです。 従来の境界防御ではなく、すべてのアクセスを毎回検証し、最小権限で 機密情報へのアクセスを制限します。

Zero Trust の 5 原則

原則 1: 境界の消失

従来モデル: 内部ネットワーク = 安全 Zero Trust: すべてのアクセスが潜在的に危険

Secret 管理への適用:

  • 開発者であっても本番 Secret に無制限アクセスは持たない
  • 社内ネットワークからのアクセスも認証・認可が必要
  • VPN 接続していても追加検証を実施

実装の詳細: resources/boundary-elimination-patterns.md

原則 2: 継続的検証

概念: すべてのアクセスリクエストを毎回検証する

Secret 管理への適用:

  • セッショントークンの短い有効期限(15 分-1 時間)
  • Secret アクセス毎の認証・認可チェック
  • 異常なアクセスパターンの即座検知

実装の詳細: resources/continuous-verification-implementation.md

原則 3: マイクロセグメンテーション

概念: アクセス権限を細分化し、最小単位で管理

Secret 管理への適用:

  • Secret をサービス単位で分離
  • 各サービスは必要最小限の Secret のみにアクセス
  • クロスサービスアクセスは明示的な承認が必要

実装例:

const secretPolicies = {
  "discord-service": ["DISCORD_WEBHOOK_URL"],
  "ai-service": ["OPENAI_API_KEY", "DATABASE_URL"],
  "payment-service": ["STRIPE_SECRET_KEY", "DATABASE_URL"],
};

function validateServiceAccess(service: string, secretName: string): boolean {
  const allowed = secretPolicies[service] || [];
  return allowed.includes(secretName);
}

原則 4: 動的ポリシー

概念: コンテキストに応じてアクセス制御を動的に変更

適用例:

  • 時間帯制限: 営業時間外のアクセスは追加承認
  • 地理的制限: 許可された地域外からのアクセス拒否
  • 異常検知: 通常と異なるパターンで追加認証

実装の詳細: resources/dynamic-policy-engine.md

原則 5: 監視と分析

概念: すべての活動を監視し、異常を即座に検知

実装要件:

  • すべての Secret アクセスをリアルタイムログ
  • 異常パターンの自動検知
  • アラート通知(Slack、Discord、Email)

実装の詳細: resources/monitoring-and-alerting.md

アクセス制御パターン

パターン 1: RBAC (Role-Based Access Control)

構成: User → Role → Permissions → Secrets

実装:

const roles = {
  developer: {
    permissions: [{ action: "read", resources: ["secret/dev/*"] }],
  },
  devops: {
    permissions: [
      { action: "read", resources: ["secret/dev/*", "secret/staging/*"] },
      { action: "rotate", resources: ["secret/staging/*"] },
    ],
  },
  security_admin: {
    permissions: [{ action: "*", resources: ["secret/*"] }],
  },
};

詳細: resources/rbac-implementation.md

パターン 2: ABAC (Attribute-Based Access Control)

構成: User Attributes + Resource Attributes + Environment → Decision

詳細: resources/abac-implementation.md

パターン 3: JIT (Just-In-Time) Access

概念: 必要な時に、必要な期間だけアクセス権限を付与

実装:

async function requestJITAccess(
  userId: string,
  secretName: string,
  duration: number,
  justification: string,
): Promise<AccessGrant> {
  const approval = await requestApproval({ userId, secretName, justification });

  return await grantTemporaryAccess({
    userId,
    secretName,
    expiresAt: Date.now() + duration,
    approvedBy: approval.approver,
  });
}

詳細: resources/jit-access-patterns.md

異常検知ルール

ルールベース検知

const anomalyRules = [
  {
    name: "rapid_access",
    condition: (event) => event.accessCount > 10 && event.timeWindow < 600000,
    severity: "high",
    action: "alert",
  },
  {
    name: "unusual_time",
    condition: (event) => event.hour < 6 || event.hour > 22,
    severity: "medium",
    action: "require_mfa",
  },
  {
    name: "new_location",
    condition: (event) => !event.user.knownLocations.includes(event.location),
    severity: "high",
    action: "block",
  },
];

詳細: resources/anomaly-detection-rules.md

監査とコンプライアンス

監査ログ要件

すべての Secret アクセスで記録:

  • Who(誰が): user_id, email, roles
  • What(何を): action, secret_name, classification
  • When(いつ): timestamp
  • Where(どこで): ip_address, location
  • How(どのように): access_method, session_id
  • Result(結果): success/denied/error

実装: resources/audit-logging-implementation.md

実装チェックリスト

Zero Trust 原則

  • 内部開発者も無制限アクセスを持たない設計か?
  • すべてのアクセスが毎回検証されるか?
  • Secret がサービス単位で分離されているか?
  • 動的ポリシー(時間、地域等)が考慮されているか?
  • すべてのアクセスが監査ログに記録されるか?

最小権限

  • 各サービスが必要最小限の Secret のみにアクセスするか?
  • クロスサービスアクセスが明示的に承認制か?
  • 環境間の Secret 共有が防止されているか?

継続的検証

  • セッション有効期限が短い(15 分-1 時間)か?
  • 異常アクセスパターンが検知されるか?
  • MFA が高リスクアクセスで要求されるか?

関連スキル

  • .claude/skills/secret-management-architecture/SKILL.md - Secret 管理アーキテクチャ
  • .claude/skills/encryption-key-lifecycle/SKILL.md - 鍵管理
  • .claude/skills/environment-isolation/SKILL.md - 環境分離

リソースファイル

詳細な実装は以下を参照:

  • resources/rbac-implementation.md - RBAC 詳細実装
  • resources/jit-access-patterns.md - JIT アクセス実装
  • resources/continuous-verification-implementation.md - 継続的検証実装

テンプレート

  • templates/access-policy-template.yaml - アクセスポリシーテンプレート