次の方法で共有


Azureロールの割り当てを管理する

すべての AspireAzure ホスティング統合は、 Azure リソースを定義します。 これらのリソース には、既定のロールの割り当てが付属しています。 これらの既定のロールの割り当ては、組み込みのロール またはカスタム ロールの割り当てに置き換えることができます。 この記事では、Azure リソースのAspire ロールの割り当てを管理する方法について説明します。

既定の組み込みロールの割り当て

Azure リソースをアプリ モデルに追加すると、既定のロールが割り当てられます。 リソースが別のリソースに依存している場合は、明示的にオーバーライドされない限り、参照先のリソースと同じロールの割り当てが継承されます。

API プロジェクト リソースが Azure Search リソースを参照するシナリオを考えてみましょう。 次の例に示すように、API プロジェクトには既定のロールの割り当てが与えられます。

var builder = DistributedApplication.CreateBuilder(args);

var search = builder.AddAzureSearch("search");

var api = builder.AddProject<Projects.Api>("api")
                 .WithReference(search);

このコード例では、 api プロジェクト リソースは Azuresearch リソースに依存しています。つまり、 search リソースを参照しています。 既定では、 search リソースには次の組み込みロールが割り当てられます。

これらのロールの割り当てにより、API プロジェクトは、 Azure Search リソースへのデータの読み取りと書き込みを行い、それを管理できます。 ただし、この動作は常に望ましいとは限りません。 たとえば、 Azure Search リソースからのデータのみを読み取る API プロジェクトを制限できます。

既定のロールの割り当てをオーバーライドする

既定のロールの割り当てをオーバーライドするには、次の例に示すように 、WithRoleAssignments API を 使用し、組み込みのロールを割り当てます。

var builder = DistributedApplication.CreateBuilder(args);

var search = builder.AddAzureSearch("search");

var api = builder.AddProject<Projects.Api>("api")
                 .WithRoleAssignments(search, SearchBuiltInRole.SearchIndexDataReader)
                 .WithReference(search);

WithRoleAssignmentsメソッドを使用すると、既定のロールの割り当てが指定したロールの割り当てに置き換えられます。 このメソッドには、ロールの割り当てを適用するリソースと割り当てる組み込みロールの 2 つのパラメーターが必要です。 前の例では、 search リソースに SearchBuiltInRole.SearchIndexDataReader ロールが割り当てられます。

既定のロールの割り当てを SearchIndexDataReader ロールに置き換えると、API プロジェクトは Azure Search リソースからのデータの読み取りのみに制限されます。 これにより、API プロジェクトが Azure Search リソースにデータを書き込めないようにします。

詳細については、「 Azure 組み込みロール」を参照してください。

組み込みのロールの割り当てリファレンス

すべての組み込みロールは、Azure.Provisioning名前空間内で定義され、対応する📦Azureプロビジョニング.* NuGet パッケージに含まれます。 各 AspireAzure ホスティング統合は、適切なプロビジョニング パッケージによって自動的に異なります。 詳細については、 カスタマイズされた Azure リソースを参照してください。

次のセクションでは、Azure API のパラメーターとして使用できるWithRoleAssignmentsプロビジョニングの種類ごとの組み込みロールの一覧を示します。

Azure アプリの構成

プロビジョニング リソースの種類は AppConfigurationStoreされ、組み込みロールは AppConfigurationBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。

Azure アプリ コンテナー

プロビジョニング リソースの種類は ContainerAppされ、組み込みロールは AppContainersBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。

Azure Application Insights

プロビジョニング リソースの種類は ApplicationInsightsComponentされ、組み込みロールは ApplicationInsightsBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。

詳細については、「Application Insights テレメトリにAspireを使用する」を参照してください。

Azure AI (旧称 Cognitive Services)

プロビジョニング リソースの種類は CognitiveServicesAccountされ、組み込みロールは CognitiveServicesBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。

詳細については、「 AspireAzureOpenAI 統合 (プレビュー)」を参照してください。

Azure Cosmos DB

プロビジョニング リソースの種類は CosmosDBAccountされ、組み込みロールは CosmosDBBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。

詳細については、以下を参照してください。

Azure Event Hubs

プロビジョニング リソースの種類は EventHubsNamespaceされ、組み込みロールは EventHubsBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。

詳細については、「 AspireAzure Event Hubs 統合」を参照してください。

Azure Key Vault

プロビジョニング リソースの種類は KeyVaultServiceされ、組み込みロールは KeyVaultBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。

詳細については、「 AspireAzure Key Vault 統合」を参照してください。

プロビジョニング リソースの種類は SearchServiceされ、組み込みロールは SearchBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。

詳細については、「ai Search の統合AspireAzure」を参照してください。

Azure Service Bus

プロビジョニング リソースの種類は ServiceBusNamespaceされ、組み込みロールは ServiceBusBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。

詳細については、「 AspireAzure Service Bus 統合」を参照してください。

Azure SignalR Service

プロビジョニング リソースの種類は SignalRServiceされ、組み込みロールは SignalRBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。

詳細については、AspireAzureAzure SignalR Serviceサポートを参照してください。

Azure SQL

プロビジョニング リソースの種類は SqlServerされ、組み込みロールは SqlBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。

Azure ストレージ

プロビジョニング リソースの種類は StorageAccountされ、組み込みロールは StorageBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。

詳細については、以下を参照してください。

Azure Web PubSub

プロビジョニング リソースの種類は WebPubSubServiceされ、組み込みロールは WebPubSubBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。

詳細については、「 AspireAzureWeb PubSub 統合」を参照してください。

こちらもご覧ください