Bridge to Kubernetes でマネージド ID を使用する

AKS クラスターでマネージド ID セキュリティ機能を使用してシークレットとリソースへのアクセスをセキュリティで保護している場合、Bridge to Kubernetes には、これらの機能を使用できるように特別な構成が必要です。 ローカル実行およびデバッグが適切に保護されるようにするには Microsoft Entra トークンをローカル コンピューターにダウンロードする必要があり、これには Bridge to Kubernetes での特別な構成が必要となります。 この記事では、Bridge to Kubernetes を構成して、マネージド ID を使用するサービスと連携させる方法について説明します。

マネージド 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 リソースにアクセスする方法の詳細については、次のチュートリアルを参照してください。

そのセクションには、他の Azure リソースにアクセスするためにマネージド ID を使用する他のチュートリアルもあります。

関連項目

Microsoft Entra ID