v0.8.0
概要
認証システムを全面再設計しました。SID / PAT / SA Key の 3 方式を Credential 型で統一管理し、7 段の優先順位で認証情報を自動解決します。また、認証情報の管理コマンド群(auth list / status / doctor / use / add)が新しく加わりました。
新機能
PAT (Personal Access Token) 対応
cos auth login --pat <token>で PAT をキーチェーンに保存できるようになりましたCOS_PERSONAL_ACCESS_TOKEN環境変数による PAT 設定をサポート- PAT は読み取り系 REST のみ対応。書き込みコマンドに使用すると
AUTH_WRITE_NOT_SUPPORTED(exit 2) で明示拒否します
認証情報の 7 段優先順位解決
以下の順序で認証情報を自動解決します:
1. COS_PERSONAL_ACCESS_TOKEN 環境変数 (PAT)
2. COS_SERVICE_ACCOUNT_KEY 環境変数 (SA Key)
3. COS_SID 環境変数 (SID)
4. --profile フラグ (キーチェーン)
5. COS_PROFILE 環境変数 (キーチェーン)
6. config.defaultProfile (キーチェーン)
7. "default" プロファイル (キーチェーン)
認証管理コマンドの追加
| コマンド | 説明 |
|---|---|
cos auth list |
登録済みプロファイルを kind・defaultProject 付きで一覧表示 |
cos auth status |
現在のアクティブ認証情報と解決経路を表示 |
cos auth doctor |
全プロファイルのフォーマット検証(問題があれば修復方法を提示) |
cos auth use <profile> |
デフォルトプロファイルを切り替え |
cos auth use --unset |
デフォルトプロファイルの設定を削除 |
cos auth add --type sid|pat|sa |
非対話的に認証情報を登録 |
cos auth add は CI/CD 環境での利用を想定し、--key・--key-env・--key-stdin の 3 種類の入力方式をサポートします。
SA Key のキーチェーン移行
- SA Key が OS キーチェーンに
cs_<project>プロファイルとして保存されるようになりました cos auth migrateで既存のconfig.serviceAccountsエントリをキーチェーンに移行できます
Breaking Changes
cos auth sa コマンドの削除
cos auth sa add / cos auth sa delete / cos auth sa list コマンドは削除されました。
既存の SA Key は cos auth migrate で新しいキーチェーン形式に移行してください。
cos auth migrateCOS_SID への PAT 設定が hard error に変更
COS_SID 環境変数に PAT (pat_ で始まる値) を設定すると INVALID_SID (exit 5) になります。
PAT は COS_PERSONAL_ACCESS_TOKEN 環境変数または cos auth login --pat を使用してください。
インストール / アップデート
# Homebrew
brew upgrade coscli
# 手動インストール
curl -fsSL https://raw.githubusercontent.com/mtane0412/coscli/main/install.sh | bash