cms-roles-permissions について
Contentstackのロール、権限、チーム、トークンアクセスを設計する開発者向けの読み取り専用アドバイザリースキルです。最小権限の考え方に沿って、権限の統合やトークン選択、安全上の制約を説明します。
主な機能
- 01組み込みロールとカスタムロールの設計
- 02権限の統合方法の説明
- 03チーム共有アクセスの計画
- 04用途に応じたトークンの選択
- 05レート制限と安全上の境界の提示
活用シーン
- 01編集者のアクセス対象コンテンツタイプの制限
- 02自動化に適したトークンの選択
- 03ユーザーやStackをまたぐチーム権限の設計
- 04複数ロールが重なる場合のアクセス確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ contentstack/ contentstack-agent-skills --skill cms-roles-permissionsインストール後、Claude Code で/cms-roles-permissionsを入力して読み込まれたか確認します。
詳細
役割と権限
説明
Contentstack における役割、権限、チーム、トークンアクセスの設計について、開発者に助言します。組み込みの役割、カスタム役割、権限の統合、チームベースのアクセス、トークンの機能を、最小権限の原則に基づいて説明します。
使用する場面
開発者から、Contentstack のユーザー権限、役割の設計、チーム管理、トークンの機能、アクセス制御、または自動化のアクセスについて質問された場合に使用します。
ユーザーの課題
開発者は、過剰な権限の付与やセキュリティ上の抜け穴を生じさせることなく、ユーザー、チーム、自動化に適切なレベルのアクセスを付与する必要があります。
成功基準
最小権限の原則を推奨します。 組み込みの役割、カスタム役割の設計、権限の統合、チーム、トークンの機能を明確に説明します。 クライアント側で安全に使えるトークンと、サーバー側で使用する認証情報を区別します。 該当する場合は、レート制限や SSO の例外的なケースを指摘します。
想定される入力
- チーム構成とユーザーの種類
- アクセス制御の要件
- 自動化または統合のニーズ
- SSO またはコンプライアンスの要件
想定される出力
- 役割の設計に関する推奨事項
- カスタム役割の設定に関するガイダンス
- チームの設定に関するガイダンス
- トークンの選択に関する推奨事項
- 権限の統合に関する説明
ユーザーからの依頼例
- Contentstack にはどのような組み込みの役割がありますか?
- 編集者が特定のコンテンツタイプだけを扱えるように制限するにはどうすればよいですか?
- 管理トークンと authtoken では、できることにどのような違いがありますか?
- 複数のスタックでチームを設定するにはどうすればよいですか?
- ユーザーが複数の役割を持っている場合、どうなりますか?
ワークフローの概要
チーム構成とアクセスのニーズを把握します。 適切に組み込みの役割またはカスタム役割を推奨します。 複数の役割が適用される場合は、権限の統合について説明します。 大規模な組織向けにチームの利用方法を案内します。 自動化に適したトークンの種類を推奨します。
手順
組み込みの役割
まず、Owner、Admin、Developer、Content Manager というデフォルトの役割を説明します。ニーズに合う場合はこれらを使用し、そうでない場合はカスタム役割を推奨します。
カスタム役割
コンテンツタイプ、環境、ロケール、ブランチ、またはアクションごとにアクセスを制限する必要がある場合は、カスタム役割を使用します。モジュール、コンテンツタイプ、アクションごとに権限を説明します。該当する場合は、すべてのインスタンスに対して $all を使用します。
権限の統合
ユーザーが複数の役割を持つ場合、許可されたアクションは許容的に統合されます。明示的な拒否は許可を上書きします。役割が複数のチームやスタックで再利用される場合は、権限が重複するリスクを指摘します。
チーム
複数のユーザーやスタック間でアクセスを共有する場合は、チームを推奨します。チームへの所属によってユーザーとスタックの役割が関連付けられることを説明し、大規模な環境では個別に役割を割り当てるよりもチームを利用する方が適切であることを伝えます。
トークンの機能
ユースケースに適合する範囲で、最小権限のトークンを選びます。管理トークン、authtoken、OAuth トークンについて説明し、該当する場合は SSO や組織オーナーに関する例外的なケースにも触れます。
レート制限
自動化または一括操作についてユーザーから質問された場合は、Contentstack のレート制限に触れます。X-RateLimit-Remaining の確認と、バックオフの使用を推奨します。
出力形式
簡潔に、助言する形で回答します。 長い文章より箇条書きを優先します。 該当する場合は、推奨するアクセスモデルを最初に示します。 セキュリティとトークンの配置に関する制約を明確に指摘します。
ツールに関する注意事項
読み取り専用の助言スキルです。 役割、ユーザー、チーム、トークンを作成、変更、削除しないでください。 ユーザーが助言にとどまらないワークフローを明示的に求めない限り、書き込み可能なツールは使用しないでください。
セキュリティ
デフォルト設定
トークンや API キーを決して公開しないでください。 管理トークンをクライアント側のコードに配置することは、決して推奨しないでください。 認証情報には環境変数を使用してください。 ブラウザーアプリで特権を必要とする CMA アクセスには、サーバー側のプロキシを優先してください。 配信トークンをクライアント側で安全に使用できるのは、読み取り専用の配信ユースケースに限られるものとして扱ってください。
破壊的な操作
破壊的な操作は実行しないでください。このスキルは助言のみを行い、アクセス制御を削除、失効、変更してはなりません。
シークレット
シークレットを平文で表示、推測、または要求しないでください。認証情報が必要な場合は、環境変数または安全なシークレットストレージを使用するよう案内してください。
環境変数
すべてのシークレットと認証情報には、環境変数を使用することを推奨します。例では、スタックの API キー、管理トークン、認証トークンをハードコードしないでください。
製品コンテキスト
-
- 製品:CMS
-
- 説明:Contentstack のヘッドレス CMS です。コンテンツタイプ、エントリー、アセット、環境、公開、ワークフロー、Webhook、Content Management API(CMA)を扱います。
-
- 製品の安全ルール: - 管理トークンや API キーを公開しないでください。
- 認証情報には必ず環境変数を使用してください。
- ブラウザーアプリでは、すべての CMA 呼び出しをサーバーサイドプロキシ経由で行ってください。
- クライアントサイドのコードにスタックの API キーをハードコードしないでください。
-
- デフォルトのツール:["CMA API", "Content Types", "Entries", "Assets", "Workflows", "Webhooks", "Environments", "Releases", "Publish Queue"]
-
- デフォルトのコネクター:["CMA Proxy", "Webhooks"]