From 20d8a5818fbe592beb7e1741fa56e003b0408929 Mon Sep 17 00:00:00 2001 From: asamborski Date: Fri, 20 Feb 2026 16:30:14 +0000 Subject: [PATCH 1/6] Add changelog for browser-based RDP clipboard controls Initial draft for clipboard control changelog --- ...7-browser-based-rdp-clipboard-controls.mdx | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/content/changelog/access/2026-02-17-browser-based-rdp-clipboard-controls.mdx diff --git a/src/content/changelog/access/2026-02-17-browser-based-rdp-clipboard-controls.mdx b/src/content/changelog/access/2026-02-17-browser-based-rdp-clipboard-controls.mdx new file mode 100644 index 000000000000000..4b0f5194676164f --- /dev/null +++ b/src/content/changelog/access/2026-02-17-browser-based-rdp-clipboard-controls.mdx @@ -0,0 +1,22 @@ +--- +title: Control clipboard access for browser-based RDP sessions +description: Configure whether users can copy or paste text between their local device and browser-based RDP sessions. +date: 2026-02-17 +products: + - access +--- + +Administrators can now control clipboard access for [browser-based RDP](/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser/) sessions. This feature addresses data exfiltration risks when users access Windows servers from unmanaged devices, such as personal laptops or contractor workstations. + +Clipboard controls are configured per [Access policy](/cloudflare-one/access-controls/policies/), allowing different user groups to have different levels of clipboard access to the same RDP application. You can independently allow or deny: + +- **Copy from local to remote**: Users can copy text from their local device and paste it into the browser-based RDP session. +- **Copy from remote to local**: Users can copy text from the browser-based RDP session and paste it to their local device. + +By default, clipboard access is denied in both directions for new policies. Existing RDP applications retain full clipboard access to preserve current user workflows. + +When users attempt a clipboard action that is not allowed, the clipboard content is replaced with a message explaining the restriction. + +To configure clipboard controls, go to **Access** > **Applications**, select your RDP application, and configure **Connection context** settings in the associated Access policy. + +For more information, refer to [Connect to RDP in a browser](/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser/). From 44daef6122772ee0314674725219bd36a0aac5af Mon Sep 17 00:00:00 2001 From: asamborski Date: Fri, 27 Feb 2026 16:33:43 -0800 Subject: [PATCH 2/6] Browser-based RDP clipboard control Changelog updates and dev docs --- .../access/rdp-clipboard-controls.png | Bin 0 -> 88125 bytes ...7-browser-based-rdp-clipboard-controls.mdx | 22 ---- .../2026-02-27-rdp-clipboard-controls.mdx | 26 ++++ .../access-controls/policies/index.mdx | 14 ++ .../use-cases/rdp/rdp-browser.mdx | 123 ++++++++++++++++-- 5 files changed, 151 insertions(+), 34 deletions(-) create mode 100644 src/assets/images/changelog/access/rdp-clipboard-controls.png delete mode 100644 src/content/changelog/access/2026-02-17-browser-based-rdp-clipboard-controls.mdx create mode 100644 src/content/changelog/access/2026-02-27-rdp-clipboard-controls.mdx diff --git a/src/assets/images/changelog/access/rdp-clipboard-controls.png b/src/assets/images/changelog/access/rdp-clipboard-controls.png new file mode 100644 index 0000000000000000000000000000000000000000..80ac84fb6a5d49905eafd2a164e0ebfc930bd876 GIT binary patch literal 88125 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 z zze!t=-jVO`9yt?-mnl#tIH$>klqw*FX52nwY`wLXSMmEzoXfHUIZabvds?CgeTv>7 z$e0+U?*-MM!bVwOfuMsWFmz&cM-2{J`Gy4tH zAG>pciyGL~qJSmvsZj^xJIyJ@DV4$G*z;Q3Gp5I({aAoqav34VU1cw={3=|AG;dUu zV-Wfjr}r9>sn+&j8nbcXh+GGE8+X&}v*ObkT%Hl4u;vySW%o5WL zE@K?mYj;>8X^ket5>c7^bi{d6mN3ukH*FC6D-=hV)mm!QGFqmnbqv|vSswS$jcYuN z;suZ@Fbhu*8E^3_n|8`2eJ*J^SIBuYWxlY~+s@@eg}zX!v(+`;{Xtv^ocQj7sPlb% zNXP2&`HIYIgPGcM;sik%jFcMR{JvO9QJNE1vObRAQGa`o&ed_OFDXuUyAJPh2dU4| zoazADRJi4*8Wzgifm7D23|+WZ?HQ@))Jl|OX%qrQs> zYG@a}W5{m5tHkihp0$65UUYao@kqnoq#RSv(#?(4aL7Zv+Ih_iUzx5T$#6e}dKOmERIOUhwK?<&>)9&{9J7SG*KR9Y zAL-I@M9!-2`?QKd1uA~r%hiq(UF@^1u$+t^Ip*$E6U9Y~s57RE%%^oTQh8c4AO~$! zWBtiCU1EE0rhL7c7U!zP%t_>NDwBE1FsRXAA38?o)jxid5Cm>g+F~xt*ul4ai059c9kWc~z>fhTK|NJvuJro}L?9yhZaVW*Rpn9r%nvDPL2sbdPyiAwz%%q4Qd zVNcOr1eLvHMAzb7T(W#Fqq`6W-9GXTaHdIxvY=9ll~&rqIWm0CG*v8*ls^WJ);^!M#EH@>=+!m`gYXO5eyeqDwhRZ-Ma{de z^NINDE{=E9^=BgVvx}Qb9x$|?Zd_Qr$DQ|1bu=osFCHRWd`<}`K`Gyntudlc7a5@1 zEsY6S*A;lCn6AGeahST9%Kp^Sh_7mXko81z@Dg@ppR4~ZI`O`OLWw;r5`7MO*s+e) z`(;fDlr;jDX^ZW$rKEO2SLk+3UV7zTl)v=ai)u=Ntd8=#&34xA!rQmJW+t_W+tkmn)d}?HrFi@MX-l$A%!knz0xNrQWM<6+F zY{#;Ei*0}eIhe9=oGwqKb3F#Mh@H?Wf&q50a5%LSN7>L}3*G-zW983jTjBGj#s~Il z5Y9QDYR9SYGN-*E)+&4DAeJz$vEbI=jPLq0i9T55-V1djkBVL+%u$Y;C~9@z72K

-|+7KxEV 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 hyL`Vo0kC|VyUyWQv_iCN5=h|RW!bA2urfF9{vU **Applications**, select your RDP application, and configure **Connection context** settings in the associated Access policy. - -For more information, refer to [Connect to RDP in a browser](/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser/). diff --git a/src/content/changelog/access/2026-02-27-rdp-clipboard-controls.mdx b/src/content/changelog/access/2026-02-27-rdp-clipboard-controls.mdx new file mode 100644 index 000000000000000..bf7d175ca7024d5 --- /dev/null +++ b/src/content/changelog/access/2026-02-27-rdp-clipboard-controls.mdx @@ -0,0 +1,26 @@ +--- +title: Clipboard controls for browser-based RDP +description: Administrators can now restrict copy and paste actions between a user's local machine and their browser-based RDP session. +date: 2026-02-27 +products: + - access +--- + +You can now configure clipboard controls for browser-based RDP with Cloudflare Access. Clipboard controls allow administrators to restrict whether users can copy or paste text between their local machine and the remote Windows server. + +![Enable users to copy and paste content from their local machine to remote RDP sessions in the Cloudflare One dashboard](~/assets/images/changelog/access/rdp-clipboard-controls.png) + +This feature is useful for organizations that support bring-your-own-device (BYOD) policies or third-party contractors using unmanaged devices. By restricting clipboard access, you can prevent sensitive data from being transferred out of the remote session to a user's personal device. + +## Configuration options + +Clipboard controls are configured per policy within your Access application. For each policy, you can independently allow or deny: + +- **Copy from local client to remote RDP session** — Users can copy/paste text from their local machine into the browser-based RDP session. +- **Copy from remote RDP session to local client** — Users can copy/paste text from the browser-based RDP session to their local machine. + +By default, both directions are denied for new policies. For existing Access applications created before this feature was available, clipboard access remains enabled to preserve backwards compatibility. + +When a user attempts a restricted clipboard action, the clipboard content is replaced with an error message informing them that the action is not allowed. + +For more information, refer to [Configure clipboard controls for browser-based RDP](/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser/#configure-clipboard-controls). diff --git a/src/content/docs/cloudflare-one/access-controls/policies/index.mdx b/src/content/docs/cloudflare-one/access-controls/policies/index.mdx index 0e5335a30c3ab2f..e433e706e911edb 100644 --- a/src/content/docs/cloudflare-one/access-controls/policies/index.mdx +++ b/src/content/docs/cloudflare-one/access-controls/policies/index.mdx @@ -17,6 +17,7 @@ An Access policy consists of an **Action** as well as rules which determine the - [Actions](#actions) - [Rule types](#rule-types) - [Selectors](#selectors) +- [Connection context](#connection-context) ## Actions @@ -166,6 +167,19 @@ of initial sign on and when reissuing the SaaS session. Once the user has authenticated to the SaaS app, session management falls solely within the purview of the SaaS app. +## Connection context + +Connection context settings allow you to control how users interact with an application after they have been granted access. While [selectors](#selectors) determine who can access an application, connection context settings determine what actions users can take during their session. + +Connection context is configured per policy, allowing you to grant different permissions to different groups of users. For example, you could allow full-time employees to copy data from a remote RDP session while restricting contractors to read-only access. + +The available connection context settings depend on the application type: + +| Application type | Available settings | +| --- | --- | +| [Infrastructure (SSH)](/cloudflare-one/access-controls/applications/non-http/infrastructure-apps/) | Allowed UNIX usernames | +| [Browser-based RDP](/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser/#configure-clipboard-controls) | Clipboard controls (copy/paste restrictions) | + ## Order of execution Policies are evaluated based on their action type and ordering. Bypass and Service Auth policies are evaluated first, from top to bottom as shown in the UI. Then, Block and Allow policies are evaluated based on their order. diff --git a/src/content/docs/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser.mdx b/src/content/docs/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser.mdx index 37713219a4b541b..2c5fb847540b448 100644 --- a/src/content/docs/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser.mdx +++ b/src/content/docs/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser.mdx @@ -6,7 +6,7 @@ sidebar: label: Browser-based RDP --- -import { Render, GlossaryTooltip, Details } from "~/components"; +import { Render, GlossaryTooltip, Details, Tabs, TabItem, APIRequest } from "~/components"; Users can connect to an RDP server without installing an RDP client or the [WARP client](/cloudflare-one/team-and-resources/devices/warp/) on their device. Browser-based RDP leverages [Cloudflare Tunnel](/cloudflare-one/networks/connectors/cloudflare-tunnel/), which creates a secure, outbound-only connection from your RDP server to Cloudflare's global network. Setup involves running the `cloudflared` daemon on the RDP server (or any other host machine within the private network) and routing RDP traffic over a public hostname. @@ -109,29 +109,30 @@ The DNS record does not need to point to an active destination IP address or hos 12. - -13. +13. (Optional) [Configure clipboard controls](#configure-clipboard-controls) to restrict copy and paste actions between the user's local machine and the browser-based RDP session. + +14. -14. Select **Next**. +15. Select **Next**. -15. (Recommended) Turn on **Show application in App Launcher** and configure [App Launcher settings](/cloudflare-one/access-controls/access-settings/app-launcher/) for the application. The App Launcher allows users to view the Windows servers that they can access using browser-based RDP. Without the App Launcher, users will need to know each target's direct URL. +16. (Recommended) Turn on **Show application in App Launcher** and configure [App Launcher settings](/cloudflare-one/access-controls/access-settings/app-launcher/) for the application. The App Launcher allows users to view the Windows servers that they can access using browser-based RDP. Without the App Launcher, users will need to know each target's direct URL. :::note Ensure that users match an Allow rule in your [App Launcher policies](/cloudflare-one/access-controls/access-settings/app-launcher/#enable-the-app-launcher). ::: -16. +17. -17. Select **Next**. +18. Select **Next**. -18. -19. Select **Save**. +20. Select **Save**. ## 5. (Recommended) Modify order of precedence in Gateway @@ -168,11 +169,109 @@ To connect to a Windows machine over RDP: ::: 4. Select the port that you want to connect to. The port selection screen only appears if the Access application allows RDP traffic on multiple ports (for example, port `3389` and port `65321`). -5. (Optional) In your browser settings, allow the Access application to access the clipboard. Clipboard permissions grant the ability to copy or paste text between the local machine and the remote Windows machine. +5. (Optional) In your browser settings, allow the Access application to access the clipboard. Clipboard access is subject to [policy restrictions](#configure-clipboard-controls) configured by your administrator. 6. Enter your Windows username and password. For more information on how to format your username, refer to [User identifier formats](#user-identifier-formats). You now have access to the remote Windows desktop. +## Configure clipboard controls + +Clipboard controls allow you to restrict whether users can copy or paste text between their local machine and the browser-based RDP session. They are are configured per policy within your Access application. You can configure different clipboard permissions for different groups of users by creating multiple policies. + +### Default behavior + +- **New policies**: Clipboard access is denied by default. You must explicitly allow clipboard actions. +- **Existing applications**: Access applications for browser-based RDP created before this feature was available retain full clipboard access to preserve backward compatibility. + +### Available settings + +For each policy, you can independently allow or deny the following clipboard actions: + +| Setting | Description | +| --- | --- | +| **Client to remote RDP session allowed** | Users can copy and paste text from their local client into the browser-based RDP session. | +| **Remote RDP session to client allowed** | Users can copy and paste text from the browser-based RDP session to their local client. | +| **Both directions allowed** | Users can copy and paste text between the browser-based RDP session and their local client. | + +When a user attempts a restricted clipboard action, the clipboard content is replaced with a message informing them that the action is not allowed. + +### Configure clipboard controls + + + + +1. In the [Cloudflare dashboard](https://dash.cloudflare.com/), go to Zero Trust > **Access controls** > **Applications**. +2. Locate your browser-based RDP application and select **Configure**. +3. Select the **Policies** tab. +4. Create a new policy or select an existing policy to edit. +5. Expand **Connection context**. +6. Under **RDP data flow control**, configure the following settings: + - Turn on **Client to remote RDP session allowed** to allow users to copy and paste text from their local client into the browser-based RDP session. + - Turn on **Remote RDP session to client allowed** to allow users to copy and paste text from the browser-based RDP session to their local client. + - Turn on **Both directions allowed** to allow users to copy and paste text between the browser-based RDP session and their local client. +7. Select **Save policy**. + + + + +When creating or updating a policy for an RDP application, include the `connection_rules.rdp` object: + + + +| Parameter | Type | Description | +| --- | --- | --- | +| `allow_local_clipboard_to_remote` | boolean | When `true`, users can paste text from their local client to the browser-based RDP session. Defaults to `false`. | +| `allow_remote_clipboard_to_local` | boolean | When `true`, users can copy text from the browser-based RDP session to their local client. Defaults to `false`. | + + + + +Use the `connection_rules` block within a [`cloudflare_zero_trust_access_policy`](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/zero_trust_access_policy) resource: + +```tf +resource "cloudflare_zero_trust_access_policy" "rdp-policy" { + application_id = cloudflare_zero_trust_access_application.rdp-app.id + account_id = var.cloudflare_account_id + name = "Allow engineers with restricted clipboard" + decision = "allow" + precedence = 1 + + include { + email_domain = ["example.com"] + } + + connection_rules { + rdp { + allow_local_clipboard_to_remote = true + allow_remote_clipboard_to_local = false + } + } +} +``` + + + + ## Compatibility ### RDP server operating systems @@ -263,7 +362,7 @@ The login flow differs slightly when using an Microsoft Entra ID-bound username: - **WARP authentication**: Since browser-based RDP traffic does not go through the WARP client, users cannot use their [WARP session identity](/cloudflare-one/team-and-resources/devices/warp/configure-warp/warp-sessions/#configure-warp-sessions-in-access) to authenticate. - **Audio over RDP**: Users cannot use their microphone and speaker to interact with the remote machine. - **Clipboard size limit**: Data copied between the local machine and the browser-based RDP session may not exceed 500 KB. -- **Clipboard controls**: Admins do not have the ability to restrict copy/paste actions between the remote machine and the user's local clipboard. -- **File transfers**: Users cannot copy/paste files from their local machine to the remote machine and vice versa. +- **Clipboard data types**: Clipboard controls only support text data. Image and file clipboard transfers are not supported. +- **File transfers**: Users cannot transfer files from their local machine to the remote machine and vice versa. - **Print to local printer**: Users cannot print information from their browser-based RDP session to a printer in their local network. - **Network Level Authentication for Entra-joined accounts**: Browser-based RDP does not support PKU2U authentication which is required for [Network Level Authentication (NLA)](https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/remotepc/remote-desktop-allow-access#why-allow-connections-only-with-network-level-authentication) with Entra-joined accounts. Connecting to Entra-joined accounts requires disabling enforcement of NLA on the remote Windows machine. You can disable NLA from **Settings** > **System** > **Remote Desktop**, or use the Local Group Policy Editor to disable **Require user authentication for remote connections by using Network Level Authentication**. From b1b3a90b51f472fdd039262fa9e55c57d0420d06 Mon Sep 17 00:00:00 2001 From: asamborski Date: Fri, 27 Feb 2026 16:37:36 -0800 Subject: [PATCH 3/6] Update changelog date --- ...board-controls.mdx => 2026-03-01-rdp-clipboard-controls.mdx} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename src/content/changelog/access/{2026-02-27-rdp-clipboard-controls.mdx => 2026-03-01-rdp-clipboard-controls.mdx} (99%) diff --git a/src/content/changelog/access/2026-02-27-rdp-clipboard-controls.mdx b/src/content/changelog/access/2026-03-01-rdp-clipboard-controls.mdx similarity index 99% rename from src/content/changelog/access/2026-02-27-rdp-clipboard-controls.mdx rename to src/content/changelog/access/2026-03-01-rdp-clipboard-controls.mdx index bf7d175ca7024d5..93386996cd04c07 100644 --- a/src/content/changelog/access/2026-02-27-rdp-clipboard-controls.mdx +++ b/src/content/changelog/access/2026-03-01-rdp-clipboard-controls.mdx @@ -1,7 +1,7 @@ --- title: Clipboard controls for browser-based RDP description: Administrators can now restrict copy and paste actions between a user's local machine and their browser-based RDP session. -date: 2026-02-27 +date: 2026-03-01 products: - access --- From eae0d2514b256681922e2afebe87231c196a310e Mon Sep 17 00:00:00 2001 From: ranbel <101146722+ranbel@users.noreply.github.com> Date: Tue, 3 Mar 2026 16:40:31 -0500 Subject: [PATCH 4/6] Update rdp-browser.mdx --- .../use-cases/rdp/rdp-browser.mdx | 63 +++++++++---------- 1 file changed, 29 insertions(+), 34 deletions(-) diff --git a/src/content/docs/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser.mdx b/src/content/docs/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser.mdx index 2c5fb847540b448..bd2b4c5854a61d7 100644 --- a/src/content/docs/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser.mdx +++ b/src/content/docs/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser.mdx @@ -111,7 +111,7 @@ The DNS record does not need to point to an active destination IP address or hos -13. (Optional) [Configure clipboard controls](#configure-clipboard-controls) to restrict copy and paste actions between the user's local machine and the browser-based RDP session. +13. (Optional) In your Access policy, configure [clipboard controls](#clipboard-controls) to restrict copy and paste actions between the user's local machine and the browser-based RDP session. 14. @@ -174,7 +174,7 @@ To connect to a Windows machine over RDP: You now have access to the remote Windows desktop. -## Configure clipboard controls +## Clipboard controls Clipboard controls allow you to restrict whether users can copy or paste text between their local machine and the browser-based RDP session. They are are configured per policy within your Access application. You can configure different clipboard permissions for different groups of users by creating multiple policies. @@ -185,13 +185,14 @@ Clipboard controls allow you to restrict whether users can copy or paste text be ### Available settings -For each policy, you can independently allow or deny the following clipboard actions: +For each Access policy, you can choose one of the following clipboard control options: | Setting | Description | | --- | --- | -| **Client to remote RDP session allowed** | Users can copy and paste text from their local client into the browser-based RDP session. | -| **Remote RDP session to client allowed** | Users can copy and paste text from the browser-based RDP session to their local client. | -| **Both directions allowed** | Users can copy and paste text between the browser-based RDP session and their local client. | +| _Client to remote RDP session allowed_ | Users can copy and paste text from their local client into the browser-based RDP session. | +| _Remote RDP session to client allowed_ | Users can copy and paste text from the browser-based RDP session to their local client. | +| _Both directions allowed_ | Users can copy and paste text between the browser-based RDP session and their local client. | +| _Off_ | Users are not allowed to copy and paste text between the browser-based RDP session and their local client. | When a user attempts a restricted clipboard action, the clipboard content is replaced with a message informing them that the action is not allowed. @@ -200,24 +201,21 @@ When a user attempts a restricted clipboard action, the clipboard content is rep -1. In the [Cloudflare dashboard](https://dash.cloudflare.com/), go to Zero Trust > **Access controls** > **Applications**. +1. In [Cloudflare One](https://one.dash.cloudflare.com/), go to **Access controls** > **Applications**. 2. Locate your browser-based RDP application and select **Configure**. 3. Select the **Policies** tab. 4. Create a new policy or select an existing policy to edit. 5. Expand **Connection context**. -6. Under **RDP data flow control**, configure the following settings: - - Turn on **Client to remote RDP session allowed** to allow users to copy and paste text from their local client into the browser-based RDP session. - - Turn on **Remote RDP session to client allowed** to allow users to copy and paste text from the browser-based RDP session to their local client. - - Turn on **Both directions allowed** to allow users to copy and paste text between the browser-based RDP session and their local client. +6. Under **RDP data flow control**, choose a **Text clipboard control** setting. Refer to [Available settings](#available-settings) for setting descriptions. 7. Select **Save policy**. -When creating or updating a policy for an RDP application, include the `connection_rules.rdp` object: +When [creating or updating an Access policy](/api/resources/zero_trust/subresources/access/subresources/policies/) for an RDP application, configure the allowed copy/paste formats in each direction. For example, the following policy allows users to copy text from their local client into the browser-based RDP session, but blocks copying content out of the RDP session. -| Parameter | Type | Description | -| --- | --- | --- | -| `allow_local_clipboard_to_remote` | boolean | When `true`, users can paste text from their local client to the browser-based RDP session. Defaults to `false`. | -| `allow_remote_clipboard_to_local` | boolean | When `true`, users can copy text from the browser-based RDP session to their local client. Defaults to `false`. | - -Use the `connection_rules` block within a [`cloudflare_zero_trust_access_policy`](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/zero_trust_access_policy) resource: +Using the `connection_rules` attribute within a [`cloudflare_zero_trust_access_policy`](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/zero_trust_access_policy) resource, configure the allowed copy/paste formats in each direction. For example, the following policy allows users to copy text from their local client into the browser-based RDP session, but blocks copying content out of the RDP session. ```tf resource "cloudflare_zero_trust_access_policy" "rdp-policy" { - application_id = cloudflare_zero_trust_access_application.rdp-app.id - account_id = var.cloudflare_account_id - name = "Allow engineers with restricted clipboard" - decision = "allow" - precedence = 1 - - include { - email_domain = ["example.com"] - } + account_id = var.cloudflare_account_id + name = "Allow engineers with restricted clipboard" + decision = "allow" + + include = [ + { + email_domain = { + domain = "example.com" + } + } + ] - connection_rules { - rdp { - allow_local_clipboard_to_remote = true - allow_remote_clipboard_to_local = false + connection_rules = { + rdp = { + allowed_clipboard_local_to_remote_formats = ["text"] + allowed_clipboard_remote_to_local_formats = [] } } } From afdfe31b9b0fcaceae07aa7a47f0b014a7218e68 Mon Sep 17 00:00:00 2001 From: ranbel <101146722+ranbel@users.noreply.github.com> Date: Tue, 3 Mar 2026 16:42:00 -0500 Subject: [PATCH 5/6] Apply suggestions from code review --- .../changelog/access/2026-03-01-rdp-clipboard-controls.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/changelog/access/2026-03-01-rdp-clipboard-controls.mdx b/src/content/changelog/access/2026-03-01-rdp-clipboard-controls.mdx index 93386996cd04c07..24fc3bed9f86144 100644 --- a/src/content/changelog/access/2026-03-01-rdp-clipboard-controls.mdx +++ b/src/content/changelog/access/2026-03-01-rdp-clipboard-controls.mdx @@ -23,4 +23,4 @@ By default, both directions are denied for new policies. For existing Access app When a user attempts a restricted clipboard action, the clipboard content is replaced with an error message informing them that the action is not allowed. -For more information, refer to [Configure clipboard controls for browser-based RDP](/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser/#configure-clipboard-controls). +For more information, refer to [Clipboard controls for browser-based RDP](/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser/#clipboard-controls). From 8d48938244e869802d6c455884a595ae921168bf Mon Sep 17 00:00:00 2001 From: ranbel <101146722+ranbel@users.noreply.github.com> Date: Tue, 3 Mar 2026 16:44:33 -0500 Subject: [PATCH 6/6] Apply suggestion from @ranbel --- .../docs/cloudflare-one/access-controls/policies/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/cloudflare-one/access-controls/policies/index.mdx b/src/content/docs/cloudflare-one/access-controls/policies/index.mdx index e433e706e911edb..421abd20792b8b6 100644 --- a/src/content/docs/cloudflare-one/access-controls/policies/index.mdx +++ b/src/content/docs/cloudflare-one/access-controls/policies/index.mdx @@ -178,7 +178,7 @@ The available connection context settings depend on the application type: | Application type | Available settings | | --- | --- | | [Infrastructure (SSH)](/cloudflare-one/access-controls/applications/non-http/infrastructure-apps/) | Allowed UNIX usernames | -| [Browser-based RDP](/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser/#configure-clipboard-controls) | Clipboard controls (copy/paste restrictions) | +| [Browser-based RDP](/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/rdp/rdp-browser/#clipboard-controls) | Clipboard controls (copy/paste restrictions) | ## Order of execution