ビットライズ向けOIDC
Open ID Connect (OIDC) トラストポリシーを作成し、OIDC トークンを送信するには app.bitrise.io OIDC クレデンシャル・エクスチェンジのオーディエンスとしてこれにより、サードパーティのサービスがBitriseワークスペースを認証し、Bitriseリソースにアクセスできるようになります
Open ID Connect (OIDC) トラストポリシーを作成し、OIDC トークンを送信するには app.bitrise.io OIDC クレデンシャル・エクスチェンジのオーディエンスとしてこれにより、サードパーティのサービスがBitriseワークスペースを認証し、Bitriseリソースにアクセスできるようになります
OIDC の仕組みの詳細については、以下を参照してください。 OIDCによるビットライズへの認証。
Bitriseでのトラストポリシーの作成
OIDCトラストポリシーを作成して、OIDCトークン交換を介して外部サービスにBitriseリソースへのアクセスを許可します。
-
Bitriseにログインし、左側のナビゲーションバーにカーソルを合わせます。
-
で適切なワークスペースが選択されていることを確認してください ワークスペース メニュー。
-
[選択] [設定]。

-
[選択] [セキュリティ] そして、次のページに移動します。 OIDC トラストポリシー タブ。

-
クリック 。
-
ポリシーの詳細を記入してください。
-
ポリシー名: ポリシー識別子。
-
発行者: Bitriseが信頼するアイデンティティプロバイダーのHTTPS URL。
-
セッション時間: トークンの有効期間。

-
-
次のページで、JSON 形式でマッチングルールを設定します。
マッチングルールは、Bitriseがトラストポリシーと一致するためにトークンのどのクレームを確認する必要があるかを定義します。
重要
少なくとも 1 つのマッチングルールが必要です。
subクレームは必須です。トークン交換のきっかけとなったサブジェクトを識別します。たとえば、リポジトリの特定のブランチに対してマッチングルールを作成し、ワークフローに名前を付けることができます。
{ sub: repo:my-org/my-repo:environment:prod workflow: 'CI', ref: 'refs/heads/main', repository: 'my-account/my-repo' } -
次のページで、有効期間が短いトークンのワークスペースロールを設定します。
ワークスペースロールはトークンのアクセスレベルを決定します。さらに読む: ワークスペースの役割と権限。
-
次のページで、製品アクセスを設定します。すべての製品へのフル管理者アクセスを許可するか、Bitrise CI またはリリース管理のいずれか、あるいはその両方にきめ細かくアクセス権を付与してください
-
[選択] 管理者アクセス ワークスペースが所有するすべてのプロジェクトへの管理者アクセス権を付与します。
-
[選択] ビットライズ CI そして/または、プロジェクトまたはリリース管理アプリを選択し、トークンのロールにアクセスします。プロジェクトごとに異なるアクセスレベルを設定できます。
もっと読む: プロジェクトチームのユーザーロール
-
[選択] リリース管理 次に、トークンのリリース管理アプリとアクセスロールを選択します。リリース管理アプリごとに異なるアクセスレベルを設定できます。
もっと読む: リリース管理の役割と権限
-
-
準備ができたら、クリック 。
トークン・リクエストの作成
Bitriseで少なくとも1つのトラストポリシーを作成したら、OIDCトークン交換リクエストを作成して、Bitriseから短期間のトークンを受け取ることができます。
-
Bitriseで認証したいサービスからOIDCトークンを取得してください。
トークンを取得する正確な方法は、サービスによって異なります。例えば: GitHub アクションからトークンをリクエストする。
-
Bitriseへの交換リクエストでトークンを使用してください。
リクエストにはポリシー ID が含まれている必要があり、次の宛先に送信する必要があります
app.bitrise.io。curl -i -X POST https://app.bitrise.io/oidc/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=urn:ietf:params:oauth:grant-type:token-exchange" \ -d "subject_token_type=id_token" \ -d "policy_id=<POLICY_UUID>" \ -d "subject_token=<OIDC_TOKEN>"次の方法でリクエストを送信することもできます
application/json:curl -i -X POST https://app.bitrise.io/oidc/token \ -H "Content-Type: application/json" \-d "{ \"grant_type\": \"urn:ietf:params:oauth:grant-type:token-exchange\", \"subject_token_type\": \"id_token\", \"subject_token\": <OIDC_TOKEN>, \"policy_id\": <POLICY_ID> }"