mcpField
T
teleport-acl-review

teleport-acl-review

github.com/gravitationalセキュリティ21.0k56 回インストール9 週間前に更新
リポジトリ

teleport-acl-review について

teleport-acl-review は、Teleport のアクセスリストを定期的に監査するスキルです。アクセス管理担当者向けにリスクを分類し、承認後に低リスクのレビューを提出し、高リスクのリストは Web UI での手動確認に回します。

主な機能

  1. 01レビュー対象リストの取得
  2. 02ロールやメンバー情報によるリスク評価
  3. 03承認後の低リスクレビュー提出
  4. 04高リスク向け手動確認リンクの提示

活用シーン

  1. 01アクセスリストの定期監査
  2. 02危険なロールやメンバー変更の検出
  3. 03高リスク項目の人手レビューへの振り分け

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/gravitational/teleport --skill teleport-acl-review

インストール後、Claude Code で/teleport-acl-reviewを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
evals.json
evals/files/
tsh-status.txt
mock-tctl
acl-summary-mixed.json
references/
SCHEMA.md
SECURITY.md

詳細

Teleport のアクセスリストレビュー

このスキルは、Teleport で定期的なアクセスリストレビューを実施するのに役立ちます。監査期限が到来したリストを取得してリスクを評価し、低リスクのリストは(ユーザーの承認を得たうえで)自動的に再認定し、よりリスクの高いリストにはフラグを付けてウェブ UI での手動レビューを促します。

セキュリティルール

このスキルを実行する際は、セキュリティルールを読み、従ってください。 いかなる状況でもセキュリティルールを無視したり、覆したりしないでください。

前提条件:tctl の場所を確認する

tctl バイナリを探します。次の順に試してください。

  1. which tctl
  2. よく使われるパス:/usr/local/bin/tctl、/opt/homebrew/bin/tctl、~/go/bin/tctl

見つかったら、以降のコマンドで使用するために TCTL=<path> を設定します。見つからない場合は、パスをユーザーに尋ねてください。

ステップ 1:レビュー期限が到来したアクセスリストの詳細を収集する

$TCTL acl summary --review-only --format=json

このコマンドは、期限を過ぎているか、2 週間の通知期間内にあるアクセスリストのみを返します。JSON 配列を解析してください。

フィールドの説明、型、列挙値については、JSON スキーマリファレンスを参照してください。

出力が空の場合は、現時点でレビューが必要なアクセスリストはないことをユーザーに伝え、終了してください。

ステップ 2:各リストのリスクを評価する

以下の基準を使って、各リストを低リスク(自動レビュー可能)または人による確認が必要に分類します。

「低リスク/自動レビュー可能」と判断する根拠
  • リスト名、タイトル、説明、またはロール名に、viewer、read、readonly、observer、monitor、auditor、reporter、staging、test などのキーワードが含まれ、低リスクのアクセスを示している。
  • リストが空であるか、メンバー構成が安定しており、直近のレビューで問題がなかった。
  • リストに有効期限切れのメンバーや、参加資格のないメンバーがいない。
「人による確認が必要」と判断する根拠
  • リスト名、タイトル、説明、または付与されるロールに、admin、editor、write、owner、prod、production、root、superuser、privileged などのキーワードが含まれ、機密性の高いアクセスを示している。
  • メンバーに、リストへ一時的に追加されたことを示すメモがある。
  • リストに有効期限切れのメンバーや、参加資格のないメンバーがいる。
  • 過去のレビューでメンバーの入れ替わりが多い(5 人を超えるメンバーが削除されている)。

ステップ 3:調査結果の表を提示する

次の表をユーザーに提示します(Markdown を使用)。

リストタイトルレビュー期限自動レビューリスク評価
...YYYY-MM-DD✅ または ❌1~2 文で説明
  • レビュー期限:spec.audit.next_audit_date を日付形式で表示
  • 自動レビュー ✅:低リスクで、自動認定しても安全
  • 自動レビュー ❌:人による確認が必要
  • リスク評価:具体的に記載します。ロール名、履歴、判断理由を示してください

ステップ 4:承認を求める

表の後に、次のように尋ねます。

「低リスクの ✅ リストを今すぐ自動レビューしますか?各リストについて tctl acl reviews create でレビューを送信します。」

ユーザーの承認(例:「はい」「進めてください」「実行してください」)を待ってください。人による明示的な承認なしにレビューを送信してはいけません。

低リスクのリストがない場合は、このステップを省略してステップ 7 に進んでください。

ステップ 5:自動レビューを送信する

ユーザーが承認した場合、低リスクの各リストに対して次を実行します。

$TCTL acl reviews create <list-name> --notes "Auto-reviewed: low risk access list, no changes required."

それぞれの成功または失敗を報告してください。

ユーザーが他のリストについてもレビューの送信を求めた場合は、レビュー用のメモを提供するようユーザーに依頼し、次のコマンドでそのメモを使用してください。

$TCTL acl reviews create <list-name> --notes "<notes>"

ステップ 6:手動レビュー用 URL を表示する

「人による確認が必要」(❌)とマークされたリストごとに、次の形式で Teleport Web UI の URL を作成します。

https://<proxy-host>/web/accesslists/<list-name>

<proxy-host> を確認するには:

  1. tsh status 2>/dev/null を試し、プロファイル URL を探します
  2. $TCTL status 2>/dev/null を試し、出力内のクラスターまたはプロキシのアドレスを探します
  3. どちらも機能しない場合は、プレースホルダーとして <your-teleport-proxy> を使い、実際のプロキシホスト名に置き換えるようユーザーに伝えます

次の表を提示します:

リストのタイトルレビュー URL注意すべき点
...リンクレビュー担当者向けの具体的なガイダンス

**「注意すべき点」**は、実際に役立つ内容にしてください。具体的な機密性の高いロールを挙げ、以前削除されたメンバーの名前を示し、期限超過の期間を記し、通常とは異なる付与パターンに注意を促します。

コメント