メインコンテンツまでスキップ

静的な API キーによるボット認証機能をリリース

· 約5分
Yoshiaki Matsutomo
Software Engineer @ GMO Flatt Security Inc.

Shisho Cloud ボットに対応する、静的な API キーが払い出せるようになりました。

これまでボット認証は、静的な認証情報を一切持たず、GitHub Actions や GitLab CI でのキーレス認証(OpenID Connect ベース)による認証のみをサポートしてきました。 本リリースにより、静的な API キーが払い出せるようになることで、さらに広いプラットフォームからの Shisho Cloud へのアクセスが可能となります。

Jenkins や GitHub Enterprise Server 等、現在 Shisho Cloud が「信頼関係」機能でサポートしているプラットフォーム以外をご利用の方は、ぜひ本機能をご利用ください。

eyecatch

概要

API キーによるボット認証機能は、Shisho Cloud から、shishoctl CLI で利用できる静的な認証情報(APIキー)を払い出せる機能です。 これにより、APIキーさえ保管できる環境であれば、どこからでもボットとして認証して shishoctl CLI を利用いただけます。

認証方式の比較

Shisho Cloud では、環境に応じて以下の認証方式を推奨しています。

環境推奨される認証方式
GitHub Actions信頼条件(OIDC)
GitLab CI信頼条件(OIDC)
その他の CI/CD 環境API キー

利用開始方法

ステップ 1: ボットを作成して API キーを発行する

APIキーはボットに紐づく概念です。 そのため、ボットを未だ作成していない場合は、まずボットを作成しましょう。 具体的な手順は以下です。

  1. ボット一覧 ページにアクセスする
  2. 「ボットの追加」ボタンから、新しいボットを作成する

作成できたら、以下の手順でAPIキーが発行できます。

  1. ボット一覧 ページにアクセスする。
  2. 作成したボットの名前をクリックし、個別ページを開く。
  3. APIキータブで、「APIキーの作成」を押下し、ボットの API キーを新規作成する。
重要

API キーは作成時に一度しか表示されません。あとからの再確認は不可能なので、作成時に控え、安全な場所に保存してください。

ステップ 2: API キーでサインインする

以下のコマンドで API キーを使って認証してください:

shishoctl auth signin:bot \
--bot <ボット ID> \
--api-key-json "$(cat api-key.json)"

api-key.json ファイルの内容は以下の形式です:

{
"api_key": "shisho_apikey_..."
}

または、API キーを直接指定することもできます:

shishoctl auth signin:bot \
--bot <ボット ID> \
--api-key-json '{"api_key":"shisho_apikey_..."}'

ステップ 3: shishoctl を使い始める

認証が完了したら、通常通り shishoctl コマンドを使用してください:

shishoctl workflow list -o <organization-id>

セキュリティのベストプラクティス

一般的な SaaS の API キーと同様に、ボットの API キーが漏れると、Shisho Cloud 上のでデータが侵害される可能性があります。 安全に扱うため、以下にご留意ください。

  • API キーを外部公開しない。特に、GitHub 等の公開リポジトリにコミットしない。
  • 非公開領域に API キーを保管する場合も、極力安全な場所を利用する。例えば、GitHub リポジトリ内に直接含めるよりは、GitHub Actions のシークレット管理機能を利用する。
  • 不要になった API キーは速やかに削除する。

関連リソース

ボット認証と shishoctl の使い方の詳細については、以下をご参照ください: