ワークロード ID とは

ワークロード ID とは、他のサービスやリソースを認証してアクセスするためにソフトウェア ワークロード (アプリケーション、サービス、スクリプト、コンテナーなど) に割り当てる ID です。 この用語は業界全体で一貫していませんが、通常、ワークロード ID は、一部のシステムでソフトウェア エンティティを認証するために必要になるものです。 たとえば、GitHub Actions から Azure サブスクリプションにアクセスするには、それらのサブスクリプションにアクセスできるワークロード ID がアクションに必要です。 ワークロード ID は、Amazon S3 バケットへの読み取り専用アクセスを持つ EC2 インスタンスにアタッチされた AWS サービス ロールである場合もあります。

Microsoft Entra では、ワークロード ID はアプリケーション、サービス プリンシパル、マネージド ID です。

アプリケーションは、アプリケーション オブジェクトによって定義される抽象エンティティ (テンプレート) です。 アプリケーション オブジェクトは、すべてのテナントにわたって使用するためのアプリケーションのグローバルな表現です。 アプリケーション オブジェクトでは、トークンの発行方法、アプリケーションがアクセスする必要があるリソース、アプリケーションが実行できるアクションが記述されます。

サービス プリンシパルは、特定のテナント内のグローバル アプリケーション オブジェクトのローカル表現、つまりアプリケーション インスタンスです。 アプリケーション オブジェクトは、アプリケーションが使用されるすべてのテナントで、サービス プリンシパル オブジェクトを作成するためのテンプレートとして使用されます。 サービス プリンシパル オブジェクトには、特定のテナント内でアプリが実際に実行できること、アプリにアクセスできるユーザー、アプリからアクセスできるリソースを定義します。

マネージド ID は、開発者が資格情報を管理する必要をなくす特別な種類のサービス プリンシパルです。

Microsoft Entra ID のワークロード ID を使用するいくつかの方法を次に示します:

  • 管理者またはユーザーの同意に基づいて Web アプリが Microsoft Graph にアクセスできるようにするアプリ。 このアクセスは、ユーザーの代わりに行われることも、アプリケーションの代わりに行われることもあります。
  • Azure Key Vault や Azure Storage などの Azure リソースへのアクセス権を持つサービスをプロビジョニングするために開発者が使用するマネージド ID。
  • CI/CD パイプラインで Web アプリを GitHub から Azure App Service にデプロイできるようにするために、開発者が使用するサービス プリンシパル。

ワークロード ID、その他のマシン ID、人間の ID

大まかに言えば、ID には人間の ID と機械/人間以外の ID の 2 種類があります。 ワークロード ID とデバイス ID は、マシン (または人間以外) の ID と呼ばれるグループを構成します。 ワークロード ID はソフトウェア ワークロードを表し、デバイス ID はデスクトップ コンピューター、モバイル、IoT センサー、IoT マネージド デバイスなどのデバイスを表します。 マシン ID は、従業員 (社内労働者、現場従業員) や外部ユーザー (顧客、コンサルタント、ベンダー、パートナー) などの人々を表す人間の ID とは異なります。

さまざまな種類のマシンおよび人間の ID を示す図。

ワークロード ID をセキュリティで保護する必要性

重要なタスクを完了するために、ソリューションはますます人間以外のエンティティに依存しており、人間以外の ID の数は劇的に増えています。 最近のサイバー攻撃は、敵対者が人間の ID よりも人間以外の ID を標的にする傾向が強くなっていることを示しています。

人間のユーザーは、通常、幅広いリソースにアクセスするために使用される 1 つの ID を持っています。 人間のユーザーとは異なり、ソフトウェア ワークロードでは複数の資格情報を処理して異なるリソースにアクセスする場合があり、それらの資格情報を安全に格納する必要があります。 また、ワークロード ID がいつ作成されるかや、いつ取り消されるかを追跡することは困難です。 ワークロード ID のセキュリティ保護は困難なため、企業にはアプリケーションやサービスが悪用されたり侵害されたりするリスクがあります。

ワークロード ID のセキュリティ保護の問題点を示す図。

現在市販されているほとんどの ID およびアクセス管理ソリューションは、ワークロード ID ではなく、人間の ID のセキュリティ保護にのみ焦点を当てています。 Microsoft Entra のワークロード ID は、ワークロード ID をセキュリティで保護するときにこれらの問題を解決するのに役立ちます。

主なシナリオ

ワークロード ID を使用できる方法は次のとおりです。

アダプティブ ポリシーを使用してアクセスをセキュリティで保護する:

侵害された ID をインテリジェントに検出する:

  • Identity Protection を使用して、リスク (漏洩した資格情報など) を検出し、脅威を阻止し、ワークロード ID に対するリスクを軽減します。

ライフサイクル管理を単純化する:

  • マネージド ID を使用して、Azure で実行されるワークロードのシークレットを管理することなく、Microsoft Entra ID で保護されたリソースにアクセスします。
  • GitHub Actions、Kubernetes で実行されているワークロード、または Azure の外部のコンピューティング プラットフォームで実行されているワークロードなど、サポートされているシナリオにワークロード ID フェデレーションを使用してシークレットを管理することなく、Microsoft Entra ID で保護されたリソースにアクセスします。
  • サービス プリンシパルのアクセス レビューを使用して、Microsoft Entra ID の特権ディレクトリ ロールに割り当てられたサービス プリンシパルとアプリケーションを確認します。

次のステップ