Skip to main content

OIDC 認証

概要

Bitriseでは、OIDCを使用すると、ワークフローに長期間有効な認証情報を埋め込むことなく、ビルドを外部システム(AWS、GCP、Azure、コンテナレジストリ、シークレット管理、アーティファクトストアなど)で認証できます。

OpenID コネクト (OIDC) は、OAuth 2.0 フレームワークをベースにしたアイデンティティ認証プロトコルです。これにより、アプリケーション間でシングル・サインオンを使用するなど、サード・パーティー・アプリケーションがエンド・ユーザーの身元を確認できるようになります

OIDC は、認証操作の結果とユーザーの ID に関する情報を提供する JSON Web トークン (JWT) を発行することで機能します。認証結果とユーザー情報に関するデータはクレームと呼ばれます

トークンを受け取るサービスは、トークンのクレームをOIDCポリシーと照らし合わせて評価します。トークンの要求がポリシーと一致すればリクエストは許可され、一致しない場合は拒否されます。

Bitriseでは、OIDCを使用すると、ワークフローに長期間有効な認証情報を埋め込むことなく、ビルドを外部システム(AWS、GCP、Azure、コンテナレジストリ、シークレット管理、アーティファクトストアなど)で認証できます。Bitriseは、ビルド番号、コミットハッシュ、リポジトリスラッグ、アプリスラッグ、ワークフロー名などのクレームを使用して、特定のビルドに関連する1つ以上のIDトークンを発行できます

これらのトークンは以下のとおりです。

  • 特定のビルドインタラクションに対して発行されるため、サードパーティのサービスはその実行のみを対象とするアクセスを許可できます。

  • 潜在的な暴露による影響を最小限に抑えるため、寿命が短い。

  • OIDCを受け入れるフェデレーションサービスで利用可能。たとえば、Bitrise OIDCトークンを一時的なクラウド認証情報と交換できます。

ビルド用の ID トークンをリクエストする

OIDCトークンを使用してBitriseビルドからサービスへの認証を行うには、トークンを取得してからサービスと認証情報を交換する必要があります。Bitriseはプロセスの一部を処理するステップを提供しています。

OIDC ID トークンの取得ステップ

以下のサービスでは、ビルドで OIDC トークンを使用してください。 OIDC ID トークンを取得 ステップ 1。このステップにより、ワークフローとパイプラインは、シークレットをリポジトリやビルド設定に保存しなくても、実行時にクラウドリソースまたは外部サービスへの一時的かつ監査可能なアクセスをリクエストできます

を設定 トークン・オーディエンス 入力してステップを設定します。これは、トークンを使用してアクセスしたいサービスの URL でも、サービスが提供する特定の ID でもかまいません。

2025-11-12-get-oidc-token-step.png

このステップは、キーを含む環境変数をエクスポートします。 BITRISE_IDENTITY_TOKENには、トークンの関連情報が含まれています。これを使用して、アクセスしたいサービスと認証情報を交換します。

特定のサービスの専用ステップ

ザ・ OIDC アイデンティティートークンの取得 Step では任意のサービスの OIDC トークンを取得できますが、認証情報の交換は行いません。一部のサービスでは、プロセス全体を処理するステップを用意しています。

  • Google クラウドプラットフォーム (GCP) による認証: サービスアカウントキーを使用して Google 認証トークンを生成し、GCP に対して認証します。

  • アマゾンウェブサービス (AWS) による認証: AWS IAM ID プロバイダーに基づいて ID トークンを生成します。ガイドの全文はこちらでご覧いただけます AWS 向け OIDC.

OIDC トークンの情報

ビットライズはOIDCトークンに以下の情報を含んでいます。

表1 OIDC 情報

Name

Description

aud

カスタマイズ可能なオーディエンスフィールド

sub

ID トークンの作成をトリガーしたのは誰か

注記:

の中になります app:APP_SLUG:workflow:WORKFLOW フォーマット。

exp

トークンの有効期限

iat

トークンの生成時間

iss

トークンを発行した人

jti

トークンの固有識別子

nbf

現在の時刻

sha

Git コミットハッシュ

repository_url

アプリに関連付けられている Git リポジトリの URL

repository_owner

Git リポジトリの所有者

repository_slug

Git リポジトリスラッグ

app_slug

アプリスラッグ

workspace_slug

ワークスペーススラッグ

trigger_by

どのエンティティがビルドをトリガーしたか

branch

構築中のブランチ

branch_dest

PR ターゲットブランチ

tag

ビルドをトリガーしたタグ

build_number

ビルド番号

workflow

トリガーされたワークフローの名前