クラウドベースのサービス アカウントのセキュリティ保護
Microsoft Entra ID のネイティブなサービス アカウントには、マネージ ID、サービス プリンシパル、ユーザーベースのサービス アカウントの 3 種類があります。 サービス アカウントは、アプリケーション、API、その他のサービスなどの人間以外のエンティティを表すことを目的とした特別な種類のアカウントです。 これらのエンティティは、サービス アカウントによって提供されるセキュリティ コンテキスト内で動作します。
Microsoft Entra サービス アカウントのタイプ
Azure でホストされるサービスでは、可能であればマネージ ID を使用し、そうでない場合はサービス プリンシパルを使用することをお勧めします。 マネージド ID は、Azure の外部でホストされているサービスには使用できません。 その場合は、サービス プリンシパルをお勧めします。 マネージド ID またはサービス プリンシパルを使用できる場合は、それらを使用してください。 サービス アカウントとして Microsoft Entra ユーザー アカウントを使用しないことをお勧めします。 概要については、次の表を参照してください。
サービスのホスト | マネージド ID | サービス プリンシパル | Azure ユーザー アカウント |
---|---|---|---|
サービスは Azure でホストされている。 | はい。 サービスでマネージド ID が サポートされる場合に推奨。 |
はい。 | 非推奨。 |
サービスは Azure でホストされていない。 | いいえ | はい。 推奨。 | 非推奨。 |
サービスはマルチテナントである | いいえ | はい。 推奨。 | いいえ。 |
マネージド ID
マネージド ID は、Azure リソースに ID を提供するために作成される、セキュリティで保護された Microsoft Entra ID です。 マネージド ID には次の 2 種類があります。
システムによって割り当てられたマネージド ID は、サービスのインスタンスに直接割り当てることができます。
ユーザーが割り当てたマネージド ID は、スタンドアロン リソースとして作成できます。
詳細については、マネージド ID のセキュリティ保護に関するページを参照してください。 マネージド ID の一般的な情報については、「Azure リソースのマネージド ID とは」を参照してください。
サービス プリンシパル
アプリケーションを表すためにマネージド ID を使用できない場合は、サービス プリンシパルを使用します。 サービス プリンシパルは、シングル テナント アプリケーションとマルチテナント アプリケーションの両方で使用できます。
サービス プリンシパルは、単一の Microsoft Entra テナント内のアプリケーション オブジェクトをローカルに表現したものです。 アプリケーション インスタンスの ID として機能し、アプリケーションにアクセスできるユーザーと、アプリケーションでアクセスできるリソースが定義されます。 サービス プリンシパルは、アプリケーションが使用される各テナントで (ローカルに) 作成され、グローバルに一意なアプリケーション オブジェクトが参照されます。 テナントでは、サービス プリンシパルのサインインとリソースへのアクセスがセキュリティで保護されます。
サービス プリンシパルを使用した認証には、2 つのメカニズム (クライアント証明書とクライアント シークレット) があります。 証明書のほうがより安全です。可能な場合は、クライアント証明書を使用してください。 クライアント シークレットとは異なり、クライアント証明書が誤ってコードに埋め込まれることはありません。
サービス プリンシパルのセキュリティ保護の詳細については、サービス プリンシパルのセキュリティ保護に関するページを参照してください。
次のステップ
Azure サービス アカウントのセキュリティ保護の詳細については、次を参照してください。