Bridge to Kubernetes でマネージド ID を使用する
手記
Bridge to Kubernetes は、2025 年 4 月 30 日に廃止されます。 提供終了とオープンソースの代替方法の詳細については、GitHub の問題を参照してください。
AKS クラスター マネージド ID セキュリティ機能を使用してシークレットとリソースへのアクセスをセキュリティで保護する場合、Bridge to Kubernetes では、これらの機能を使用できるようにするために特別な構成が必要です。 ローカルの実行とデバッグが適切にセキュリティで保護されるように、Microsoft Entra トークンをローカル コンピューターにダウンロードする必要があり、これには Bridge to Kubernetes の特別な構成が必要です。 この記事では、マネージド ID を使用するサービスを操作するように Bridge to Kubernetes を構成する方法について説明します。
マネージド ID を使用するようにサービスを構成する方法
マネージド ID をサポートするローカル コンピューターを有効にするには、KubernetesLocalConfig.yaml ファイルの enableFeatures
セクションで、ManagedIdentity
を追加します。 enableFeatures
セクションがまだ存在しない場合は追加します。
enableFeatures:
- ManagedIdentity
警告
Microsoft Entra トークンはローカル コンピューターにフェッチされ、潜在的なセキュリティ リスクが発生するため、運用クラスターではなく開発クラスターを操作する場合は、Bridge to Kubernetes のマネージド ID のみを使用してください。
KubernetesLocalConfig.yaml ファイルがない場合は、作成できます。「方法: Bridge to Kubernetesを構成する」を参照してください。
Microsoft Entra トークンを取得する方法
トークンをフェッチするときに、コード内の Azure.Identity.DefaultAzureCredential
または Azure.Identity.ManagedIdentityCredential
に依存していることを確認する必要があります。
次の C# コードは、ManagedIdentityCredential
を使用するときにストレージ アカウントの資格情報をフェッチする方法を示しています。
var credential = new ManagedIdentityCredential(miClientId);
Console.WriteLine("Created credential");
var containerClient = new BlobContainerClient(new Uri($"https://{accountName}.blob.windows.net/{containerName}"), credential);
Console.WriteLine("Created blob client");
次のコードは、DefaultAzureCredential を使用するときにストレージ アカウントの資格情報をフェッチする方法を示しています。
var credential = new DefaultAzureCredential();
Console.WriteLine("Created credential");
var containerClient = new BlobContainerClient(new Uri($"https://{accountName}.blob.windows.net/{containerName}"), credential);
Console.WriteLine("Created blob client");
マネージド ID を使用して他の Azure リソースにアクセスする方法については、「次の手順」セクションを参照してください。
トークンがダウンロードされたときに Azure アラートを受信する
サービスで Bridge to Kubernetes を使用するたびに、Microsoft Entra トークンがローカル コンピューターにダウンロードされます。 Azure アラートを有効にして、これが発生したときに通知を受け取ることができます。 詳細については、「Azure Defenderを有効にする」を参照してください。 30日間の試用期間を過ぎると料金が発生しますのでご注意ください。
次の手順
マネージド ID を使用する AKS クラスターと連携するように Bridge to Kubernetes を構成したので、通常どおりデバッグできます。 [bridge-to-kubernetes.md#connect-to-your-cluster-and-debug-a-service] を参照してください。
マネージド ID を使用して Azure リソースにアクセスする方法の詳細については、次のチュートリアルを参照してください。
- チュートリアル: Linux VM のシステム割り当てマネージド ID を使用して Azure Storage にアクセスする
- チュートリアル: Linux VM のシステム割り当てマネージド ID を使用して Azure Data Lake Store にアクセスする
- チュートリアル: Linux VM のシステム割り当てマネージド ID を使用して Azure Key Vault にアクセスする
このセクションには、マネージド ID を使用して他の Azure リソースにアクセスするための他のチュートリアルもあります。