Połącz istniejącą dzierżawę B2C za pośrednictwem interfejsu wiersza polecenia platformy Azure
Jak programowo połączyć istniejącą dzierżawę B2C za pośrednictwem interfejsu wiersza polecenia platformy Azure? Uruchomienie tej linii:
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\" } }"
Wraca, BadRequestError: The 'sku' property is required for creating a b2c directory resource
ale jest
„Zasób łącza B2C” ARM wygląda następująco:
{
"type": "Microsoft.AzureActiveDirectory/b2cDirectories",
"apiVersion": "2017-01-30",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"tags": {},
"sku": {
"name": "Standard",
"tier": "A0"
},
"properties": {
"tenantId": "[parameters('tenantId')]"
}
}
Dalsza informacja:
- Próbowałem różnych wariacji dotyczących części SKU, takich jak całkowite pominięcie jej lub przeniesienie jej jako dedykowanego parametru
--sku Standard
itp., Ale żadna z nich nie działa - Usunięcie istniejącego linku za pośrednictwem
az resource delete --ids /subscriptions/<subscriptionId>/resourceGroups/<rg>/providers/Microsoft.AzureActiveDirectory/b2cDirectories/<tenant>.onmicrosoft.com
działa doskonale - Dlaczego tego potrzebujemy? Automatyzujemy nasze wdrażanie infra za pomocą Terraform. Jesteśmy świadomi ograniczeń automatyzujących dzierżawców B2C (patrz tutaj , tutaj lub tutaj ), więc staramy się usunąć / dodać łącze b2c za pośrednictwem potoku, aby przynajmniej zachować czystość subskrypcji podczas niszczenia / stosowania infra.
- Łączenie istniejącej dzierżawy B2C za pośrednictwem Azure Portal wygląda następująco
Wszelkie rady mile widziane. Dzięki za pomoc!
Odpowiedzi
Nie sądzę, aby interfejs wiersza polecenia platformy Azure obecnie umożliwia zarządzanie dzierżawcami B2C.
Jak już wiesz, została przeprowadzona szczegółowa dyskusja https://github.com/Azure/azure-cli/issues/12058
Inne podejście zautomatyzowane:
Przechwyciłem Fiddler Traces, aby zrozumieć przepływ / lub punkt końcowy, który jest za to odpowiedzialny. Udało mi się wskazać poniższy punkt końcowy. Sprawdzałem utworzenie nowej dzierżawy 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"}}}
Jednak po mojej stronie nie mogłem zaznaczyć opcji „Link do istniejącego najemcy” (na żądanie) ze względu na moje uprawnienia. Ale zakładam, że powinien istnieć podobny punkt końcowy odpowiedzialny za to samo. Możesz przechwycić ślady Fiddlera z odszyfrowanym protokołem HTTPS (lub dowolnym narzędziem, które pomoże przechwycić odszyfrowany ruch HTTPS), próbując połączyć istniejącą dzierżawę w celu zrozumienia punktu końcowego i treści żądania.
Uwaga :
Należy pamiętać, że ten interfejs API / punkt końcowy nie jest obsługiwany i może ulec zmianie, dlatego nie jest zalecany w środowiskach produkcyjnych:
Aby dotrzeć do punktu końcowego, będziesz potrzebować tokena dostępu.
Aby uzyskać token, identyfikator zasobu Azure Portal byłby następujący: 74658136-14ec-4630-ad9b-26e160ff0fc6
az account get-access-token --resource 74658136-14ec-4630-ad9b-26e160ff0fc6