Azure と接続する
Azure と組織の管理者が、Entra ID アプリをクラウド操作用に接続します。 長期のシークレットを登録せずに、承認済みの VM・専用 SQL プールの手順書を実行するためのページです。
Actagate の設定を管理する権限と、Entra ID のアプリ登録・フェデレーション資格情報・Azure RBAC を設定する権限が必要です。テナント ID、サブスクリプション ID、アプリケーション(クライアント)ID を用意してください。いずれも UUID 形式です。
運用担当者による OIDC_ISSUER_BASE_URL と OIDC_SIGNING_KEYS の設定が必要です。この接続は Azure Resource Manager(ARM)用で、Microsoft 365 のグループ・ライセンス付与とは別です。
顧客側の設定
Section titled “顧客側の設定”- Entra ID に専用アプリを登録し、そのサービスプリンシパルを権限の付与先にします。クラウド操作用のアプリケーション ID が決まります。
- 「クラウドアカウント」→「アカウントを追加」で「クラウド」を「Azure」にし、「キー」「テナント ID」「サブスクリプション ID」「アプリケーション (クライアント) ID」を入力します。「Azure の設定コマンド」が実値で表示されます。
- 画面の
az ad app federated-credential createコマンドを Azure 管理者が実行します。資格情報のnameはcloud-account、issuerは画面の「発行者 URL」、subjectはorg:<組織ID>:account:<キー>、audiencesは["api://AzureADTokenExchange"]です。この組織・キーのトークンをアプリが受け入れる設定になります。 - アプリのサービスプリンシパルに、対象リソースの読み取りと選択した VM・SQL 操作の Azure RBAC 権限を付与します。疎通確認にはサブスクリプションの読み取りも必要です。実行するリソースと操作に権限を絞った接続先ができます。
発行者 URL は OIDC_ISSUER_BASE_URL の末尾の / を除き、/t/<組織ID> を付けたものです。クライアントシークレットや証明書をこの接続に登録する作業はありません。
Actagate 側の登録
Section titled “Actagate 側の登録”
-
次の値を入力します。フェデレーション資格情報を設定したアプリと登録内容が一致します。
画面の項目 入れる値 キー 組織内で一意の接続先名。サブジェクトに使う クラウド Azure テナント ID アプリのテナント ID サブスクリプション ID 操作対象のサブスクリプション ID アプリケーション (クライアント) ID 専用アプリの ID 用途メモ 任意の説明 -
「許可する操作」で必要な操作を選び、「保存」を押します。認証方式は OIDC に固定され、
cloud_accountsに接続設定が保存されます。「保存しました。」と表示されます。Azure には読み取り専用接続の入力欄はなく、同じアプリで読み取りも行います。
[画面: クラウドアカウントの登録フォーム]
- 保存後に「疎通を確認する」を押します。Entra ID でのトークン交換と、ARM の
GET /subscriptions/<サブスクリプションID>?api-version=2022-12-01が実行されます。成功すると「アプリケーション (クライアント) ID」と「有効期限」が表示されます。 - 表示されたアプリの ID を照合し、監査ログの
cloud_account.connection_testedを確認します。接続先のキーと成功・失敗が記録されます。トークン本体は記録されず、VM・SQL の変更権限はこのテストでは確認しません。
[画面: クラウドアカウントの疎通確認結果]
実行されること
Section titled “実行されること”接続したアプリの ARM 操作
Section titled “接続したアプリの ARM 操作”署名した短期トークンを client_assertion に渡し、https://login.microsoftonline.com/<テナントID>/oauth2/v2.0/token で交換します。フローは client_credentials、スコープは https://management.azure.com/.default です。
| 手順書の操作 | ARM への呼び出し |
|---|---|
azure.vm.get |
VM の /instanceView を GET |
azure.vm.start / azure.vm.deallocate |
VM の /start / /deallocate に POST |
azure.sql.get_database |
SQL データベースを GET |
azure.sql.pause / azure.sql.resume |
データベースの /pause / /resume に POST。専用 SQL プール向け |
VM は api-version=2024-07-01、SQL は api-version=2023-08-01 を使います。手順書で指定するサブスクリプションは登録先と一致する必要があります。
Entra ID のグループ・ライセンス付与
Section titled “Entra ID のグループ・ライセンス付与”別の entra-id executor が、承認済みの group_id または sku_id を使います。申請者メールを GET /users/{email} で user ID に解決し、グループ追加は POST /groups/{id}/members/$ref、直接ライセンス付与は POST /users/{id}/assignLicense を呼びます。
この経路は運用担当者が実行環境に設定する ENTRA_TENANT_ID、ENTRA_CLIENT_ID、ENTRA_CLIENT_SECRET を使い、スコープは https://graph.microsoft.com/.default です。クラウドアカウントのフェデレーション資格情報では有効になりません。シークレットを登録フォームへ貼り付けないでください。
対象の読み取り、グループのメンバー追加・削除、またはライセンス付与・回収に必要な Microsoft Graph のアプリケーション権限と管理者の同意を、Entra 管理者が別途用意します。ARM の RBAC 権限とは別です。
期限回収は閲覧・イベント時に、保存した user ID と group ID または SKU ID で同じ直接付与を外します。グループ経由で継承したライセンスは直接付与として回収できません。ライセンス付与にはユーザーの usageLocation が必要です。設定不足や API 失敗は手順書タスクへ移ります。
| 状況 | 確認すること |
|---|---|
| 発行者・署名器が未設定 | 運用担当者に発行者 URL と署名鍵の設定を依頼する |
| Entra ID がトークン交換を拒否する | アプリの issuer、subject、audiences と画面の値を照合する |
| サブスクリプションの読み取りが拒否される | サービスプリンシパルのサブスクリプション読み取り権限を確認する |
| テスト成功後に VM・SQL 操作が拒否される | 対象リソースの RBAC と「許可する操作」を確認する |
| グループ・ライセンス付与が手順書タスクになる | 別の Graph 用設定、管理者の同意、対象ユーザーを確認する |
解決しない場合は、接続先のキーと画面のメッセージを組織の管理者・運用担当者に伝えてください。トークンやシークレットを証跡に添付しないでください。