Contents
Kiro CLI のインストール・設定ガイド
(2026 年 4 月時点の最新情報)
📌 本稿の対象読者
- macOS、Ubuntu/Debian を日常的に利用している開発者
- CI/CD パイプラインで Kiro CLI を自動実行したい方
- セキュリティを意識しつつ、スムーズに AI 開発環境を構築したい方
1️⃣ Kiro CLI の公式入手先とインストール方法
| プラットフォーム | 推奨入手元 | 主な特徴 |
|---|---|---|
| macOS | Homebrew(公式タップ) | brew が依存関係・バージョン管理を自動で行います |
| Linux (Ubuntu/Debian) | APT リポジトリ(公式 GPG 署名付き) | 安全にアップデートでき、システムパッケージと統合できます |
| Windows | MSI インストーラ(公式サイト) | GUI とコマンドラインの両方で利用可能 |
※ 公式ドキュメント:https://docs.kiro.dev/cli/
本ガイドでは macOS と Ubuntu/Debian に絞って手順を示します。
1‑1️⃣ macOS(Homebrew)
|
1 2 3 4 5 6 7 |
# Homebrew がインストールされていない場合は先にセットアップ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # Kiro CLI の公式 tap を追加し、インストール brew tap kiro/dev brew install kiro-cli |
ポイント
brew update && brew upgradeでローカルのタップ情報を最新化すれば常に最新版が取得できます。- インストール後は自動的に
/usr/local/bin/kiro(Apple Silicon は/opt/homebrew/bin/kiro)へ配置されます。
1‑2️⃣ Ubuntu / Debian(APT)
(a) 公式リポジトリの登録と GPG 鍵の取得
|
1 2 3 4 5 6 7 |
# ① リポジトリ署名鍵を取得して信頼ストアに追加 curl -fsSL https://repo.kiro.dev/apt/keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/kiro-archive-keyring.gpg # ② APT ソースリストへ公式リポジトリを登録(署名付きなので trusted=yes は不要) echo "deb [signed-by=/usr/share/keyrings/kiro-archive-keyring.gpg] https://repo.kiro.dev/debian stable main" | \ sudo tee /etc/apt/sources.list.d/kiro.list > /dev/null |
(b) パッケージインストール
|
1 2 3 |
sudo apt-get update sudo apt-get install -y kiro-cli |
ポイント
- GPG 鍵で署名が検証されるため、
trusted=yesのような例外設定は不要です。 apt-cache policy kiro-cliでインストールされたバージョンとリポジトリ情報を確認できます。
1‑3️⃣ インストールの確認
|
1 2 3 |
$ kiro --version kiro-cli version 2.4.0 (2026-04-22) |
バージョン番号とビルド日が表示されれば、インストールは成功です。
2️⃣ API キー(KIRO_API_KEY)の取得と安全な管理
Kiro CLI は API キー を用いて認証します。このキーは IAM ユーザー または IAM ロール に付与した最小権限ポリシーで生成し、AWS Secrets Manager もしくは Parameter Store に保管するのがベストプラクティスです。
2‑1️⃣ IAM ユーザー/ロールの作成
| 項目 | 設定例 |
|---|---|
| 名前 | kiro-ci(CI 用) / kiro-dev(開発用) |
| アクセス権限 | 最小権限ポリシー(下記参照) |
| 認証方式 | プログラム的アクセス(Access Key / Secret Access Key) |
最小権限ポリシー例(JSON)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kiro:GenerateText", "kiro:RunModel" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "ssm:GetParameter" ], "Resource": [ "arn:aws:secretsmanager:*:*:secret:/kiro/api-key*", "arn:aws:ssm:*:*:parameter/kiro/*" ] } ] } |
注:
kiro:系アクションは Kiro の実際のサービス名に合わせて置き換えてください。
2‑2️⃣ キーを Secrets Manager に格納
|
1 2 3 4 |
aws secretsmanager create-secret \ --name /kiro/api-key \ --secret-string "$(aws iam create-access-key --user-name kiro-ci --query 'AccessKey.{AccessKeyId:AccessKeyId,SecretAccessKey:SecretAccessKey}' --output json)" |
- 上記コマンドは IAM ユーザー
kiro-ciのアクセスキー を生成し、同時に Secrets Manager に保存します。 - キーのローテーションは Secrets Manager の自動ローテーション機能(30 日ごと推奨)で管理できます。
2‑3️⃣ ローカル環境・Docker からの取得例
シェルプロファイル (~/.bashrc / ~/.zshrc)
|
1 2 3 4 5 |
# Secrets Manager から最新キーを取得し、環境変数にエクスポート export KIRO_API_KEY=$(aws secretsmanager get-secret-value \ --secret-id /kiro/api-key \ --query SecretString --output text) |
Dockerfile(BuildKit の --secret 推奨)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# ---- Build Stage ------------------------------------------------- FROM python:3.12-slim AS builder # 必要なツールをインストール RUN apt-get update && apt-get install -y curl gnupg && rm -rf /var/lib/apt/lists/* # Kiro CLI の公式バイナリをダウンロード ARG KIRO_VERSION=2.4.0 RUN curl -fsSL https://download.kiro.dev/${KIRO_VERSION}/kiro-linux-x86_64.tar.gz | \ tar xz -C /usr/local/bin kiro # ---- Runtime Stage ----------------------------------------------- FROM amazonlinux:2023 AS runtime COPY --from=builder /usr/local/bin/kiro /usr/local/bin/ # BuildKit でシークレットを渡す例(docker build --secret id=api_key,src=$HOME/.aws/kiro_secret) ARG KIRO_API_KEY ENV KIRO_API_KEY=${KIRO_API_KEY} |
実行時の注意:
--secretオプションは Docker BuildKit が有効な環境でのみ使用できます。
3️⃣ ヘッドレスモード(非対話実行)と CI/CD の活用
3‑1️⃣ ヘッドレスモードの概要
| 項目 | 対話モード | ヘッドレスモード |
|---|---|---|
| 認証方法 | ブラウザで SSO または MFA | 環境変数 KIRO_API_KEY のみ |
| 実行対象 | ローカル端末・デバッグ | CI/CD、バッチジョブ、サーバー |
| 起動オプション | kiro chat(対話シェル) |
kiro run <script> --headless |
公式ドキュメントでは --headless フラグ または mode: headless を config.yaml に記述することで有効化できます。
3‑2️⃣ GitHub Actions のサンプルワークフロー
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
name: Kiro CLI CI Pipeline on: push: branches: [ main ] jobs: kiro-run: runs-on: ubuntu-latest permissions: id-token: write # OIDC 用 contents: read steps: - name: Checkout repository uses: actions/checkout@v3 - name: Configure AWS credentials (OIDC) uses: aws-actions/configure-aws-credentials@v2 with: role-to-assume: arn:aws:iam::123456789012:role/KiroCI aws-region: ap-northeast-1 - name: Retrieve KIRO_API_KEY from Secrets Manager id: secret run: | echo "KIRO_API_KEY=$(aws secretsmanager get-secret-value \ --secret-id /kiro/api-key \ --query SecretString --output text)" >> $GITHUB_ENV - name: Install Kiro CLI (apt) run: | sudo apt-get update sudo apt-get install -y kiro-cli - name: Execute script in headless mode run: | kiro run scripts/analysis.py --headless |
ポイント
aws-actions/configure-aws-credentialsは OIDC を利用して一時的なロールを取得し、長期キーの管理を不要にします。- 環境変数
KIRO_API_KEYが設定された状態でkiro run --headlessを呼び出すだけで、対話なしで実行できます。
4️⃣ 設定ファイル (config.yaml) とプロファイル管理
4‑1️⃣ ファイル構成と主要項目
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# ~/.kiro/config.yaml default_profile: dev # kiro 起動時のデフォルト profiles: dev: api_key: ${KIRO_API_KEY} # 環境変数展開でシークレットを隠蔽 region: ap-northeast-1 log_level: info mode: headless # CI 用にデフォルトでヘッドレス化 prod: api_key: ${PROD_KIRO_API_KEY} region: us-east-1 log_level: warn mode: interactive # 本番環境でも対話が必要なケース向け |
ベストプラクティス
- シークレットは必ず環境変数で注入し、
config.yamlに平文を書かない。 default_profileをdevに設定し、ローカル作業時は自動的にヘッドレスモードが有効になるようにすると便利です。
4‑2️⃣ プロファイル操作コマンド
|
1 2 3 4 5 6 7 8 9 10 11 |
# プロファイル一覧表示 kiro config list # dev プロファイルを使用(デフォルト) kiro config use dev # prod に切り替える例(CI 時は一時的に環境変数上書き) PROD_KIRO_API_KEY=$(aws ssm get-parameter \ --name /prod/kiro/api-key --with-decryption \ --query Parameter.Value --output text) kiro config use prod |
4‑3️⃣ IDE(Kiro Studio)との同期手順
- Kiro Studio → Settings → Connection → Export JSON
- エクスポートした
kiro_connection.jsonをリポジトリに置かず、ローカルで保管。 - CLI 側でインポート:
bash
kiro config import ./kiro_connection.json --profile dev
- 設定が正しく反映されたことを確認:
bash
kiro config view --profile dev
このフローにより、IDE と CLI が同一の接続情報を共有でき、手入力によるヒューマンエラーが大幅に減ります。
5️⃣ 運用上のベストプラクティスとトラブルシューティング
5‑1️⃣ セキュリティ
| 項目 | 推奨設定 |
|---|---|
| キー管理 | Secrets Manager / Parameter Store に保存し、ローテーションは自動化(30 日推奨) |
| 最小権限 | 上記ポリシー例のように kiro:GenerateText と kiro:RunModel のみ許可 |
| Git 管理 | .gitignore に以下を追加/.kiro/.envsecrets.yaml |
5‑2️⃣ 定期的な CLI アップデート
|
1 2 3 4 5 6 |
# macOS (Homebrew) brew upgrade kiro-cli # Ubuntu/Debian (APT) sudo apt-get update && sudo apt-get install --only-upgrade kiro-cli |
アップデート後は必ずバージョンを確認し、リリースノートで破壊的変更がないかチェックしてください。
5‑3️⃣ よくあるエラーと対処法
| エラーメッセージ | 原因例 | 対策 |
|---|---|---|
AuthenticationError: Invalid API key |
環境変数未設定、または Secrets Manager のシークレットが古い | echo $KIRO_API_KEY で確認し、必要なら aws secretsmanager rotate-secret を実行 |
ProfileNotFoundError: dev |
config.yaml に対象プロファイルが存在しない |
kiro config add --profile dev または kiro config import で作成 |
LogLevelTooVerbose |
log_level が debug に設定されている |
log_level: info(または warn)に変更し、再起動 |
📚 まとめ
- インストールは公式 Homebrew tap / APT リポジトリから行い、GPG 検証で安全性を確保。
- API キーは IAM の最小権限ユーザー/ロールで作成し、Secrets Manager へ格納して環境変数経由で参照。
- ヘッドレスモードは
--headlessフラグまたはmode: headlessにより非対話実行が可能。CI/CD ではこのモードを前提にパイプラインを設計。 - 設定ファイルはプロファイル単位で管理し、環境変数展開でシークレット漏洩リスクを排除。IDE と CLI の同期手順も併せて活用。
- 運用ベストプラクティスとして最小権限・自動ローテーション・Git 除外・定期アップデートを徹底し、障害時はエラーメッセージと公式ドキュメントで速やかに対処。
これらの手順を踏めば、Kiro CLI を 安全・高速・安定 に運用でき、AI 開発サイクルの生産性向上が期待できます。ぜひ本ガイドをプロジェクトのセットアップドキュメントとして活用してください。