我尝试使用 Windows 上的 gitbash 中运行的 Azure CLI 启用表(使用 KQL 查询)。我的目的是为 AzureB2C 租户启用登录日志。
az monitor diagnostic-settings create \
--name "SignInLogsSetting" \
--resource "/subscriptions/xxxx9c77-29f3-4b22-ba74-762dae90xxxx/resourceGroups/rg-mycompany-myportal/providers/Microsoft.AADIAM/diagnosticSettings" \
--logs '[{"category": "SignInLogs", "enabled": true}]' \
--workspace "/subscriptions/xxxx9c77-29f3-4b22-ba74-762dae90xxxx/resourcegroups/rg-mycompany-myportal/providers/microsoft.operationalinsights/workspaces/mystuff-dev-loganalytics-ws"
我收到以下错误:
usage error: --resource ID | --resource NAME --resource-group NAME --resource-type TYPE [--resource-parent PARENT] [--resource-namespace NAMESPACE]
我的 CLI 语句有什么问题?以及如何解决这个问题?
出现该错误是由于中的
resource ID
资源格式不正确
--resource
参数。
--resource
格式应为:
--resource "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
检查并修改如下:
在 CLI 代码中,资源类型提供为
diagnosticSettings
,但此处缺少资源名称。
并检查API
"diagnostic Settings"
版本中何时引入了AADIAM
。在少数情况下,早期的预览版本将无法工作。
确保
Microsoft.AADIAM
资源提供程序在 Azure AD B2C 中的资源提供程序下正确注册。
修改后的 CLI 代码应如下所示:
az monitor diagnostic-settings create \
--name "SignInLogsSetting" \
--resource "/subscriptions/xxxx/resourceGroups/xxxx/providers/Microsoft.AADIAM/tenants/tenantName/resourceName" \
--logs '[{"category": "SignInLogs, "enabled": true}]' \
--workspace "/subscriptions/xxxx/resourceGroups/xxx/providers/Microsoft.OperationalInsights/workspaces/newws"
我尝试按照上述资源格式创建示例诊断设置,并成功,如图所示。
az monitor diagnostic-settings create \
--name <Name> \
--resource /subscriptions/xxxx/resourceGroups/xxxx/providers/Microsoft.KeyVault/vaults/newva \
--logs '[{"category": "AuditEvent","enabled": true}]' \
--metrics '[{"category": "AllMetrics","enabled": true}]' \
--storage-account /subscriptions/xxxx/resourcegroups/xxxx/providers/Microsoft.Storage/storageAccounts/newstrj \
--workspace /subscriptions/xxxx/resourcegroups/xxx/providers/microsoft.operationalinsights/workspaces/newwsjy
输出:
请参阅 MSDoc 了解更多相关信息。