コンテンツへスキップ

media AI活用の最前線

ツール比較・実践ガイド

macOS KeychainでAPIキー管理|Claude Code【2026】

macOS KeychainでAPIキー管理|Claude Code【2026】

結論: macOS Keychainを使えばANTHROPIC_API_KEY等を暗号化保存でき、環境変数直書きによる情報漏洩リスクを大きく下げられます。

この記事の要点:

  • 要点1: security add-generic-passwordコマンドで30秒でAPIキーを安全登録できる
  • 要点2: .zshrcへの直書きと比較してシェル履歴・dotfilesからの漏洩を完全遮断できる
  • 要点3: Claude CodeのMCP連携・起動スクリプトに組み込めばチーム展開も一括対応

対象読者: Claude Code / ChatGPT APIを業務利用中の開発者・情シス担当者
読了後にできること: 今日中にANTHROPIC_API_KEYをKeychainに移行して.zshrcから削除できる


「あの…先輩、.zshrcをGitHubにpushしたんですが、ANTHROPIC_API_KEYがそのまま入ってました」

研修先のあるスタートアップで、新入社員がこんな報告をしてきた時の空気を今でも覚えています。幸いプライベートリポジトリだったので実害は出ませんでしたが、同じキーがMicrosoftのコード補完ツールにも使われていて、一時は全社で使用を停止するほどの騒ぎになりました。

この出来事が、私が「APIキーは絶対にmacOS Keychainで管理する」と決めたきっかけです。

実は、こういった事故は珍しくありません。GitHubが公開リポジトリのシークレットスキャンを自動で走らせているように、APIキーを誤ってコミットしてしまう事故は、どの開発チームでも起こり得ます。AIツールの普及で扱うAPIキーの数が増えたいま、管理の方法を決めておく意味は大きくなっています。

この記事では、macOS Keychainを使ったAPIキー管理の方法を、Claude Code起動スクリプトとの連携まで含めてコピペ可能な形でお伝えします。今日中に実践できますので、ぜひ最後まで読んでみてください。


まず試したい「5分即効」Keychain登録3ステップ

難しそうに見えますが、基本は3つのコマンドだけです。今すぐターミナルを開いてください。

macOS KeychainにAPIキーを登録する3ステップ
図1: Keychain 登録の3ステップ。値の入力は対話式にしてシェル履歴に残さない

ステップ1: APIキーをKeychainに登録する

研修先でこれを初めて実演した時、「え、こんなに簡単なんですか?」という声が多かったです。実際、登録自体は10秒もかかりません。

# ANTHROPIC_API_KEY をKeychainに登録(-wを最後にすると対話式で入力 → 履歴に残らない)
security add-generic-password -a "$USER" -s "ANTHROPIC_API_KEY" -w

# 登録確認(値は表示されない)
security find-generic-password -s "ANTHROPIC_API_KEY" -a "$USER"

ポイント: -wを最後に置いて値を省略すると、ターミナルが対話式でパスワード入力を促します。これによりシェル履歴(~/.zsh_history)にAPIキーが残らないのが重要です。

活用例: チームで展開する場合も、各メンバーが自分のMacでこのコマンドを1回実行するだけです。情シス部門は、後半の「オンボーディングスクリプト」を渡せば手順をそろえられます。

ステップ2: シェルからKeychainを読み込む

# ~/.zshrc や ~/.bashrc に追加する(APIキーの値は含まない)
export ANTHROPIC_API_KEY=$(security find-generic-password -s "ANTHROPIC_API_KEY" -a "$USER" -w 2>/dev/null)
export OPENAI_API_KEY=$(security find-generic-password -s "OPENAI_API_KEY" -a "$USER" -w 2>/dev/null)
export GEMINI_API_KEY=$(security find-generic-password -s "GEMINI_API_KEY" -a "$USER" -w 2>/dev/null)

効果: .zshrcにはコマンドだけが書かれ、APIキーの値は含まれません。このファイルをGitHubにpushしても情報漏洩しません。

【2026年9月30日追記】Claude Codeの公式ドキュメントによると、環境変数 ANTHROPIC_API_KEY が設定されていると、ログイン済みでもPro・Max・Team・Enterpriseのサブスクリプションの代わりにこのAPIキーが使われます(対話モードでは最初に一度だけ承認を求められ、-p での実行では常に使われます)。サブスクリプションでClaude Codeを使っている場合は、.zshrcで常にexportせず、APIキーで使う時だけ読み込むようにしてください。

ステップ3: 動作確認

# シェルを再起動して確認
source ~/.zshrc
echo "Key starts with: ${ANTHROPIC_API_KEY:0:10}..."

# Claude Codeが正常に起動するか確認
claude --version

これだけで基本設定は完了です。以降のセクションでは、さらに実践的な応用方法を解説します。

APIキーの管理と並んで重要なのが、Claude Codeの全体的な導入戦略です。詳しくはAI導入戦略完全ガイドでまとめています。


macOS Keychainの仕組みを理解する

Keychainの4つの種類
図2: Keychain の種類。個人の開発環境にはログイン Keychain が最適

「なぜKeychainが安全なのか」を理解しておくと、情シス向けの説明や、チームメンバーへの展開時に説得力が増します。

暗号化のしくみ

【2026年9月30日追記】下の説明(AES-256-GCMの2つの鍵・Secure Enclave)は、Appleの「Keychain data protection」で説明されているデータ保護キーチェーンのしくみです。Appleの技術資料TN3137によると、本記事の security コマンドが主に扱うのはファイル型のキーチェーン(ログインKeychainなど)で、Secure Enclaveによる鍵の保護はデータ保護キーチェーンでだけ使える機能です。

macOS Keychainは、保存データをAES-256-GCMという暗号化アルゴリズムで保護しています。2つの異なるキーが使われています:

  • メタデータキー(テーブルキー): サービス名・アカウント名等のメタ情報を暗号化
  • シークレットキー(行ごとキー): 実際のパスワード(APIキーの値)を暗号化

さらに、macOSのSecure Enclave(Apple Silicon搭載Mac)と連携することで、ハードウェアレベルでの保護も可能です。

Keychainの種類

種類保存場所用途推奨
ログインKeychain~/Library/Keychains/個人のAPIキー★★★
システムKeychain/Library/Keychains/全ユーザー共有管理者向け
iCloud Keychainクラウド同期複数デバイス共有個人利用
カスタムKeychain任意のパスプロジェクト単位チーム向け

個人の開発環境には「ログインKeychain」が最適です。Macを起動してログインした後は自動的にアンロックされるため、毎回パスワードを入力する手間がありません。


環境変数直書きの危険性 — 4つの漏洩経路

「うちは大丈夫」と思っている方も、この4つの経路を確認してみてください。企業向け研修でこのリストを見せると、半数以上の受講者が「一つは当てはまる」と気づきます。

環境変数直書きの4つの漏洩経路
図3: 環境変数直書きの漏洩経路4つ。Keychain と 1Password CLI はいずれも該当なし

漏洩経路1: シェル履歴への記録

# ❌ よくやりがちな危険な書き方
export ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxx

# この場合、以下のコマンドでキーが丸見えになる
cat ~/.zsh_history | grep ANTHROPIC

特に、セットアップ時に一時的に直接入力した場合、そのコマンドがずっとシェル履歴に残ります。

漏洩経路2: dotfilesリポジトリへのコミット

GitHubでdotfilesを公開している開発者は多いですが、.zshrcや.envファイルにAPIキーが含まれている場合、全世界に公開してしまいます。GitHubのシークレットスキャンが検知してくれる場合もありますが、「検知されて初めて気づく」では遅すぎます。

漏洩経路3: プロセスの環境変数一覧

# root権限があれば他ユーザーのプロセス環境変数を見られる
sudo cat /proc/[PID]/environ 2>/dev/null  # Linux
# macOSでも同様の手法が存在する

漏洩経路4: コード補完ツールへの送信

GitHub Copilot、Cursor等のコード補完ツールは、エディタで開いているファイルのコンテキストをサーバーに送信します。.envファイルや.zshrcをエディタで開いた状態で作業していると、APIキーが補完サービスのサーバーに送信されるリスクがあります。

比較: 各管理方法のリスク評価

管理方法履歴漏洩Git漏洩プロセス漏洩補完ツール漏洩総合評価
.zshrcに直書き高リスク高リスク中リスク高リスク❌
.envファイル低リスク中リスク中リスク高リスク△
macOS Keychainなしなし低リスクなし✅
1Password CLIなしなし低リスクなし✅

Claude Code起動時のKeychain連携

ここからが実践的な応用です。Claude Codeを安全に起動するためのスクリプトをいくつか紹介します。

基本的な起動スクリプト

顧問先の開発部門でも採用している、シンプルで確実な方法です。

#!/bin/bash
# ~/bin/claude-safe — Claude Codeを安全に起動するラッパー

# Keychainからキーを取得
ANTHROPIC_API_KEY=$(security find-generic-password -s "ANTHROPIC_API_KEY" -a "$USER" -w 2>/dev/null)

if [ -z "$ANTHROPIC_API_KEY" ]; then
  echo "❌ Error: ANTHROPIC_API_KEY not found in Keychain"
  echo 'Set it with: security add-generic-password -a "$USER" -s "ANTHROPIC_API_KEY" -w'
  exit 1
fi

# キーを環境変数として設定し、Claude Codeを起動
export ANTHROPIC_API_KEY
exec claude "$@"
# スクリプトを実行可能にして、パスに追加
chmod +x ~/bin/claude-safe
# ~/.zshrcに追加
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.zshrc

# 以降は claude-safe で起動
claude-safe --help

事故防止: スクリプト内のエラー処理を必ず実装してください。Keychainへのアクセスが失敗した場合に、空のキーでClaudeを起動してしまうリスクを防げます。

複数APIキーの管理(マルチサービス対応)

Claude Code以外にも、OpenAI、Gemini等を使い分けている場合の管理スクリプトです。

#!/bin/bash
# ~/bin/load-ai-keys — 複数のAI APIキーを一括ロード

# macOS 標準の /bin/bash(3.2)と zsh の両方で動く書き方(連想配列は使わない)
for ENV_VAR in ANTHROPIC_API_KEY OPENAI_API_KEY GEMINI_API_KEY PERPLEXITY_API_KEY; do
  VALUE=$(security find-generic-password -s "$ENV_VAR" -a "$USER" -w 2>/dev/null)

  if [ -n "$VALUE" ]; then
    export "$ENV_VAR=$VALUE"
    echo "✅ Loaded: $ENV_VAR"
  else
    echo "⚠️  Not found in Keychain: $ENV_VAR"
  fi
done
# .zshrcに追加(シェル起動時に自動ロード)
source ~/bin/load-ai-keys

プロジェクト単位のKeychain(チーム展開向け)

企業向けに展開する場合、プロジェクトやチームごとに異なるAPIキーを管理したいケースがあります。

#!/bin/bash
# プロジェクト専用のAPIキーを登録
PROJECT_NAME="myproject-prod"

# 登録
security add-generic-password -a "$USER" -s "ANTHROPIC_API_KEY_${PROJECT_NAME}" -w  # 対話式入力

# 取得して使用
PROJECT_KEY=$(security find-generic-password -s "ANTHROPIC_API_KEY_${PROJECT_NAME}" -a "$USER" -w 2>/dev/null)

export ANTHROPIC_API_KEY="$PROJECT_KEY"
claude "$@"

活用のポイント: 本番環境・ステージング環境・開発環境でAPIキーを分けている場合は、サービス名に環境名を入れて登録しておくと、どの環境のキーを読み込むかがスクリプト上で明確になり、キーの取り違えを防ぎやすくなります。


MCP連携とServeMyAPI(上級者向け)

Claude CodeとMCP(Model Context Protocol)を活用すると、Keychainをより便利に使えるようになります。

ServeMyAPIとは

ServeMyAPIは、macOS KeychainをMCPサーバーとして公開するツールです。Claude CodeからKeychainへのアクセスをMCPプロトコル経由で行えるようになります。

# ServeMyAPIのインストール(npmにパッケージは無いので、GitHubから取得してビルドする)
git clone https://github.com/Jktfe/serveMyAPI.git
cd serveMyAPI
npm install
npm run build

# Claude CodeのMCPに登録(/ABSOLUTE/PATH/TO は取得した場所の絶対パスに置き換える)
claude mcp add-json "serveMyAPI" '{
  "command": "node",
  "args": ["/ABSOLUTE/PATH/TO/serveMyAPI/dist/index.js"]
}'

これにより、Claude Code内で自然言語で「ANTHROPIC_API_KEYを取得して」と指示するだけで、Keychainからキーを取得できるようになります。ただし提供元の説明どおり、キーの値はAIアシスタントに直接渡されるため、取得したキーはClaudeとの会話の中に入ります。

Claude Codeのエージェント機能との組み合わせ

#!/bin/bash
# Claude Codeエージェントをバックグラウンドで安全起動するスクリプト
# ~/bin/start-claude-agent

load_keys() {
  for service in ANTHROPIC_API_KEY OPENAI_API_KEY; do
    local val
    val=$(security find-generic-password -s "$service" -a "$USER" -w 2>/dev/null)
    [ -n "$val" ] && export "$service=$val"
  done
}

load_keys

# エージェントを起動(-p は対話なしで実行するオプション。引数に指示文を渡す)
claude -p "$@" &
AGENT_PID=$!
echo "Claude agent started (PID: $AGENT_PID)"

注意: エージェントをバックグラウンドで起動する場合、環境変数が正しく引き継がれているか必ず確認してください。サブシェルの起動方法によっては、親シェルの環境変数が引き継がれないことがあります。


この記事の内容を社内で使うなら

要点と手順をまとめた資料を無料で受け取れます。研修4,000名以上・支援100社以上の実績をもとに、自社の業務に当てはめる相談も30分から受け付けています。

Claude Code × ビジネス活用 実践ガイド無料で受け取る →AI顧問に相談する(30分・無料)→

企業の情シス向け設定ガイド

個人の開発環境から、チーム・組織レベルの展開まで対応した設定を紹介します。

MDM(モバイルデバイス管理)との連携

MDM(Jamf Proなど)で企業のMacを一括管理している場合は、各MacでAPIキーがKeychainに登録済みかどうかを、スクリプトで確認する運用ができます。

#!/bin/bash
# APIキーが登録済みかを確認するスクリプト(MDMから実行する想定。Jamf Proの拡張属性で使う場合は、出力の形式をJamfのドキュメントに合わせる)
if security find-generic-password -s "ANTHROPIC_API_KEY" -a "$USER" >/dev/null 2>&1; then
  echo "Configured"
else
  echo "Not Configured"
fi

オンボーディングスクリプト

新しいメンバーがMacを受け取ってすぐに実行できるセットアップスクリプトです。

#!/bin/bash
# ~/scripts/setup-ai-keys.sh — 新メンバー向けAPIキー初期設定

echo "=== AI API Keys Setup ==="
echo "このスクリプトはAPIキーをmacOS Keychainに安全に登録します"
echo ""

# ガイド表示
echo "登録するAPIキーを順番にたずねます。入力した値は画面に表示されず、シェル履歴にも残りません"
echo ""

register_key() {
  local service_name="$1"
  local display_name="$2"
  local answer
  read -r -p "${display_name} を登録しますか? [y/N]: " answer
  if [ "$answer" = "y" ]; then
    # 既存の項目があれば削除してから、対話式で登録する(-w は必ず最後に置く)
    security delete-generic-password -s "$service_name" -a "$USER" >/dev/null 2>&1
    security add-generic-password -a "$USER" -s "$service_name" -w && 
    echo "✅ ${display_name} を登録しました"
  fi
}

register_key "ANTHROPIC_API_KEY" "ANTHROPIC_API_KEY (Claude Code)"
register_key "OPENAI_API_KEY" "OPENAI_API_KEY (ChatGPT API)"
register_key "GEMINI_API_KEY" "GEMINI_API_KEY (Gemini API)"

echo ""
echo "=== セットアップ完了 ==="
echo "~/.zshrc に以下を追加してください:"
cat <<'ZSHRC'
export ANTHROPIC_API_KEY=$(security find-generic-password -s "ANTHROPIC_API_KEY" -a "$USER" -w 2>/dev/null)
export OPENAI_API_KEY=$(security find-generic-password -s "OPENAI_API_KEY" -a "$USER" -w 2>/dev/null)
export GEMINI_API_KEY=$(security find-generic-password -s "GEMINI_API_KEY" -a "$USER" -w 2>/dev/null)
ZSHRC

Keychainポリシーの設定(セキュリティ強化)

# アクセス制限を厳格化(読み取りを許可するアプリを -T で明示する。-T は複数指定でき、-w は必ず最後に置く)
# (同じ名前の項目が登録済みの場合は、先に security delete-generic-password で削除する)
security add-generic-password -a "$USER" -s "ANTHROPIC_API_KEY" -T /usr/bin/security -w

# 登録したキーの確認(-a はアクセス制御リストを表示するオプション)
security dump-keychain -a ~/Library/Keychains/login.keychain-db 2>/dev/null | less
# less の中で /ANTHROPIC_API_KEY と入力して該当の項目を探す

情シス向けポイント: -Tフラグで「どのアプリがこのキーにアクセスできるか」を制限できます。不要なアプリからのアクセスをブロックすることで、セキュリティをさらに高められます。どのアプリにも確認なしで許可する -A は、security のヘルプで「insecure, not recommended」とされているので使いません。


【要注意】よくある失敗パターンと回避策

Keychain運用でよくある失敗と回避策
図4: よくある失敗パターン4つ

失敗パターン1: security実行時にダイアログが毎回出る

❌ よくある状況: security find-generic-passwordを実行するたびにmacOSがダイアログを表示して承認を求めてくる

⭕ 解決策: キーを登録する際に「常に許可」設定を行う

# いったん削除して、security コマンドから登録し直す
# (既定では、項目を作成したアプリ=ここでは security コマンドが、確認なしで読める)
security delete-generic-password -a "$USER" -s "ANTHROPIC_API_KEY"
security add-generic-password -a "$USER" -s "ANTHROPIC_API_KEY" -w

# 読み取りを許可するアプリを明示したい場合は、上の登録の代わりに -T を付ける(-w は必ず最後に置く)
# security add-generic-password -a "$USER" -s "ANTHROPIC_API_KEY" -T /usr/bin/security -w

# 注意: -T "" は「全アプリに許可」ではなく、作成したアプリへの既定の許可を外す指定(確認が出る原因になる)
# どのアプリにも確認なしで許可するのは -A だが、security のヘルプで insecure, not recommended とされている

なぜ重要か: ダイアログが毎回出ると、シェル起動時間が大幅に増加します。特に.zshrcでの自動ロード時に問題になります。

失敗パターン2: シェルのサブプロセスにキーが引き継がれない

❌ よくある間違い: sourceではなくshでスクリプトを実行

# ❌ これだと環境変数が現在のシェルに引き継がれない
sh ~/bin/load-ai-keys

# ⭕ sourceで実行する
source ~/bin/load-ai-keys
# または
. ~/bin/load-ai-keys

失敗パターン3: Keychainバックアップを平文で保存

❌ よくある間違い: Keychainをエクスポートして平文で保存する

# ❌ 絶対にやってはいけない
security export -t certs > keys_backup.pem  # 証明書バックアップ(APIキーとは別)
# より危険なのは:
cat ~/Library/Keychains/login.keychain-db > backup_somewhere_unsafe

⭕ 正しいバックアップ: Time Machine(暗号化バックアップ)を使うか、1Password等のパスワードマネージャーと組み合わせる

失敗パターン4: 退職者・離任者のキーを削除し忘れる

❌ よくある状況: チームメンバーが退職したのに、その人のAPIキーが共有Macや共有Keychainに残り続ける

⭕ 解決策: APIキーのローテーションポリシーを設ける

#!/bin/bash
# APIキーを安全に削除するスクリプト(オフボーディング用)
revoke_api_keys() {
  local user="$1"
  for service in ANTHROPIC_API_KEY OPENAI_API_KEY GEMINI_API_KEY; do
    security delete-generic-password -a "$user" -s "$service" 2>/dev/null && 
      echo "✅ Deleted: $service for $user" || 
      echo "⚠️  Not found: $service for $user"
  done
}

# 退職者のキーを削除
# revoke_api_keys "username"

企業のAIガバナンスについてはさらに詳しくAI導入戦略完全ガイドでも解説しています。


Keychain vs 他のシークレット管理ツール比較

シークレット管理ツールの推奨シーン
図5: シークレット管理ツールの推奨シーン。チーム規模が大きくなったら 1Password CLI へ

主要ツール比較

ツールコストClaude Code連携チーム共有Mac専用推奨シーン
macOS Keychain無料◎△(MDM経由)はい個人・小規模チーム
1Password CLI有料◎◎いいえ中規模チーム
HashiCorp Vaultオープンソース△(API経由)◎いいえエンタープライズ
AWS Secrets Manager有料△(SDK必要)◎いいえAWSユーザー
.envファイル無料◎△いいえ推奨しない

個人開発者や少人数チームには、macOS Keychainが最もコストパフォーマンスに優れています。チーム規模が大きくなったら1Password CLIへの移行を検討するのが良いでしょう。

1Password CLIとの組み合わせ(ハイブリッド構成)

#!/bin/bash
# 1PasswordとKeychainを使い分けるスクリプト

# 1Passwordが利用可能な場合
if command -v op &> /dev/null; then
  ANTHROPIC_API_KEY=$(op read "op://Development/Anthropic/credential" 2>/dev/null)
fi

# フォールバック: Keychain
if [ -z "$ANTHROPIC_API_KEY" ]; then
  ANTHROPIC_API_KEY=$(security find-generic-password -s "ANTHROPIC_API_KEY" -a "$USER" -w 2>/dev/null)
fi

export ANTHROPIC_API_KEY

ポイント: チームメンバーによって使うツールが異なる場合でも、このフォールバック構成なら統一したスクリプトで対応できます。


実装のベストプラクティスまとめ

セキュリティチェックリスト

  • [ ] APIキーを.zshrcや.envに直書きしていない
  • [ ] シェル履歴にAPIキーが含まれていないか確認した(history | grep API_KEY)
  • [ ] dotfilesリポジトリにAPIキーが含まれていないか確認した
  • [ ] Keychainへのアクセス制限を適切に設定した
  • [ ] APIキーのローテーションスケジュールを設定した(最低3ヶ月に1回)
  • [ ] 使われなくなったAPIキーをプロバイダー側でも無効化した

シェル履歴からAPIキーを削除する緊急対応

# zshの場合: 特定のパターンを含む行を履歴から削除
# ⚠️ 注意: これは履歴ファイルを直接編集するため、バックアップ推奨
cp ~/.zsh_history ~/.zsh_history.bak
grep -v -E "API_KEY|api_key|sk-" ~/.zsh_history > /tmp/zsh_history_clean
mv /tmp/zsh_history_clean ~/.zsh_history

# さらにセキュリティを高める: 特定のパターンを含むコマンドを履歴ファイルに書き込まない設定
# ~/.zshrcに追加(zshの変数名は HISTORY_IGNORE。HISTIGNORE はbashの変数)
HISTORY_IGNORE="(*API_KEY*|*api_key*|*sk-*|*secret*)"

重要: 過去に漏洩した可能性があるAPIキーは、シェル履歴から削除するだけでなく、プロバイダーのダッシュボードで無効化(ローテーション)することが最優先です。


よくある質問

macOS KeychainにAPIキーを登録するにはどのコマンドを使いますか?

macOS KeychainへのAPIキー登録には、security add-generic-password コマンドを使います。-a にアカウント名、-s にサービス名(例: ANTHROPIC_API_KEY)を指定し、-w を最後に置いて値を省略すると、ターミナルが対話式で入力を求めます。対話式で入力すれば、APIキーがシェル履歴(~/.zsh_history)に残りません。

Keychainに保存したAPIキーをClaude Codeで使うにはどうすればよいですか?

Keychainに保存したAPIキーは、security find-generic-password コマンドに -w を付けて読み出し、環境変数 ANTHROPIC_API_KEY に設定してからClaude Codeを起動します。読み出しのコマンドを ~/.zshrc に書いておけば、ファイルにはAPIキーの値が残りません。キーを取得できなかった時に起動を止めるラッパースクリプトを用意する方法もあります。なお、ANTHROPIC_API_KEYがあると、Pro・Maxなどのサブスクリプションでログインしていても、このAPIキーが代わりに使われます。

APIキーを.zshrcに直接書くと何が危険ですか?

APIキーを.zshrcに直接書くと、4つの経路から漏れるおそれがあります。シェル履歴への記録、dotfilesリポジトリへのコミット、プロセスの環境変数一覧、コード補完ツールへの送信の4つです。macOS Keychainに保存して.zshrcには読み出しコマンドだけを書けば、.zshrcをGitHubにpushしてもAPIキーの値は含まれません。

macOSのログインKeychainは、使うたびにパスワードの入力が必要ですか?

いいえ、ログインKeychainはMacにログインした後に自動でアンロックされるため、使うたびにパスワードを入力する必要はありません。個人の開発環境でAPIキーを保存する場合は、ログインKeychainが適しています。プロジェクト単位で分けたいチームには、任意のパスに作るカスタムKeychainという選択肢があります。

macOS Keychainと1Password CLIはどちらを選べばよいですか?

個人開発者や少人数チームにはmacOS Keychain、チームの規模が大きくなったら1Password CLIが向いています。macOS Keychainは無料で使えますが、Mac専用で、チーム共有はMDM経由になります。1Password CLIはMac以外でも使え、チーム共有に向いています。メンバーによって使うツールが違う場合は、1Passwordを先に試し、無ければKeychainから読む構成にできます。

参考・出典


まとめ:今日から始める3つのアクション

  1. 今日やること: security add-generic-password -a "$USER" -s "ANTHROPIC_API_KEY" -w を実行してANTHROPIC_API_KEYをKeychainに移行し、.zshrcから直書きを削除する
  2. 今週中: 他のAPIキー(OPENAI_API_KEY、GEMINI_API_KEY等)も同様に移行し、シェル履歴のクリーニングを実施する
  3. 今月中: チームメンバーへの展開スクリプトを整備し、オンボーディング・オフボーディングのAPIキー管理手順を文書化する

著者: 佐藤傑(さとう・すぐる)
株式会社Uravation代表取締役。早稲田大学法学部在学中に生成AIの可能性に魅了され、X(旧Twitter)で活用法を発信(@SuguruKun_ai、フォロワー約10万人)。100社以上の企業向けAI研修・導入支援を展開。著書『AIエージェント仕事術』(SBクリエイティブ)。SoftBank IT連載7回執筆(NewsPicks最大1,125ピックス)。

ご質問・ご相談は お問い合わせフォーム からお気軽にどうぞ。

この記事の内容を社内展開する方へ: Claude Code × ビジネス活用 実践ガイド(無料・PDF 30ページ+Excel) をダウンロードできます。

佐藤傑
この記事を書いた人 佐藤傑

株式会社Uravation 代表取締役CEO/生成AIエバンジェリスト。法人向けAI研修・コンサルティングを手がけ、日経・SBクリエイティブ・GMO等のメディアで生成AIについて執筆。

執筆・監修:佐藤傑/下書き・図版・機械検査:当社のAI社員(人が確認してから公開しています)。記事の作り方と検査の方針

この記事をシェア

Contact お問い合わせ

30分の無料相談では、いま時間を取られている業務を伺い、稼働中のAI社員62体の事例の画面と一緒に近い進め方をお見せします。
売り込みはしません。

Claude Code 個別指導(1対1・12セッション)をご希望の方はこちら、Codex 個別指導はこちらから別途お申し込みください

Claude Code 個別指導 無料相談