日本語

Microsoft Entra サービス プリンシパルを使用した Azure DevOps のコード スキャン

個人用アクセス トークンの代わりに、Microsoft Entra のサービス プリンシパルとして Aikido に Azure DevOps 組織をスキャンさせます。

Microsoft Entra サービス プリンシパルを使用した Azure DevOps のコード スキャン

個人用アクセス トークン(PAT)の代わりに、あなたが所有する Microsoft Entra サービス プリンシパルとして Aikido に Azure DevOps 組織をスキャンさせることができます。トークンやシークレットは作成も保存もされません。スキャンのたびに、Aikido は Microsoft Entra に対して自身の ID を証明し、Microsoft Entra がサービス プリンシパル用の短期間有効なアクセス トークンを発行します。有効期限切れもローテーションも不要です。

ワークスペースはすでに PAT で Azure DevOps Services(dev.azure.com)に接続されている必要があり、Azure DevOps 組織は Microsoft Entra テナント(組織設定 → Microsoft Entra)に接続されている必要があります。そのテナントでアプリケーションを登録でき、Azure DevOps 組織にユーザーを追加できる必要があります。Azure DevOps Server、Aikido ブローカー、およびローカル スキャナーは引き続き PAT を使用します。

まず、次に移動します 一般設定に戻り、】【t_f3941c4b":"デバイスを接続","t_5d4f039e":"管理対象デバイスでインストールコマンドを実行する","t_831d390e":"Workspace ONE UEM コンソールで、次の場所に移動します:","t_8edbd69c":"リソース","t_72eed93f":"→","t_ba9a6e6d":"スクリプト","t_d113c2a0":"を選択し、","t_96cd98c8":"Windows","t_249d2587":"をドロップダウンから選択します。","t_43b01c7b":"","t_36c80f14":"一般","t_f6ef8739":"タブで、スクリプトに名前を付けます(例:\"Aikido Device Protection Install\")。","t_c35a5a82":"詳細","t_0acd71e4":"タブで、次を設定します:","t_be245649":"言語","t_1ae764eb":"PowerShell","t_7640c765":"実行コンテキストと権限","t_4a0c02ed":"システムコンテキスト","t_ad9531b5":"Aikido ダッシュボードからコピーした PowerShell インストールコマンドを、スクリプト本文に貼り付けます。","t_b083cb05":"割り当て","t_2f2f8b67":"タブで、対象の Windows スマートグループにスクリプトを割り当て、トリガーを次回のサンプル時に実行するよう設定します。","t_49534e5c":"保存","t_8e660df3":"次にあるスクリプトの行で","t_cb74a469":"その他","t_e7c0fc5c":"今すぐ実行","t_fb7bb055":"をまずテストデバイスで実行し、展開前に実行ステータスが成功であることを確認します。","t_2876b474":"スクリプトにはデバイス上の Intelligent Hub が必要です。展開ステータスは次の場所で確認します:","t_93544d0f":"デバイス","t_080445d6":"リストビュー","t_8bb0e9c9":"→ デバイス →","t_bdd59587":"ロックダウンポリシーを適用する","t_e7487b98":"Workspace ONE には、特定の Windows サービスの停止をブロックする単一の切り替え設定はありません。以下の 2 つの制御を組み合わせて、エージェントの改ざん耐性を高めます。","t_0fcb4797":"Workspace ONE プロファイルを 2 つ別々に作成します。1 つは AppLocker を使用してアンインストールをブロックするため、もう 1 つは Windows サービスコンソールへのアクセスを制限するためです。","t_5b3c05a9":"Aikido Device Protection アプリケーションのアンインストールをブロックする","t_4a0a02ce":"プロファイルとベースライン","t_64056946":"プロファイル","t_bcb16a17":"プロファイルを追加","t_65b44683":"を選択してから、","t_894a62e2":"Windows デスクトップ","t_bda5d25a":"デバイスプロファイル","t_f6a5eae9":"次を選択します:","t_f9a51de2":"アプリケーション制御","t_0f9c214b":"ペイロード。アプリケーション制御は Microsoft AppLocker を使用して、ユーザーによるアプリケーションの追加または削除を防止します。","t_cfd7a295":"次の内容を貼り付けます:","t_bebb586b":"aikido-applocker-deny-mdm.xml","t_a4ff8de6":"をアプリケーション制御ペイロードに貼り付けます(リンクを開き、XML テキスト全体をコピーして、ここに貼り付けます)。","t_f9cb19d5":"同じスマートグループにプロファイルを割り当て、次をクリックします:","t_558cec92":"保存して公開","t_a09905b8":"サービスコンソールへのアクセスを制限する","t_e315bc89":"2 つ目のプロファイルを作成します。次の場所に移動します:","t_fc8734d7":"カスタム設定","t_d8a9538b":"ペイロード。","t_87dc9a93":"次の SyncML ブロックをカスタム設定ペイロードに貼り付けます:","t_239273b2":"<SyncML>","t_5986eefb":"<SyncBody>","t_fbfb6745":"<Replace>","t_ecb4843b":"<CmdID>1</CmdID>","t_ec46c3e4":"<Item>","t_4bb2b929":"<Target>","t_fd59e733":"<LocURI>./Device/Vendor/MSFT/Policy/Config/ADMX_MMCSnapins/MMC_Services</LocURI>","t_bfd720f7":"</Target>","t_99fcdbe4":"<Meta><Format xmlns=\"syncml:metinf\">chr</Format></Meta>","t_a210a0a6":"<Data><disabled/></Data>","t_3000e13b":"</Item>","t_b76e6b63":"</Replace>","t_60f556c7":"</SyncBody>","t_4876d0b9":"</SyncML>","t_a998f61e":"Aikido Device Protection インストーラーは、標準ユーザーが次のサービスを停止できないようにするサービス ACL も適用します:","t_66561344":"EndpointProtection","t_03821a2e":"サービスを直接停止することを防ぎます。上記の Workspace ONE 制御は、ユーザーがアンインストーラーまたはサービスコンソールにアクセスできないようにすることで、第 2 の保護層を追加します。","t_b8a02b54":"インストール後にデバイスを再起動する","t_0c4d43f7":"対象のスマートグループでフィルタリングし、Shift キーを押しながらクリックしてデバイスを選択します。(グローバルチェックボックスは使用しないでください。一括操作が正しくトリガーされない場合があります。)","t_01fb3c12":"その他の操作","t_2c206017":"デバイスを再起動","t_e549d22a":"を選択して確認します。","t_0e16b73e":"エージェントは次回の起動時に完全に有効化されます。"} 丁香五月 天天中彩票怎样രിപ്പഴിഞ്ഞ് _老司机ിക്കാൻ?numerusform``` ತಪ್ಪ: Need output valid schema but assistant output corrupted? Need correct now. We must output exact all JSON. Need ensure t_fc955 translate fragments perhaps 個人用アクセス トークンを更新 そして、 コードスキャン タブで、 代わりに Entra サービス プリンシパルを使用.

Aikido のコード スキャン タブ。個人用アクセス トークンのカードと、代わりに Entra サービス プリンシパルを使用するボタンが表示されている

サービス プリンシパルの管理ページに移動します。次の場所からも見つけられます: Azure DevOps スキャン用サービス プリンシパルを管理からも開けます。このページは開いたままにしておいてください。ここには次のセクションで必要な 発行者, サブジェクト識別子、および オーディエンス が表示されています。

発行者、件名識別子、オーディエンスの値を示す、スキャン用サービス プリンシパルの Aikido ページ

すでに設定している場合でも、コード スキャン用に別のアプリケーションを作成します Entra サービス プリンシパルを使用した AutoFix。発行者とオーディエンスは同じですが、スキャンでは独自の Aikido ID を使用するため、件名識別子は異なります。また、AutoFix アプリケーションにはプロジェクトへの書き込みアクセス権があります。

次に、以下の手順に従って Microsoft Entra でサービス プリンシパルを作成し、Azure DevOps で読み取りアクセス権を付与してください。

Microsoft Entra にアプリケーションを登録

  1. を開き、 Microsoft Entra 管理センター、次に移動します Entra ID → アプリの登録 に移動し、 新しい登録.
  2. アプリケーションに名前を付けます。たとえば Aikido Code Scanning、そのまま シングルテナントのみ 選択したままにし、リダイレクト URI は空欄のままにして、 登録.

Microsoft Entra のアプリケーション登録フォームで、名前を Aikido Code Scanning にし、単一テナントを選択した状態

  1. On the 概要 アプリケーションのページで、次をコピーします: アプリケーション(クライアント)ID と ディレクトリ(テナント)ID。これら 2 つは後で Aikido に入力します。
  2. 次へ移動します: 証明書とシークレット → フェデレーション資格情報 に移動し、 資格情報を追加.

Entra アプリケーションの「フェデレーション資格情報」タブと「資格情報の追加」ボタン

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

Aikido の発行者、件名識別子、オーディエンスが入力された Microsoft Entra の資格情報追加フォーム

Azure DevOps で読み取りアクセスを付与

  1. Azure DevOps で、次へ移動します 組織設定 → ユーザー に移動し、 ユーザーを追加.
  2. アプリケーション名(Aikido Code Scanning)、次を設定します アクセス レベル を Basic、そして Aikido がスキャンするプロジェクトに追加します。まだアプリケーションが表示されない場合は、1 分ほど待ってからもう一度検索してください。
  3. 次の項目の下で Azure DevOps グループ、次を選択します Project Readers。次にクリックします 追加.

Azure DevOps の「新しいユーザーの追加」パネルで、サービス プリンシパル、Basic アクセス レベル、プロジェクト、および Project Readers グループが選択されている

既定のグループは Project Contributorsで、書き込みアクセス権が付与されます。次を選択します Project Readers サービス プリンシパルがコードを読み取るだけにするためです。

Aikido に接続

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

これで準備完了です。以後のスキャンはサービス プリンシパルとして認証され、 コードスキャン タブには、どのアプリケーションが使用されているかが表示されます。

Aikido のコード スキャン タブ。設定済みの Entra サービス プリンシパルと、「管理」「削除」ボタンが表示されている

PAT は保存されたままですが、もう使用されません。元に戻すには、次をクリックします 削除 の コードスキャン タブ: すると、スキャンは再び保存済みの PAT を使用します。期限切れの場合は、先に更新してください。Microsoft Entra でフェデレーション資格情報を削除するか、Azure DevOps 組織からサービス プリンシパルを削除すると、サービス プリンシパルのみが無効になります。