すべての 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 構造体で定義されます。 組み込みロールは次のとおりです。
- AppConfigurationBuiltInRole.AppConfigurationDataOwner
- AppConfigurationBuiltInRole.AppConfigurationDataReader
Azure アプリ コンテナー
プロビジョニング リソースの種類は ContainerAppされ、組み込みロールは AppContainersBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。
Azure Application Insights
プロビジョニング リソースの種類は ApplicationInsightsComponentされ、組み込みロールは ApplicationInsightsBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。
- ApplicationInsightsBuiltInRole.ApplicationInsightsComponentContributor
- ApplicationInsightsBuiltInRole.ApplicationInsightsSnapshotDebugger
- ApplicationInsightsBuiltInRole.MonitoringContributor
- ApplicationInsightsBuiltInRole.MonitoringMetricsPublisher
- ApplicationInsightsBuiltInRole.MonitoringReader
- ApplicationInsightsBuiltInRole.WorkbookContributor
- ApplicationInsightsBuiltInRole.WorkbookReader
詳細については、「Application Insights テレメトリにAspireを使用する」を参照してください。
Azure AI (旧称 Cognitive Services)
プロビジョニング リソースの種類は CognitiveServicesAccountされ、組み込みロールは CognitiveServicesBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。
- CognitiveServicesBuiltInRole.AzureAIDeveloper
- CognitiveServicesBuiltInRole.AzureAIEnterpriseNetworkConnectionApprover
- CognitiveServicesBuiltInRole.AzureAIInferenceDeploymentOperator
- CognitiveServicesBuiltInRole.CognitiveServicesContributor
- CognitiveServicesBuiltInRole.CognitiveServicesCustomVisionContributor
- CognitiveServicesBuiltInRole.CognitiveServicesCustomVisionDeployment
- CognitiveServicesBuiltInRole.CognitiveServicesCustomVisionLabeler
- CognitiveServicesBuiltInRole.CognitiveServicesCustomVisionReader
- CognitiveServicesBuiltInRole.CognitiveServicesCustomVisionTrainer
- CognitiveServicesBuiltInRole.CognitiveServicesDataReader
- CognitiveServicesBuiltInRole.CognitiveServicesFaceRecognizer
- CognitiveServicesBuiltInRole.CognitiveServicesMetricsAdvisorAdministrator
- CognitiveServicesBuiltInRole.CognitiveServicesOpenAIContributor
- CognitiveServicesBuiltInRole.CognitiveServicesOpenAIUser
- CognitiveServicesBuiltInRole.CognitiveServicesOpenAIUser
- CognitiveServicesBuiltInRole.CognitiveServicesQnAMakerEditor
- CognitiveServicesBuiltInRole.CognitiveServicesQnAMakerReader
- CognitiveServicesBuiltInRole.CognitiveServicesUsagesReader
- CognitiveServicesBuiltInRole.CognitiveServicesUser
詳細については、「 AspireAzureOpenAI 統合 (プレビュー)」を参照してください。
Azure Cosmos DB
プロビジョニング リソースの種類は CosmosDBAccountされ、組み込みロールは CosmosDBBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。
- CosmosDBBuiltInRole.CosmosDBOperator
- CosmosDBBuiltInRole.CosmosBackupOperator
- CosmosDBBuiltInRole.CosmosRestoreOperator
詳細については、以下を参照してください。
Azure Event Hubs
プロビジョニング リソースの種類は EventHubsNamespaceされ、組み込みロールは EventHubsBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。
- EventHubsBuiltInRole.AzureEventHubsDataOwner
- EventHubsBuiltInRole.AzureEventHubsDataReceiver
- EventHubsBuiltInRole.AzureEventHubsDataSender
- EventHubsBuiltInRole.SchemaRegistryContributor
- EventHubsBuiltInRole.SchemaRegistryReader
詳細については、「 AspireAzure Event Hubs 統合」を参照してください。
Azure Key Vault
プロビジョニング リソースの種類は KeyVaultServiceされ、組み込みロールは KeyVaultBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。
- KeyVaultBuiltInRole.KeyVaultAdministrator
- KeyVaultBuiltInRole.KeyVaultCertificatesOfficer
- KeyVaultBuiltInRole.KeyVaultCertificateUser
- KeyVaultBuiltInRole.KeyVaultContributor
- KeyVaultBuiltInRole.KeyVaultCryptoOfficer
- KeyVaultBuiltInRole.KeyVaultCryptoServiceEncryptionUser
- KeyVaultBuiltInRole.KeyVaultCryptoServiceReleaseUser
- KeyVaultBuiltInRole.KeyVaultCryptoUser
- KeyVaultBuiltInRole.KeyVaultDataAccessAdministrator
- KeyVaultBuiltInRole.KeyVaultDataAccessAdministrator
- KeyVaultBuiltInRole.KeyVaultReader
- KeyVaultBuiltInRole.KeyVaultSecretsOfficer
- KeyVaultBuiltInRole.KeyVaultSecretsUser
- KeyVaultBuiltInRole.ManagedHsmContributor
詳細については、「 AspireAzure Key Vault 統合」を参照してください。
Azure AI 検索
プロビジョニング リソースの種類は SearchServiceされ、組み込みロールは SearchBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。
- SearchBuiltInRole.SearchIndexDataContributor
- SearchBuiltInRole.SearchIndexDataReader
- SearchBuiltInRole.SearchServiceContributor
詳細については、「ai Search の統合AspireAzure」を参照してください。
Azure Service Bus
プロビジョニング リソースの種類は ServiceBusNamespaceされ、組み込みロールは ServiceBusBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。
- ServiceBusBuiltInRole.AzureServiceBusDataOwner
- ServiceBusBuiltInRole.AzureServiceBusDataReceiver
- ServiceBusBuiltInRole.AzureServiceBusDataSender
詳細については、「 AspireAzure Service Bus 統合」を参照してください。
Azure SignalR Service
プロビジョニング リソースの種類は SignalRServiceされ、組み込みロールは SignalRBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。
- SignalRBuiltInRole.SignalRAccessKeyReader
- SignalRBuiltInRole.SignalRAppServer
- SignalRBuiltInRole.SignalRContributor
- SignalRBuiltInRole.SignalRRestApiOwner
- SignalRBuiltInRole.SignalRRestApiReader
- SignalRBuiltInRole.SignalRServiceOwner
詳細については、AspireAzureAzure SignalR Serviceサポートを参照してください。
Azure SQL
プロビジョニング リソースの種類は SqlServerされ、組み込みロールは SqlBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。
- SqlBuiltInRole.AzureConnectedSqlServerOnboarding
- SqlDBContributor
- SqlBuiltInRole.SqlManagedInstanceContributor
- SqlBuiltInRole.SqlSecurityManager
- SqlBuiltInRole.SqlServerContributor
Azure ストレージ
プロビジョニング リソースの種類は StorageAccountされ、組み込みロールは StorageBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。
- StorageBuiltInRole.ClassicStorageAccountContributor
- StorageBuiltInRole.ClassicStorageAccountKeyOperatorServiceRole
- StorageBuiltInRole.StorageAccountBackupContributor
- StorageBuiltInRole.StorageAccountContributor
- StorageBuiltInRole.StorageAccountKeyOperatorServiceRole
- StorageBuiltInRole.StorageBlobDataContributor
- StorageBuiltInRole.StorageBlobDataOwner
- StorageBuiltInRole.StorageBlobDataReader
- StorageBuiltInRole.StorageBlobDelegator
- StorageBuiltInRole.StorageFileDataPrivilegedContributor
- StorageBuiltInRole.StorageFileDataPrivilegedReader
- StorageBuiltInRole.StorageFileDataSmbShareContributor
- StorageBuiltInRole.StorageFileDataSmbShareElevatedContributor
- StorageBuiltInRole.StorageFileDataSmbShareReader
- StorageBuiltInRole.StorageQueueDataContributor
- StorageBuiltInRole.StorageQueueDataMessageProcessor
- StorageBuiltInRole.StorageQueueDataMessageSender
- StorageBuiltInRole.StorageQueueDataReader
- StorageBuiltInRole.StorageTableDataContributor
- StorageBuiltInRole.StorageTableDataReader
詳細については、以下を参照してください。
Azure Web PubSub
プロビジョニング リソースの種類は WebPubSubServiceされ、組み込みロールは WebPubSubBuiltInRole 構造体で定義されます。 組み込みロールは次のとおりです。
- WebPubSubBuiltInRole.WebPubSubContributor
- WebPubSubBuiltInRole.WebPubSubServiceOwner
- WebPubSubBuiltInRole.WebPubSubServiceReader
詳細については、「 AspireAzureWeb PubSub 統合」を参照してください。
こちらもご覧ください
Aspire