Entra サービス プリンシパルを使用した Azure DevOps 向け AutoFix
Personal Access Token や OAuth フローの代わりに、Aikido Autofix を、あなたが所有する Microsoft Entra のサービス プリンシパルとして Azure DevOps に認証させることができます。トークンやシークレットは作成も保存もされません。各修正ごとに、Aikido は Microsoft Entra に対して自身の身元を証明し、Microsoft Entra がサービス プリンシパル用の短命のアクセス トークンを発行します。
なお、Azure DevOps の組織は Microsoft Entra テナント('組織設定' > 'Microsoft Entra)に接続されている必要があります。そのテナントでアプリケーションを登録でき、Azure DevOps 組織にユーザーを追加できる必要があります。
まず、Aikido の Autofix 設定 ページに移動し、「承認」の下にある 書き込みアクセス をクリックして、「Entra サービス プリンシパルを介して承認'.

サービス プリンシパルの管理ページに移動します。これは こちらからも開けます。このページは開いたままにしておいてください。ここには次のセクションで必要な 発行者, サブジェクト識別子 と オーディエンス が表示されています。

次に、以下の手順に従って Microsoft Entra でサービス プリンシパルを作成し、Azure DevOps でアクセス権を付与します。
Microsoft Entra でアプリケーションを登録する
-
を開き、 Microsoft Entra 管理センターに移動して、「Entra ID' > 'アプリの登録」をクリックし、「新しい登録'.
-
アプリケーションに名前を付けます。たとえば Aikido Autofix、「シングルテナントのみ」を選択したままにし、リダイレクト URI は空欄のままにして、「登録'.

-
アプリケーションの「概要」ページで、 アプリケーション(クライアント)ID と ディレクトリ(テナント)IDをコピーし、両方を Aikido に入力します。
-
「証明書とシークレット' > 'フェデレーション資格情報」をクリックし、「資格情報を追加'.

-
「その他の発行者」を選択し、Aikido のサービス プリンシパル管理ページに表示されている値をそのまま次のように入力します:
- 発行者:Aikido に表示されている発行者
- 種類:明示的なサブジェクト識別子
- 値:Aikido に表示されているサブジェクト識別子
- オーディエンス:「編集」をクリックして、既定値を Aikido に表示されているオーディエンスに置き換えます。これにはワークスペース ID が含まれているため、Aikido があなたのワークスペース向けに発行したトークンのみが受け入れられます。
資格情報に名前を付けます。たとえば autofixとして、「追加」をクリックします。クライアント シークレットや証明書は必要ありません。

Azure DevOps でアクセス権を付与する
-
Azure DevOps で「組織設定' > 'ユーザー」をクリックし、「ユーザーを追加'.
-
アプリケーション名(Aikido Autofix)を検索し、「アクセス レベル」を Basicに設定し、Autofix にアクセスが必要なプロジェクトに追加します。次に「追加」をクリックします。アプリケーションがまだ表示されない場合は、1分待ってから再度検索してください。

サービス プリンシパルをプロジェクトに追加すると、そのプロジェクトの 共同作業者 グループに追加され、Autofix に必要な権限がすでに付与されます。組織でリポジトリ上の共同作業者が制限されている場合は、 貢献, ブランチの作成 と プル リクエストへの貢献 について Aikido Autofix 各プロジェクトの「プロジェクト設定' > 'リポジトリ' > 'セキュリティ'.
Aikido で接続する
- Aikido のサービス プリンシパル管理ページに戻ります。
- 先ほどコピーした ディレクトリ(テナント)ID と アプリケーション(クライアント)ID を挿入し、「サービス プリンシパルを保存」をクリックします。Aikido は保存前に Microsoft Entra からトークンを要求し、Azure DevOps 組織のリポジトリにアクセスできることを確認します。
これで準備完了です。これからは Autofix ページ またはサイドバーのサブ問題のアクション メニューから autofix PR を実行できるようになります。プルリクエストは Aikido Autofix.
Aikido の書き込みアクセスを取り消すには、Microsoft Entra でフェデレーション資格情報を削除するか、Azure DevOps 組織からサービス プリンシパルを削除します。Aikido で設定を削除するには、「トークンを削除」を Autofix 設定 ページ上で使用します。