ID はメールアドレスではなく、ログインは壁であってはならない。交渉の余地はありません。
auth.{ドメイン} の単一ブローカーが本人を確認し、各アプリに証明します。全クライアントで PKCE、非対称 JWT、最低 2 要素、deny-by-default の ReBAC、ログインと同等以上の強度の復旧を求めます。
$ schematize install iam譲れない最低基準
「速くするため」に外すことはできません。全リストはスキルをご覧ください。
Auth は独立したアプリケーション
auth.{ドメイン} に専用のサービス、フロント、リポジトリ、ユーザーを置きます。ログインとサインアップはすべてそこで行い、アプリは code + PKCE で委譲します。
署名鍵は auth だけに置く
prd で鍵がなければサービスは起動を拒否します。利用側は JWKS で検証し、iss を確認します。
全クライアントで PKCE S256
Implicit、ROPC、PKCE plain は禁止です。redirect_uri は許可リストとの完全一致で判定します。
非対称 JWT と細いトークン
アルゴリズムは許可リストで管理し、none と HS* は拒否します。リフレッシュトークンは不透明でハッシュ化し、ローテーションと再利用検知を行います。
不透明な内部 ID
sub は不変かつ不透明です。メールや電話番号は ID にせず、検証済みの場合のみ有効です。
最低 2 要素、ログイン前の壁なし
パスワード + メール OTP で基本の 2FA を満たします。強い要素は促しと必要時の step-up であり、ログイン前に要求しません。
パスキーが中核
登録とアサーションの実フローを備えた WebAuthn。パスワードは argon2id で、漏えい済みパスワードとの照合も行います。
マルチテナント ReBAC、deny-by-default
サーバー側の PDP/PEP、監査される判定、outbox によるタプル、fail-closed の PDP。トークンを受け付けるすべての経路で取り消せないログアウトを実現します。
コマンド
.claude/commands/ にインストールされます。いつでも /iam-help を実行できます。
/iam-auditIAM のカバレッジを、基盤の F0-F6 チェックリストに対して項目ごとに証拠付きで測定します。/iam-authzサービスのマルチテナント ReBAC 認可をモデル化します。ルートから権限、タプル、outbox、fail-closed までを扱います。/iam-ccContext compact: handoff をアーカイブに書き出し、/compact を実行します。/iam-claudeIAMの基本ルールを定めた常時有効な CLAUDE.md をリポジトリのルートに作成またはマージします(他のスキルのブロックは上書きしません)。/iam-clientクライアント(Web/BFF、SPA、モバイル、CLI)を authorization code + PKCE でブローカーに接続します。/iam-handoffコンテキストの handoff(context.md + checklist.md)を、圧縮せずにアーカイブへ出力します。/iam-helpすべてのコマンドと、それぞれの役割を一覧表示します。/iam-loadIAMの規範を強制的にすべて読み込み、このセッションで適用します。/iam-recoverアカウント復旧と step-up を設計または監査し、アカウント状態ごとの到達可能性を証明します。/iam-review認証のコードと設定を基準に照らしてレビューします。ゲートを実行し、機械では読めない部分を人が読みます。AIエージェント向け
人手を介さずにインストールできます。メタデータは llms.txt にあります。
- 実行: git clone https://github.com/schematizeme/skill-iam.git && ./skill-iam/install.sh
- またはダウンロード: https://github.com/schematizeme/skill-iam/releases/latest/download/skill-iam.zip を .claude/skills/ に展開
- assets/CLAUDE.md をリポジトリのルートにコピー(常時オンのルール)。
- /iam-help で確認。
ディスカッション
読み込み中…