命名空间:microsoft.graph
创建新的 webApplicationFirewallProvider 对象。 可以创建派生自 webApplicationFirewallProvider 的以下子类型之一。
此 API 可用于以下国家级云部署。
| 全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
| ✅ |
❌ |
❌ |
❌ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
| 权限类型 |
最低特权权限 |
更高特权权限 |
| 委派(工作或学校帐户) |
RiskPreventionProviders.ReadWrite.All |
不可用。 |
| 委派(个人 Microsoft 帐户) |
不支持。 |
不支持。 |
| 应用程序 |
RiskPreventionProviders.ReadWrite.All |
不可用。 |
重要
在具有工作或学校帐户的委派方案中,必须为管理员分配受支持的Microsoft Entra角色或具有受支持角色权限的自定义角色。 此作支持以下最低特权角色:
- 外部 ID用户流管理员
- 应用程序管理员
- 安全管理员
HTTP 请求
POST /identity/riskPrevention/webApplicationFirewallProviders
| 名称 |
说明 |
| Authorization |
持有者 {token}。 必填。 详细了解 身份验证和授权。 |
| Content-Type |
application/json. 必需。 |
请求正文
在请求正文中,提供 webApplicationFirewallProvider 对象的 JSON 表示形式。
创建 webApplicationFirewallProvider 时,可以指定以下属性。 必须指定 @odata.type 属性才能指定要创建的 webApplicationFirewallProvider 的类型;例如 。 @odata.type": "microsoft.graph.AkamaiWebApplicationFirewallProvider"
| 属性 |
类型 |
说明 |
| displayName |
String |
此 WAF 提供程序配置的显示名称。 支持所有提供程序。 必填。 继承自 webApplicationFirewallProvider。 |
| accessToken |
String |
用于向 Akamai 帐户进行身份验证的 Akamai API 访问令牌。 请联系 Akamai 客户成功经理,获取有关 accessToken 的帮助。 仅 Akamai 支持。 必填。 |
| clientSecret |
字符串 |
Akamai API 客户端密码与用于身份验证的客户端令牌和访问令牌结合使用。 请联系 Akamai 客户成功经理获取此信息的帮助。 仅 Akamai 支持。 必填。 |
| clientToken |
String |
用于向 Akamai 帐户进行身份验证的 Akamai API 客户端令牌。 请联系 Akamai 客户成功经理获取此信息的帮助。 仅 Akamai 支持。 必填。 |
| hostPrefix |
String |
用于标识 Akamai 配置作中的主机或域的前缀。 某些 API 调用或配置方案可能需要此值。 仅 Akamai 支持。 必填。 |
| apiToken |
String |
Microsoft服务用来向 Cloudflare 帐户进行身份验证的 Cloudflare API 令牌或凭据。 请联系 Cloudflare 客户成功经理,获取 apitoken 的帮助。 仅支持 Cloudflare。 必填。 |
| zoneId |
String |
与此提供程序配置关联的默认 Cloudflare 区域 ID。 此 ID 标识 Cloudflare 中通常用于提供程序的验证和配置作的 DNS 区域。 仅支持 Cloudflare。 必填。 |
响应
如果成功,此方法在 201 Created 响应正文中返回响应代码和 webApplicationFirewallProvider 对象。
示例
示例 1:创建新的 AkamaiWebApplicationFirewallProvider 对象
请求
以下示例显示了一个请求。
POST https://graph.microsoft.com/v1.0/identity/riskPrevention/webApplicationFirewallProviders
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.akamaiWebApplicationFirewallProvider",
"displayName": "Akamai Provider Example",
"hostPrefix": "akab-exampleprefix",
"clientSecret": "akamai_example_secret_123",
"clientToken": "akamai_example_token_456",
"accessToken": "akamai_example_token_789"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new AkamaiWebApplicationFirewallProvider
{
OdataType = "#microsoft.graph.akamaiWebApplicationFirewallProvider",
DisplayName = "Akamai Provider Example",
HostPrefix = "akab-exampleprefix",
ClientSecret = "akamai_example_secret_123",
ClientToken = "akamai_example_token_456",
AccessToken = "akamai_example_token_789",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Identity.RiskPrevention.WebApplicationFirewallProviders.PostAsync(requestBody);
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewWebApplicationFirewallProvider()
displayName := "Akamai Provider Example"
requestBody.SetDisplayName(&displayName)
hostPrefix := "akab-exampleprefix"
requestBody.SetHostPrefix(&hostPrefix)
clientSecret := "akamai_example_secret_123"
requestBody.SetClientSecret(&clientSecret)
clientToken := "akamai_example_token_456"
requestBody.SetClientToken(&clientToken)
accessToken := "akamai_example_token_789"
requestBody.SetAccessToken(&accessToken)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
webApplicationFirewallProviders, err := graphClient.Identity().RiskPrevention().WebApplicationFirewallProviders().Post(context.Background(), requestBody, nil)
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
AkamaiWebApplicationFirewallProvider webApplicationFirewallProvider = new AkamaiWebApplicationFirewallProvider();
webApplicationFirewallProvider.setOdataType("#microsoft.graph.akamaiWebApplicationFirewallProvider");
webApplicationFirewallProvider.setDisplayName("Akamai Provider Example");
webApplicationFirewallProvider.setHostPrefix("akab-exampleprefix");
webApplicationFirewallProvider.setClientSecret("akamai_example_secret_123");
webApplicationFirewallProvider.setClientToken("akamai_example_token_456");
webApplicationFirewallProvider.setAccessToken("akamai_example_token_789");
WebApplicationFirewallProvider result = graphClient.identity().riskPrevention().webApplicationFirewallProviders().post(webApplicationFirewallProvider);
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const webApplicationFirewallProvider = {
'@odata.type': '#microsoft.graph.akamaiWebApplicationFirewallProvider',
displayName: 'Akamai Provider Example',
hostPrefix: 'akab-exampleprefix',
clientSecret: 'akamai_example_secret_123',
clientToken: 'akamai_example_token_456',
accessToken: 'akamai_example_token_789'
};
await client.api('/identity/riskPrevention/webApplicationFirewallProviders')
.post(webApplicationFirewallProvider);
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\AkamaiWebApplicationFirewallProvider;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AkamaiWebApplicationFirewallProvider();
$requestBody->setOdataType('#microsoft.graph.akamaiWebApplicationFirewallProvider');
$requestBody->setDisplayName('Akamai Provider Example');
$requestBody->setHostPrefix('akab-exampleprefix');
$requestBody->setClientSecret('akamai_example_secret_123');
$requestBody->setClientToken('akamai_example_token_456');
$requestBody->setAccessToken('akamai_example_token_789');
$result = $graphServiceClient->identity()->riskPrevention()->webApplicationFirewallProviders()->post($requestBody)->wait();
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.akamai_web_application_firewall_provider import AkamaiWebApplicationFirewallProvider
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AkamaiWebApplicationFirewallProvider(
odata_type = "#microsoft.graph.akamaiWebApplicationFirewallProvider",
display_name = "Akamai Provider Example",
host_prefix = "akab-exampleprefix",
client_secret = "akamai_example_secret_123",
client_token = "akamai_example_token_456",
access_token = "akamai_example_token_789",
)
result = await graph_client.identity.risk_prevention.web_application_firewall_providers.post(request_body)
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
响应
以下示例显示了相应的响应。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identity/riskPrevention/webApplicationFirewallProviders/$entity",
"@odata.type": "#microsoft.graph.akamaiWebApplicationFirewallProvider",
"id": "00000000-0000-0000-0000-000000000002",
"displayName": "Akamai Provider Example",
"hostPrefix": "akab-exampleprefix"
}
示例 2:创建新的 cloudFlareWebApplicationFirewallProvider 对象
请求
以下示例演示了创建新的 Cloudflare WAF 对象的请求。
POST https://graph.microsoft.com/v1.0/identity/riskPrevention/webApplicationFirewallProviders
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.cloudFlareWebApplicationFirewallProvider",
"displayName": "Cloudflare Provider Example",
"zoneId": "11111111111111111111111111111111",
"apiToken": "cf_example_token_123"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new CloudFlareWebApplicationFirewallProvider
{
OdataType = "#microsoft.graph.cloudFlareWebApplicationFirewallProvider",
DisplayName = "Cloudflare Provider Example",
ZoneId = "11111111111111111111111111111111",
ApiToken = "cf_example_token_123",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Identity.RiskPrevention.WebApplicationFirewallProviders.PostAsync(requestBody);
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewWebApplicationFirewallProvider()
displayName := "Cloudflare Provider Example"
requestBody.SetDisplayName(&displayName)
zoneId := "11111111111111111111111111111111"
requestBody.SetZoneId(&zoneId)
apiToken := "cf_example_token_123"
requestBody.SetApiToken(&apiToken)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
webApplicationFirewallProviders, err := graphClient.Identity().RiskPrevention().WebApplicationFirewallProviders().Post(context.Background(), requestBody, nil)
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
CloudFlareWebApplicationFirewallProvider webApplicationFirewallProvider = new CloudFlareWebApplicationFirewallProvider();
webApplicationFirewallProvider.setOdataType("#microsoft.graph.cloudFlareWebApplicationFirewallProvider");
webApplicationFirewallProvider.setDisplayName("Cloudflare Provider Example");
webApplicationFirewallProvider.setZoneId("11111111111111111111111111111111");
webApplicationFirewallProvider.setApiToken("cf_example_token_123");
WebApplicationFirewallProvider result = graphClient.identity().riskPrevention().webApplicationFirewallProviders().post(webApplicationFirewallProvider);
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const webApplicationFirewallProvider = {
'@odata.type': '#microsoft.graph.cloudFlareWebApplicationFirewallProvider',
displayName: 'Cloudflare Provider Example',
zoneId: '11111111111111111111111111111111',
apiToken: 'cf_example_token_123'
};
await client.api('/identity/riskPrevention/webApplicationFirewallProviders')
.post(webApplicationFirewallProvider);
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\CloudFlareWebApplicationFirewallProvider;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CloudFlareWebApplicationFirewallProvider();
$requestBody->setOdataType('#microsoft.graph.cloudFlareWebApplicationFirewallProvider');
$requestBody->setDisplayName('Cloudflare Provider Example');
$requestBody->setZoneId('11111111111111111111111111111111');
$requestBody->setApiToken('cf_example_token_123');
$result = $graphServiceClient->identity()->riskPrevention()->webApplicationFirewallProviders()->post($requestBody)->wait();
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.cloud_flare_web_application_firewall_provider import CloudFlareWebApplicationFirewallProvider
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CloudFlareWebApplicationFirewallProvider(
odata_type = "#microsoft.graph.cloudFlareWebApplicationFirewallProvider",
display_name = "Cloudflare Provider Example",
zone_id = "11111111111111111111111111111111",
api_token = "cf_example_token_123",
)
result = await graph_client.identity.risk_prevention.web_application_firewall_providers.post(request_body)
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
响应
以下示例演示 Cloudflare WAF 对象的响应。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identity/riskPrevention/webApplicationFirewallProviders/$entity",
"@odata.type": "#microsoft.graph.cloudFlareWebApplicationFirewallProvider",
"id": "00000000-0000-0000-0000-000000000001",
"displayName": "Cloudflare Provider Example",
"zoneId": "11111111111111111111111111111111"
}