コンテンツにスキップ

API CLI自動化のためのアクセスキーを

CI、cron、コンテナ、およびその他の無人ワークCLI ロードには、スコープが限定された API キーを使用してください。人間によるブラウザセッションと、マシンの認証情報を分離してください。

から直接キーを作成・管理します(CLIこれには対話型の ブラウザセッションが必要ですので、以下を実行してください champrep auth login まず — キーAPIは 他の キーAPIを管理することはできません)。シークレットは一度だけ表示されますので、直ちに記録してください。

Terminal window
champrep keys create --name "nightly-export" --scope drive:read
champrep keys ls

また、以下を開くこともできます API キー ダッシュボードで確認してください。

例:

  • 毎晩のエクスポートDriveには通常、 drive:read、書き込みや削除ではなく。
  • カレンダーパブリッシャーは、 calendar:write やMail へのアクセスWork権がない状態で。
  • メールを送信するスクリプトには、 mail:send; 追加 mail:read アカウント、メッセージ、またはスレッドを 読み取る場合のみ、アクセス権限を確認してください。

スコープチェック後も、有効なプラン、プロファイル、組織ポリシー、ロール、およびサービス固有の 制限は引き続き適用されます。

OSのキーチェーンにキーを保存する

Section titled “OSのキーチェーンにキーを保存する”
Terminal window
champrep auth token

このコマンドは、安全にプロンプトを表示し、キーをオペレーティングシステムの キーチェーンに保存します。トークンを設定CLIファイルには書き込みません。

結果を確認してください:

Terminal window
champrep auth whoami
champrep auth status

キーを、マスクされ、保護された CI シークレットとして、 CHAMPREP_TOKEN。CLIは、その環境変数を一時的なオーバーライドとしてCLI 使用し、ローカルの キーチェーンをバイパスします。

Terminal window
champrep auth whoami --json
champrep drive quota --json

変数を表示したり、その変数に関するシェルコマンドのトレースを有効にしたり、 コマンドライン引数として渡したりしないでください。シークレットは、それを必要とするブランチや環境に 限定してください。

ダウンタイムなしでローテーションを行う

Section titled “ダウンタイムなしでローテーションを行う”
  1. シークレットを再生成する(champrep keys regenerate KEY_ID) または、 必要なスコープが同じ代替キーを作成します (champrep keys create).
  2. シークレットマネージャーまたはCI変数を更新してください。
  3. 新しいキーを使用して、無害な識別コマンドまたは読み取りコマンドを実行してください。
  4. 本番環境のワークロードでこれが採用されていることを確認してください。
  5. 以前のキーを無効化します(champrep keys revoke KEY_ID).

漏洩の恐れがあるキーは直ちに失効させてください。 401 無期限に再試行するのではなく、 無効化されたキーからのアクセスを最終的なものとみなしてください。

からキーを一覧表示し、キーの最近のアクティビティを確認してくださいCLI:

Terminal window
champrep keys ls
champrep keys get KEY_ID
champrep keys audit KEY_ID

定期的に以下を確認してください:

  • ワークロードがまだ存在するかどうかを確認し、
  • 選択されたすべてのスコープが依然として必要かどうか;
  • IP制限を絞り込めるかどうか;
  • アクティビティおよび最終使用情報がワークロードと一致するかどうか;
  • キーに名前付きの所有者とローテーションスケジュールが設定されているかどうか。

完全なスコープカタログおよび直接の使用API方法については、以下をご覧ください。 認証および API APIキー.