日本語

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 サービス プリンシパルを介して承認'.

Aikido Autofix 設定の「Entra サービス プリンシパルを介して承認」オプション

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

Aikido のサービス プリンシパル ページにある発行者、サブジェクト識別子、オーディエンスの値

次に、以下の手順に従って Microsoft Entra でサービス プリンシパルを作成し、Azure DevOps でアクセス権を付与します。

Microsoft Entra でアプリケーションを登録する

  1. を開き、 Microsoft Entra 管理センターに移動して、「Entra ID' > 'アプリの登録」をクリックし、「新しい登録'.

  2. アプリケーションに名前を付けます。たとえば Aikido Autofix、「シングルテナントのみ」を選択したままにし、リダイレクト URI は空欄のままにして、「登録'.

    Microsoft Entra で新しいアプリケーションを登録する

  3. アプリケーションの「概要」ページで、 アプリケーション(クライアント)ID と ディレクトリ(テナント)IDをコピーし、両方を Aikido に入力します。

  4. 「証明書とシークレット' > 'フェデレーション資格情報」をクリックし、「資格情報を追加'.

    Entra のアプリ登録内のフェデレーション資格情報タブ

  5. 「その他の発行者」を選択し、Aikido のサービス プリンシパル管理ページに表示されている値をそのまま次のように入力します:

    • 発行者:Aikido に表示されている発行者
    • 種類:明示的なサブジェクト識別子
    • 値:Aikido に表示されているサブジェクト識別子
    • オーディエンス:「編集」をクリックして、既定値を Aikido に表示されているオーディエンスに置き換えます。これにはワークスペース ID が含まれているため、Aikido があなたのワークスペース向けに発行したトークンのみが受け入れられます。

    資格情報に名前を付けます。たとえば autofixとして、「追加」をクリックします。クライアント シークレットや証明書は必要ありません。

    Aikido の値を入力したフェデレーション資格情報フォーム

Azure DevOps でアクセス権を付与する

  1. Azure DevOps で「組織設定' > 'ユーザー」をクリックし、「ユーザーを追加'.

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

    Azure DevOps でサービス プリンシパルをユーザーとして追加する

サービス プリンシパルをプロジェクトに追加すると、そのプロジェクトの 共同作業者 グループに追加され、Autofix に必要な権限がすでに付与されます。組織でリポジトリ上の共同作業者が制限されている場合は、 貢献, ブランチの作成 と プル リクエストへの貢献 について Aikido Autofix 各プロジェクトの「プロジェクト設定' > 'リポジトリ' > 'セキュリティ'.

Aikido で接続する

  1. Aikido のサービス プリンシパル管理ページに戻ります。
  2. 先ほどコピーした ディレクトリ(テナント)ID と アプリケーション(クライアント)ID を挿入し、「サービス プリンシパルを保存」をクリックします。Aikido は保存前に Microsoft Entra からトークンを要求し、Azure DevOps 組織のリポジトリにアクセスできることを確認します。

これで準備完了です。これからは Autofix ページ またはサイドバーのサブ問題のアクション メニューから autofix PR を実行できるようになります。プルリクエストは Aikido Autofix.

Aikido の書き込みアクセスを取り消すには、Microsoft Entra でフェデレーション資格情報を削除するか、Azure DevOps 組織からサービス プリンシパルを削除します。Aikido で設定を削除するには、「トークンを削除」を Autofix 設定 ページ上で使用します。