You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure.ResourceManager或其他NuGet包程序化创建Azure B2C租户

可以通过Azure.ResourceManager NuGet包程序化创建Azure B2C租户,无需依赖REST API

完全可以借助Azure官方的Azure.ResourceManager系列NuGet包实现程序化创建Azure B2C租户,不用直接调用REST API。这类SDK封装了底层的Azure管理API,更贴合.NET开发习惯,代码可读性和维护性也更好。

实现步骤:

  • 安装依赖包
    你需要安装两个核心NuGet包:

    dotnet add package Azure.ResourceManager
    dotnet add package Azure.ResourceManager.AzureB2C
    
  • 配置权限
    用于执行创建操作的服务主体必须具备Microsoft.AzureActiveDirectory/tenants/write权限(属于Azure AD权限范畴),或者被分配租户级别的全局管理员角色(更精细的自定义角色也可以,按需配置)。

  • 代码示例
    以下是一个基础的.NET代码示例,演示如何通过SDK创建B2C租户:

    using Azure.Identity;
    using Azure.ResourceManager;
    using Azure.ResourceManager.AzureB2C;
    using Azure.ResourceManager.AzureB2C.Models;
    
    // 初始化ArmClient,通过DefaultAzureCredential完成认证(支持环境变量、托管标识等多种认证方式)
    var armClient = new ArmClient(new DefaultAzureCredential());
    
    // 指定目标订阅ID
    var subscriptionId = Guid.Parse("你的订阅ID");
    var subscription = armClient.GetSubscriptionResource(subscriptionId);
    
    // 构建B2C租户创建参数
    var tenantCreationParams = new B2CTenantData(AzureLocation.EastUs, "unique-tenant-name", "your-tenant-domain.onmicrosoft.com")
    {
        Sku = new B2CTenantSku(B2CTenantSkuName.PremiumP1)
    };
    
    // 发起创建请求,等待操作完成
    var createOperation = await subscription.GetB2CTenants().CreateOrUpdateAsync(WaitUntil.Completed, "tenant-resource-name", tenantCreationParams);
    var createdTenant = createOperation.Value;
    
    // 输出租户信息
    Console.WriteLine($"B2C租户创建完成,名称:{createdTenant.Data.Name},ID:{createdTenant.Data.Id}");
    

关键注意事项:

  • 租户名称和域名必须全局唯一,.onmicrosoft.com后缀的域名会自动验证可用性,自定义域名需要提前完成验证流程
  • 创建B2C租户是异步耗时操作,代码中要确保等待操作完成(示例中用WaitUntil.Completed)
  • 服务主体的权限必须配置正确,否则会返回403权限不足的错误
  • 不同区域的B2C租户支持情况不同,选择Azure官方文档中列出的支持区域

内容的提问来源于stack exchange,提问作者Persistent13

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 21:30:05