プロジェクトの管理
shishoctl project コマンドは、Shisho Cloudの包括的なプロジェクト管理機能を提供します。このガイドでは、プロジェクトのライフサイクル、メンバー管理、スコープ設定、通知設定など、プロジェクト関連のすべての操作について説明します。
前提条件
プロジェクトコマンドを使用する前に、以下を準備してください:
shishoctlのインストール(インストールを参照)- Shisho Cloud へのサインイン:
shishoctl auth signin - 組織 ID(Shisho Cloud ダッシュボードの URL から確認可能)
プロジェクトのライフサイクル管理
プロジェクトの作成
以下のコマンドにより、組織内に新しいプロジェクトを作成できます:
shishoctl project create --org <ORGANIZATION_ID> --name <PROJECT_NAME> [--description <DESCRIPTION>]
例:
shishoctl project create --org org-a --name "Web Application Security" --description "ウェブアプリケーションのセキュリティ分析"
--quiet オプションを使用することで、プロジェクト ID のみを取得できます:
PROJECT_ID=$(shishoctl project create --org org-a --name "My Project" --quiet)
echo "作成されたプロジェクト: $PROJECT_ID"
プロジェクトの一覧表示
以下のコマンドにより、組織内のすべてのプロジェクトを一覧表示できます:
shishoctl project list --org <ORGANIZATION_ID>
ページネーション付き:
# 最初の25プロジェクトを表示
shishoctl project list --org org-a --per-page 25 --page 0
# 1ページあたり50プロジェクトで2ページ目を表示
shishoctl project list --org org-a --per-page 50 --page 1
出力形式:
# JSON出力(デフォルト)
shishoctl project list --org org-a --format json
# YAML出力
shishoctl project list --org org-a --format yaml
プロジェクトの削除
以下のコマンドにより、プロジェクトを削除できます(慎重に利用してください):
shishoctl project delete --org <ORGANIZATION_ID> --project <PROJECT_ID>
# 確認プロンプトをスキップ
shishoctl project delete --org <ORGANIZATION_ID> --project <PROJECT_ID> --force
例:
shishoctl project delete --org org-a --project proj-123 --force
:::
プロジェクトの削除は元に戻せません。必ず慎重に利用してください。
--force オプションを使用することで、確認プロンプトをスキップできます。
:::
メンバー管理
メンバーの追加
既存の組織ユーザーを追加する場合:
# まず、ユーザーIDを取得
USER_ID=$(shishoctl organization users describe --org <ORGANIZATION_ID> --email <USER_EMAIL> --id)
# ロールを指定してユーザーをプロジェクトに追加
shishoctl project member add --org <ORGANIZATION_ID> --project <PROJECT_ID> --user <USER_ID> --role <ROLE>
新しいユーザーを招待する場合:
shishoctl project member invite --org <ORGANIZATION_ID> --project <PROJECT_ID> --email <USER_EMAIL> --role <ROLE>
利用可能なロール:
owner- プロジェクトのフルアクセス権限triager- 検知事項のトリアージが可能viewer- 読み取り専用
ワークフローの例:
# 既存ユーザーを検索
USER_EMAIL="alice@company.com"
USER_ID=$(shishoctl organization users describe --org org-a --email $USER_EMAIL --id)
if [ -z "$USER_ID" ]; then
echo "ユーザーが見つかりません。招待を送信します"
shishoctl project member invite --org org-a --project proj-123 --email $USER_EMAIL --role viewer
else
echo "既存ユーザーを追加します"
shishoctl project member add --org org-a --project proj-123 --user $USER_ID --role owner
fi
メンバーの一覧表示
以下のコマンドにより、すべてのプロジェクトメンバーを表示できます:
shishoctl project member list --org <ORGANIZATION_ID> --project <PROJECT_ID>
メンバーの削除
以下のコマンドにより、プロジェクトからユーザーを削除できます:
shishoctl project member remove --org <ORGANIZATION_ID> --project <PROJECT_ID> --user <USER_ID>