Azure Event Hubs へのアクセスを承認する
イベント ハブへのイベントの発行またはそこからのイベントの使用のたびに、クライアントは Event Hubs リソースにアクセスしようとします。 データの発行や使用に必要なアクセス許可がクライアントにあることをサービスが保証できるように、セキュリティで保護されたリソースに対するすべての要求が承認される必要があります。
Azure Event Hubs には、セキュリティで保護されたリソースへのアクセスを承認するための次のオプションが用意されています。
- Microsoft Entra ID
- 共有アクセス署名
注意
この記事は、Event Hubs と Apache Kafka の両方のシナリオを対象としています。
Microsoft Entra ID
Microsoft Entra と Event Hubs リソースを統合すると、リソースへのクライアントのアクセスをきめ細かく制御するため、Azure ロールベースのアクセス制御 (RBAC) が提供されます。 Azure RBAC を使用して、セキュリティ プリンシパル (ユーザー、グループ、またはアプリケーションのサービス プリンシパルが可能です) にアクセス許可を付与できます。 Microsoft Entra では、セキュリティ プリンシパルを認証して OAuth 2.0 トークンを返します。 トークンは、Event Hubs リソースにアクセスする要求を承認するために使用できます。
Microsoft Entra ID を使用した認証の詳細については、次の記事を参照してください。
- Microsoft Entra ID を使用して Azure Event Hubs への要求を認証する
- Microsoft Entra ID を使用して Event Hubs リソースへのアクセスを承認する。
共有アクセス署名
Event Hubs リソースの Shared Access Signature (SAS) では、Event Hubs リソースへの限定的な委任アクセスが提供されます。 署名が有効な期間または付与するアクセス許可に制約を追加すると、柔軟にリソースを管理できます。 詳細については、Shared Access Signature (SAS) を使用した認証に関する記事を参照してください。
Microsoft Entra ID によって返される OAuth 2.0 トークンを使用してユーザーまたはアプリケーションを承認すると、Shared Access Signature (SAS) よりも優れたセキュリティと使いやすさが提供されます。 Microsoft Entra ID を使用すれば、アクセス トークンをコードに保存する必要がないため、潜在的なセキュリティ脆弱性のリスクを排除できます。 引き続き Shared Access Signature (SAS) を使用して Event Hubs リソースへのきめ細かいアクセス許可を付与することはできますが、Microsoft Entra ID では同様の機能が提供され、SAS トークンを管理したり、侵害された SAS の取り消しを心配したりする必要がありません。
既定では、すべての Event Hubs リソースはセキュリティで保護されており、アカウント所有者のみが使用できます。 クライアントに Event Hubs リソースへのアクセスを許可するために、上記の承認戦略のいずれも使用できますが、 セキュリティと使いやすさを最大限にするために、可能な場合は Microsoft Entra ID を使用することをお勧めします。
SAS を使用した承認の詳細については、「Shared Access Signature を使用した Event Hubs リソースへのアクセスの承認」を参照してください。
次のステップ
- GitHub リポジトリに公開されている Azure RBAC のサンプルを参照してください。
- 次の記事をご覧ください。