Vincular inquilino B2C existente a través de la CLI de Azure

Dec 01 2020

¿Cómo vincular un inquilino B2C existente mediante programación a través de la CLI de Azure? Ejecutando esta línea:

az resource create --resource-group <rg> --resource-type Microsoft.AzureActiveDirectory/b2cDirectories --name <tenant>.onmicrosoft.com --location Europe --properties "{\"tenantId\": \"<tenantId>\", \"sku\": { \"name\": \"Standard\", \"tier\": \"A0\" } }"

Vuelve BadRequestError: The 'sku' property is required for creating a b2c directory resourcepero está ahí

El "Recurso de enlace B2C" de ARM tiene este aspecto:

{
   "type": "Microsoft.AzureActiveDirectory/b2cDirectories",
   "apiVersion": "2017-01-30",
   "name": "[parameters('name')]",
   "location": "[parameters('location')]",
   "tags": {},
   "sku": {
      "name": "Standard",
      "tier": "A0"
   },
   "properties": {
      "tenantId": "[parameters('tenantId')]"
   }
}

Más información:

  • He probado diferentes variaciones con respecto a la parte de sku , como omitirlo por completo o moverlo como un parámetro dedicado, --sku Standardetc., pero ninguno de ellos parece funcionar
  • Eliminar un enlace existente a través de az resource delete --ids /subscriptions/<subscriptionId>/resourceGroups/<rg>/providers/Microsoft.AzureActiveDirectory/b2cDirectories/<tenant>.onmicrosoft.comfunciona perfectamente bien
  • ¿Porqué necesitamos esto? Automatizamos nuestro despliegue de infraestructura con Terraform. Somos conscientes de las limitaciones que automatizan a los inquilinos B2C (consulte aquí , aquí o aquí ), por lo que nuestro objetivo es eliminar / agregar el enlace b2c a través de la canalización para al menos mantener la suscripción limpia al destruir / aplicar infra.
  • Vincular un inquilino B2C existente a través de Azure Portal tiene este aspecto

Cualquier consejo apreciado. ¡Gracias por tu ayuda!

Respuestas

SatyaV Dec 02 2020 at 14:31

No creo que la CLI de Azure actualmente pueda tener la capacidad de administrar inquilinos B2C.

Como ya sabe, se ha realizado una discusión detallada https://github.com/Azure/azure-cli/issues/12058

Otro enfoque programático:

Había capturado Fiddler Traces para comprender el flujo o el punto final responsable. Pude señalar el siguiente punto final. Estaba comprobando la creación de un nuevo inquilino de Azure B2C.

PUT https://management.azure.com/subscriptions/SUBSCRIBTION/resourceGroups/RESOURCEGROUP/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contosoorganiztion.onmicrosoft.com?api-version=2019-01-01-preview

{"location":"United States","sku":{"name":"Standard","tier":"A0"},"properties":{"createTenantProperties":{"displayName":"Contoso Organization","countryCode":"US"}}}

Sin embargo, no pude marcar la opción "Enlace al inquilino existente" (para su requisito) al final debido a los permisos en mi extremo. Pero supongo que debería haber un punto final similar responsable de lo mismo. Puede capturar seguimientos de Fiddler con Https descifrado (o cualquier herramienta que ayude a capturar el tráfico HTTPS descifrado), tratando de vincular un inquilino existente para comprender el punto final y el cuerpo de la solicitud.

Nota :

Tenga en cuenta que esta API / punto final no es compatible y está sujeta a cambios, por lo que no se recomienda para entornos de producción:

Necesitará un token de acceso para llegar al punto final.

Para obtener el token, el identificador de recurso de Azure Portal sería: 74658136-14ec-4630-ad9b-26e160ff0fc6

az account get-access-token --resource 74658136-14ec-4630-ad9b-26e160ff0fc6