Access
AccessAI ControlsMcpPortals
resource cloudflare_zero_trust_access_ai_controls_mcp_portal
optional
cloudflare_zero_trust_access_ai_controls_mcp_portal
resource "cloudflare_zero_trust_access_ai_controls_mcp_portal" "example_zero_trust_access_ai_controls_mcp_portal" {
account_id = "a86a8f5c339544d7bdc89926de14fb8c"
id = "my-mcp-portal"
hostname = "exmaple.com"
name = "My MCP Portal"
allow_code_mode = true
description = "This is my custom MCP Portal"
secure_web_gateway = false
servers = [{
server_id = "my-mcp-server"
default_disabled = true
on_behalf = true
updated_prompts = [{
name = "name"
alias = "my-custom-alias"
description = "description"
enabled = true
}]
updated_tools = [{
name = "name"
alias = "my-custom-alias"
description = "description"
enabled = true
}]
}]
}
data cloudflare_zero_trust_access_ai_controls_mcp_portal
cloudflare_zero_trust_access_ai_controls_mcp_portal
data "cloudflare_zero_trust_access_ai_controls_mcp_portal" "example_zero_trust_access_ai_controls_mcp_portal" {
account_id = "a86a8f5c339544d7bdc89926de14fb8c"
id = "my-mcp-portal"
}
data cloudflare_zero_trust_access_ai_controls_mcp_portals
optional
cloudflare_zero_trust_access_ai_controls_mcp_portals
data "cloudflare_zero_trust_access_ai_controls_mcp_portals" "example_zero_trust_access_ai_controls_mcp_portals" {
account_id = "a86a8f5c339544d7bdc89926de14fb8c"
search = "search"
}
AccessAI ControlsMcpServers
resource cloudflare_zero_trust_access_ai_controls_mcp_server
cloudflare_zero_trust_access_ai_controls_mcp_server
resource "cloudflare_zero_trust_access_ai_controls_mcp_server" "example_zero_trust_access_ai_controls_mcp_server" {
account_id = "a86a8f5c339544d7bdc89926de14fb8c"
id = "my-mcp-server"
auth_type = "unauthenticated"
hostname = "https://example.com/mcp"
name = "My MCP Server"
auth_credentials = "auth_credentials"
description = "This is one remote mcp server"
}
data cloudflare_zero_trust_access_ai_controls_mcp_server
cloudflare_zero_trust_access_ai_controls_mcp_server
data "cloudflare_zero_trust_access_ai_controls_mcp_server" "example_zero_trust_access_ai_controls_mcp_server" {
account_id = "a86a8f5c339544d7bdc89926de14fb8c"
id = "my-mcp-server"
}
data cloudflare_zero_trust_access_ai_controls_mcp_servers
cloudflare_zero_trust_access_ai_controls_mcp_servers
data "cloudflare_zero_trust_access_ai_controls_mcp_servers" "example_zero_trust_access_ai_controls_mcp_servers" {
account_id = "a86a8f5c339544d7bdc89926de14fb8c"
search = "search"
}
AccessInfrastructureTargets
resource cloudflare_zero_trust_access_infrastructure_target
required
cloudflare_zero_trust_access_infrastructure_target
resource "cloudflare_zero_trust_access_infrastructure_target" "example_zero_trust_access_infrastructure_target" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
hostname = "infra-access-target"
ip = {
ipv4 = {
ip_addr = "187.26.29.249"
virtual_network_id = "c77b744e-acc8-428f-9257-6878c046ed55"
}
ipv6 = {
ip_addr = "64c0:64e8:f0b4:8dbf:7104:72b0:ec8f:f5e0"
virtual_network_id = "c77b744e-acc8-428f-9257-6878c046ed55"
}
}
}
data cloudflare_zero_trust_access_infrastructure_target
cloudflare_zero_trust_access_infrastructure_target
data "cloudflare_zero_trust_access_infrastructure_target" "example_zero_trust_access_infrastructure_target" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
target_id = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
}
data cloudflare_zero_trust_access_infrastructure_targets
optional
Filters for targets whose IP addresses look like the specified string.
Supports * as a wildcard character
Defines an IPv4 filter range's ending value (inclusive). Requires
ipv4_start to be specified as well.
Defines an IPv4 filter range's starting value (inclusive). Requires
ipv4_end to be specified as well.
Defines an IPv6 filter range's ending value (inclusive). Requires
ipv6_start to be specified as well.
Defines an IPv6 filter range's starting value (inclusive). Requires
ipv6_end to be specified as well.
Filters for targets that have any of the following IP addresses. Specify
ips multiple times in query parameter to build list of candidates.
cloudflare_zero_trust_access_infrastructure_targets
data "cloudflare_zero_trust_access_infrastructure_targets" "example_zero_trust_access_infrastructure_targets" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
created_after = "2019-12-27T18:11:19.117Z"
created_before = "2019-12-27T18:11:19.117Z"
direction = "asc"
hostname = "hostname"
hostname_contains = "hostname_contains"
ip_like = "ip_like"
ip_v4 = "ip_v4"
ip_v6 = "ip_v6"
ips = ["string"]
ipv4_end = "ipv4_end"
ipv4_start = "ipv4_start"
ipv6_end = "ipv6_end"
ipv6_start = "ipv6_start"
modified_after = "2019-12-27T18:11:19.117Z"
modified_before = "2019-12-27T18:11:19.117Z"
order = "hostname"
target_ids = ["182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"]
virtual_network_id = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
}
AccessApplicationsCAs
resource cloudflare_zero_trust_access_short_lived_certificate
optional
cloudflare_zero_trust_access_short_lived_certificate
resource "cloudflare_zero_trust_access_short_lived_certificate" "example_zero_trust_access_short_lived_certificate" {
app_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
zone_id = "zone_id"
}
data cloudflare_zero_trust_access_short_lived_certificate
optional
cloudflare_zero_trust_access_short_lived_certificate
data "cloudflare_zero_trust_access_short_lived_certificate" "example_zero_trust_access_short_lived_certificate" {
app_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
account_id = "account_id"
zone_id = "zone_id"
}
data cloudflare_zero_trust_access_short_lived_certificates
optional
cloudflare_zero_trust_access_short_lived_certificates
data "cloudflare_zero_trust_access_short_lived_certificates" "example_zero_trust_access_short_lived_certificates" {
account_id = "account_id"
zone_id = "zone_id"
}
AccessCertificates
resource cloudflare_zero_trust_access_mtls_certificate
optional
cloudflare_zero_trust_access_mtls_certificate
resource "cloudflare_zero_trust_access_mtls_certificate" "example_zero_trust_access_mtls_certificate" {
certificate = <<EOT
-----BEGIN CERTIFICATE-----
MIIGAjCCA+qgAwIBAgIJAI7kymlF7CWT...N4RI7KKB7nikiuUf8vhULKy5IX10
DrUtmu/B
-----END CERTIFICATE-----
EOT
name = "Allow devs"
zone_id = "zone_id"
associated_hostnames = ["admin.example.com"]
}
data cloudflare_zero_trust_access_mtls_certificate
optional
cloudflare_zero_trust_access_mtls_certificate
data "cloudflare_zero_trust_access_mtls_certificate" "example_zero_trust_access_mtls_certificate" {
certificate_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
account_id = "account_id"
zone_id = "zone_id"
}
data cloudflare_zero_trust_access_mtls_certificates
optional
cloudflare_zero_trust_access_mtls_certificates
data "cloudflare_zero_trust_access_mtls_certificates" "example_zero_trust_access_mtls_certificates" {
account_id = "account_id"
zone_id = "zone_id"
}
AccessCertificatesSettings
resource cloudflare_zero_trust_access_mtls_hostname_settings
optional
computed
Request client certificates for this hostname in China. Can only be set to true if this zone is china network enabled.
cloudflare_zero_trust_access_mtls_hostname_settings
resource "cloudflare_zero_trust_access_mtls_hostname_settings" "example_zero_trust_access_mtls_hostname_settings" {
settings = [{
china_network = false
client_certificate_forwarding = true
hostname = "admin.example.com"
}]
zone_id = "zone_id"
}
data cloudflare_zero_trust_access_mtls_hostname_settings
optional
computed
Request client certificates for this hostname in China. Can only be set to true if this zone is china network enabled.
cloudflare_zero_trust_access_mtls_hostname_settings
data "cloudflare_zero_trust_access_mtls_hostname_settings" "example_zero_trust_access_mtls_hostname_settings" {
account_id = "account_id"
zone_id = "zone_id"
}
AccessGroups
resource cloudflare_zero_trust_access_group
optional
cloudflare_zero_trust_access_group
resource "cloudflare_zero_trust_access_group" "example_zero_trust_access_group" {
include = [{
group = {
id = "aa0a4aab-672b-4bdb-bc33-a59f1130a11f"
}
}]
name = "Allow devs"
zone_id = "zone_id"
exclude = [{
group = {
id = "aa0a4aab-672b-4bdb-bc33-a59f1130a11f"
}
}]
is_default = true
require = [{
group = {
id = "aa0a4aab-672b-4bdb-bc33-a59f1130a11f"
}
}]
}
data cloudflare_zero_trust_access_group
optional
cloudflare_zero_trust_access_group
data "cloudflare_zero_trust_access_group" "example_zero_trust_access_group" {
group_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
account_id = "account_id"
zone_id = "zone_id"
}
data cloudflare_zero_trust_access_groups
optional
cloudflare_zero_trust_access_groups
data "cloudflare_zero_trust_access_groups" "example_zero_trust_access_groups" {
account_id = "account_id"
zone_id = "zone_id"
name = "name"
search = "search"
}
AccessService Tokens
resource cloudflare_zero_trust_access_service_token
optional
The expiration of the previous client_secret. This can be modified at any point after a rotation. For example, you may extend it further into the future if you need more time to update services with the new secret; or move it into the past to immediately invalidate the previous token in case of compromise.
cloudflare_zero_trust_access_service_token
resource "cloudflare_zero_trust_access_service_token" "example_zero_trust_access_service_token" {
name = "CI/CD token"
zone_id = "zone_id"
client_secret_version = 0
duration = "60m"
previous_client_secret_expires_at = "2014-01-01T05:20:00.12345Z"
}
data cloudflare_zero_trust_access_service_token
optional
computed
The Client ID for the service token. Access will check for this value in the CF-Access-Client-ID request header.
cloudflare_zero_trust_access_service_token
data "cloudflare_zero_trust_access_service_token" "example_zero_trust_access_service_token" {
service_token_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
account_id = "account_id"
zone_id = "zone_id"
}
data cloudflare_zero_trust_access_service_tokens
optional
cloudflare_zero_trust_access_service_tokens
data "cloudflare_zero_trust_access_service_tokens" "example_zero_trust_access_service_tokens" {
account_id = "account_id"
zone_id = "zone_id"
name = "name"
search = "search"
}
AccessKeys
resource cloudflare_zero_trust_access_key_configuration
required
cloudflare_zero_trust_access_key_configuration
resource "cloudflare_zero_trust_access_key_configuration" "example_zero_trust_access_key_configuration" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
key_rotation_interval_days = 30
}
data cloudflare_zero_trust_access_key_configuration
cloudflare_zero_trust_access_key_configuration
data "cloudflare_zero_trust_access_key_configuration" "example_zero_trust_access_key_configuration" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
AccessCustom Pages
resource cloudflare_zero_trust_access_custom_page
required
cloudflare_zero_trust_access_custom_page
resource "cloudflare_zero_trust_access_custom_page" "example_zero_trust_access_custom_page" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
custom_html = "<html><body><h1>Access Denied</h1></body></html>"
name = "name"
type = "identity_denied"
}
data cloudflare_zero_trust_access_custom_page
cloudflare_zero_trust_access_custom_page
data "cloudflare_zero_trust_access_custom_page" "example_zero_trust_access_custom_page" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
custom_page_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
}
data cloudflare_zero_trust_access_custom_pages
cloudflare_zero_trust_access_custom_pages
data "cloudflare_zero_trust_access_custom_pages" "example_zero_trust_access_custom_pages" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
AccessTags
AccessPolicies
resource cloudflare_zero_trust_access_policy
required
optional
Requires the user to request access from an administrator at the start of each session.
Require this application to be served in an isolated browser for users matching this policy. 'Client Web Isolation' must be on for the account in order to use this feature.
A custom message that will appear on the purpose justification screen.
Require users to enter a justification when they log in to the application.
cloudflare_zero_trust_access_policy
resource "cloudflare_zero_trust_access_policy" "example_zero_trust_access_policy" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
decision = "allow"
include = [{
group = {
id = "aa0a4aab-672b-4bdb-bc33-a59f1130a11f"
}
}]
name = "Allow devs"
approval_groups = [{
approvals_needed = 1
email_addresses = ["test1@cloudflare.com", "test2@cloudflare.com"]
email_list_uuid = "email_list_uuid"
}, {
approvals_needed = 3
email_addresses = ["test@cloudflare.com", "test2@cloudflare.com"]
email_list_uuid = "597147a1-976b-4ef2-9af0-81d5d007fc34"
}]
approval_required = true
connection_rules = {
rdp = {
allowed_clipboard_local_to_remote_formats = ["text"]
allowed_clipboard_remote_to_local_formats = ["text"]
}
}
exclude = [{
group = {
id = "aa0a4aab-672b-4bdb-bc33-a59f1130a11f"
}
}]
isolation_required = false
mfa_config = {
allowed_authenticators = ["totp", "biometrics", "security_key"]
mfa_disabled = false
session_duration = "24h"
}
purpose_justification_prompt = "Please enter a justification for entering this protected domain."
purpose_justification_required = true
require = [{
group = {
id = "aa0a4aab-672b-4bdb-bc33-a59f1130a11f"
}
}]
session_duration = "24h"
}
data cloudflare_zero_trust_access_policy
computed
Requires the user to request access from an administrator at the start of each session.
The action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action.
Require this application to be served in an isolated browser for users matching this policy. 'Client Web Isolation' must be on for the account in order to use this feature.
A custom message that will appear on the purpose justification screen.
Require users to enter a justification when they log in to the application.
cloudflare_zero_trust_access_policy
data "cloudflare_zero_trust_access_policy" "example_zero_trust_access_policy" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
policy_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
}
data cloudflare_zero_trust_access_policies
cloudflare_zero_trust_access_policies
data "cloudflare_zero_trust_access_policies" "example_zero_trust_access_policies" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
}