Azure CLI를 통해 기존 B2C 테넌트 연결
Azure CLI를 통해 프로그래밍 방식으로 기존 B2C 테넌트를 연결하는 방법은 무엇입니까? 이 줄 실행 :
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\" } }"
반환 BadRequestError: The 'sku' property is required for creating a b2c directory resource
하지만 거기에
ARM "B2C 링크 리소스"는 다음과 같습니다.
{
"type": "Microsoft.AzureActiveDirectory/b2cDirectories",
"apiVersion": "2017-01-30",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"tags": {},
"sku": {
"name": "Standard",
"tier": "A0"
},
"properties": {
"tenantId": "[parameters('tenantId')]"
}
}
추가 정보 :
- 완전히 제외하거나 전용 매개 변수로 이동하는 등 sku 부분 에 대해 다른 변형을 시도
--sku Standard
했지만 아무것도 작동하지 않는 것 같습니다. - 을 통해 기존 링크를 제거하면
az resource delete --ids /subscriptions/<subscriptionId>/resourceGroups/<rg>/providers/Microsoft.AzureActiveDirectory/b2cDirectories/<tenant>.onmicrosoft.com
완벽하게 작동합니다. - 왜 이것이 필요한가요? Terraform을 사용하여 인프라 배포를 자동화합니다. 우리는 B2C 테넌트를 자동화하는 제한 사항을 알고 있으므로 ( 여기 , 여기 또는 여기 참조 ) 파이프 라인을 통해 b2c 링크를 제거 / 추가하여 인프라를 파괴 / 적용 할 때 구독을 깨끗하게 유지하는 것을 목표로합니다.
- Azure Portal을 통해 기존 B2C 테넌트를 연결하는 것은 다음과 같습니다.
조언을 부탁드립니다. 당신의 도움을 주셔서 감사합니다!
답변
현재 Azure CLI가 B2C 테넌트를 관리 할 수 있다고 생각하지 않습니다.
이미 알고 있듯이 자세한 논의가 있습니다. https://github.com/Azure/azure-cli/issues/12058
기타 프로그래밍 방식 :
흐름 / 또는 책임있는 끝점을 이해하기 위해 Fiddler Traces를 캡처했습니다. 아래 끝점을 가리킬 수있었습니다. 새 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"}}}
그러나 본인 측의 권한으로 인해 내 측에서 "기존 테넌트에 링크"(귀하의 요구 사항에 대해) 옵션을 확인할 수 없었습니다. 그러나 나는 동일한 책임을지는 유사한 종점이 있어야한다고 가정하고있다. Https가 해독 된 (또는 해독 된 HTTPS 트래픽을 캡처하는 데 도움이되는 도구) Fiddler 추적을 캡처하여 기존 테넌트를 연결하여 엔드 포인트와 요청 본문을 이해하려고 할 수 있습니다.
노트 :
이 API / 엔드 포인트는 지원되지 않으며 변경 될 수 있으므로 프로덕션 환경에 권장되지 않습니다.
엔드 포인트에 도달하려면 액세스 토큰이 필요합니다.
토큰을 얻으려면 Azure Portal의 리소스 ID는 다음과 같습니다 .74658136-14ec-4630-ad9b-26e160ff0fc6
az account get-access-token --resource 74658136-14ec-4630-ad9b-26e160ff0fc6