收集所需数据后,需要完成以下步骤以完成 Entra 配置。
- 前往 Entra 管理中心并选择 Applications(应用程序) > Enterprise applications(企业应用程序)。
- 在 Microsoft Entra Gallery 中,选择 New application(新建应用程序) > Create your own application(创建您自己的应用程序),然后选择名称。
- 选择 Integrate any other application you don't find in the gallery (Non-gallery)(集成库中没有的其他任何应用程序(非库))。
- Create(创建) 应用。
- 在新创建的应用中,从侧边栏菜单的 Manage(管理) 下选择 Provisioning(预配)。
- 选择 New configuration(新建配置) 并输入 Tenant URL(租户 URL):
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/scim/v2。将<ACCOUNT_ID>替换为您自己的账户 ID。 - 将 SCIM 配置 API 令牌值粘贴为 Secret token(密钥令牌)。
- 选择 Test Connection(测试连接),然后 Save(保存) 配置。
- 在新创建的应用中,从侧边栏菜单的 Manage(管理) 下导航到 Users and groups(用户和组)。
- 将用户和组分配给应用 ↗。
- 分配用户后,在侧边栏菜单导航到 Provisioning(预配) 并选择 Start provisioning(开始预配)。
- 要验证哪些用户和组已同步,在侧边栏菜单导航到 Provisioning logs(预配日志)。您还可以查看 Cloudflare Audit Logs。
Cloudflare 的 SCIM 集成每个账户需要一个外部应用。拥有多个账户的客户可能希望自动化部分设置以节省时间,并减少在 Entra 管理 UI 中花费的时间。
创建非库应用并添加配置 URL 和 API 密钥的初始设置可通过 API 脚本化,但其余设置取决于您的具体需求和 IdP 配置。
1. 获取访问令牌
获取 Entra 访问令牌。请注意,以下示例使用 Azure CLI。
# Using azure-cli
az login
az account get-access-token --resource https://graph.microsoft.com
(payload with accessToken returned)2. 通过模板创建新应用。
模板 ID 8adf8e6e-67b2-4cf2-a259-e3dc5476c621 是 Entra 文档中建议用于创建非库应用的模板。将 <accessToken> 和 displayName 替换为您的值。
curl -X POST 'https://graph.microsoft.com/v1.0/applicationTemplates/8adf8e6e-67b2-4cf2-a259-e3dc5476c621/instantiate' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <accessToken>' \
--data-raw '{
"displayName": "Entra API create application test"
}'{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.applicationServicePrincipal",
"application": {
"id": "343a8552-f9d9-471c-b677-d37062117cc8", //
"appId": "03d8207b-e837-4be9-b4e6-180492eb3b61",
"applicationTemplateId": "8adf8e6e-67b2-4cf2-a259-e3dc5476c621",
"createdDateTime": "2025-01-30T00:37:44Z",
"deletedDateTime": null,
"displayName": "Entra API create application test",
"description": null,
// ... snipped rest of large application payload
},
"servicePrincipal": {
"id": "a8cb133d-f841-4eb9-8bc9-c8e9e8c0d417", // Note this ID for the subsequent request
"deletedDateTime": null,
"accountEnabled": true,
"appId": "03d8207b-e837-4be9-b4e6-180492eb3b61",
"applicationTemplateId": "8adf8e6e-67b2-4cf2-a259-e3dc5476c621",
"appDisplayName": "Entra API create application test",
// ...snipped rest of JSON payload
}
}3. 创建配置作业
要启用配置,您还需要创建作业。请注意,上一个请求中的 SERVICE_PRINCIPAL_ID 将在以下请求中使用。SCIM templateId 是 Entra 提供的模板。
curl -X POST 'https://graph.microsoft.com/v1.0/servicePrincipals/<SERVICE_PRINCIPAL_ID>/synchronization/jobs' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <accessToken>' \
--data-raw '{
"templateId": "scim"
}'{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#servicePrincipals('a8cb133d-f841-4eb9-8bc9-c8e9e8c0d417')/synchronization/jobs/$entity",
"id": "scim.5b223a2cc249463bbd9a791550f11c76.03d8207b-e837-4be9-b4e6-180492eb3b61",
"templateId": "scim",
"schedule": {
"expiration": null,
"interval": "PT40M",
"state": "Disabled"
},
}
// ... snipped rest of JSON payload4. 配置 SCIM 配置 URL 和 API 令牌
接下来,配置 Tenant URL(Cloudflare SCIM 端点)和 API 令牌(SCIM Provisioning API Token)。
将 <accessToken>、<ACCOUNT_ID>、<SCIM_PROVISIONING_API_TOKEN_VALUE> 替换为您的值。
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <accessToken>' \
--data-raw '{
"value": [
{
"key": "BaseAddress",
"value": "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/scim/v2"
},
{
"key": "SecretToken",
"value": "<SCIM_PROVISIONING_API_TOKEN_VALUE>"
}
]
}'完成上述任务后,Entra 中的后续步骤包括:
- 其他组/配置设置
- 更新配置后测试并保存。
- 配置完成后开始配置