Skip to content

Commit 7cd311e

Browse files
[CASB] GCP Cloud Storage integration (#20972)
* Add GCP page * Add prereqs * Add details * Add supported DLP integrations * Create troubleshooting folder * Set up troubleshooting redirect * Add compute account instructions * Remove Upgrade partial * Improve upgrade procedure * Add token instructions * Add troubleshooting steps * Rearrange sections * Add better intro paragraph * Fix relative links * Revert link directory changes * Apply suggestions from code review Co-authored-by: Patricia Santa Ana <[email protected]> --------- Co-authored-by: Patricia Santa Ana <[email protected]>
1 parent ebe2a10 commit 7cd311e

File tree

8 files changed

+193
-4
lines changed

8 files changed

+193
-4
lines changed

public/__redirects

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1747,6 +1747,7 @@
17471747
/cloudflare-one/api-terraform/gateway-api-examples/dns-policy/ /cloudflare-one/policies/gateway/dns-policies/common-policies/ 301
17481748
/cloudflare-one/api-terraform/gateway-api-examples/network-policy/ /cloudflare-one/policies/gateway/network-policies/common-policies/ 301
17491749
/cloudflare-one/api-terraform/gateway-api-examples/http-policy/ /cloudflare-one/policies/gateway/http-policies/common-policies/ 301
1750+
/cloudflare-one/applications/casb/troubleshooting/ /cloudflare-one/applications/casb/troubleshooting/troubleshoot-integrations/ 301
17501751
/cloudflare-one/applications/configure-apps/self-hosted-apps/ /cloudflare-one/applications/configure-apps/self-hosted-public-app/ 301
17511752
/cloudflare-one/applications/non-http/arbitrary-tcp/ /cloudflare-one/applications/non-http/cloudflared-authentication/arbitrary-tcp/ 301
17521753
/cloudflare-one/connections/connect-apps/configuration/ /cloudflare-one/connections/connect-networks/configure-tunnels/ 301

src/content/docs/cloudflare-one/applications/casb/casb-integrations/aws-s3.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ import { Render } from "~/components";
88

99
<Render
1010
file="casb/integration-description"
11-
params={{ integrationName: "Amazon Web Services (AWS) S3", integrationAccountType: "AWS account" }}
11+
params={{
12+
integrationName: "Amazon Web Services (AWS) S3",
13+
integrationAccountType: "AWS account",
14+
}}
1215
/>
1316

1417
## Integration prerequisites
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
---
2+
pcx_content_type: reference
3+
title: Google Cloud Platform (GCP) Cloud Storage
4+
rss: file
5+
---
6+
7+
import { Render } from "~/components";
8+
9+
<Render
10+
file="casb/integration-description"
11+
params={{
12+
integrationName: "Google Cloud Platform (GCP) Cloud Storage",
13+
integrationAccountType: "GCP account",
14+
}}
15+
/>
16+
17+
## Integration prerequisites
18+
19+
- A GCP account using Cloud Storage.
20+
- For initial setup, access to the GCP account with permission to create a new Service Account with the scopes listed below.
21+
22+
## Integration permissions
23+
24+
For the GCP Cloud Storage integration to function, Cloudflare CASB requires the following access scopes via a Service Account:
25+
26+
- `roles/viewer`
27+
- `roles/storage.admin`
28+
29+
These permissions follow the principle of least privilege to ensure that only the minimum required access is granted. To learn more about each permission scope, refer to the [GCP IAM roles for Cloud Storage documentation](https://cloud.google.com/storage/docs/access-control/iam-roles).
30+
31+
## Compute account
32+
33+
You can connect a GCP compute account to your CASB integration to perform [Data Loss Prevention](/cloudflare-one/policies/data-loss-prevention/) scans within your Cloud Storage bucket and avoid data egress. CASB will scan any objects that exist in the bucket at the time of configuration.
34+
35+
### Add a compute account
36+
37+
To connect a compute account to your GCP integration:
38+
39+
1. In [Zero Trust](https://one.dash.cloudflare.com), go to **CASB** > **Integrations**.
40+
2. Find and select your GCP integration.
41+
3. Select **Open connection instructions**.
42+
4. Follow the instructions provided to connect a new compute account.
43+
5. Select **Refresh**.
44+
45+
You can only connect one compute account to an integration. To remove a compute account, select **Manage compute accounts**.
46+
47+
### Configure compute account scanning
48+
49+
Once your GCP compute account has successfully connected to your CASB integration, you can configure where and how to scan for sensitive data:
50+
51+
1. In [Zero Trust](https://one.dash.cloudflare.com), go to **CASB** > **Integrations**.
52+
2. Find and select your GCP integration.
53+
3. Select **Create new configuration**.
54+
4. In **Resources**, choose the buckets you want to scan. Select **Continue**.
55+
5. Choose the file types, sampling percentage, and [DLP profiles](/cloudflare-one/policies/data-loss-prevention/dlp-profiles/) to scan for.
56+
6. (Optional) Configure additional settings, such as the limit of API calls over time for CASB to adhere to.
57+
7. Select **Continue**.
58+
8. Review the details of the scan, then select **Start scan**.
59+
60+
CASB will take up to one hour to begin scanning. To view the scan results, go to **CASB** > **Content** > **Cloud**.
61+
62+
To manage your resources, go to **CASB** > **Integrations**, then find and select your GCP integration. From here, you can pause all or individual scans, add or remove resources, and change scan settings.
63+
64+
For more information, refer to [Content findings](/cloudflare-one/applications/casb/manage-findings/#content-findings).
65+
66+
## Security findings
67+
68+
<Render
69+
file="casb/security-findings"
70+
params={{
71+
integrationName: "GCP Cloud Storage",
72+
slugRelativePath: "gcp-cloud-storage",
73+
}}
74+
/>
75+
76+
### Cloud Storage Bucket security
77+
78+
Flag security issues in Cloud Storage Buckets, including overpermissioning, access policies, and user security best practices.
79+
80+
| Finding type | FindingTypeID | Severity |
81+
| -------------------------------------------------------------------------------- | -------------------------------------- | -------- |
82+
| Google Cloud Platform: GCS Bucket Allows Public Write | `4583f5a9-a343-4e2f-a8b3-9237a911f337` | Critical |
83+
| Google Cloud Platform: GCS Bucket IAM Policy Allows Public Access | `032c1e88-0cff-47f6-8d75-046e0a7330de` | Critical |
84+
| Google Cloud Platform: GCS Bucket Publicly Accessible | `cc028a95-46d4-4156-ac11-bc5713529824` | Critical |
85+
| Google Cloud Platform: Public Access Prevention Enabled But Policy Grants Public | `cc02680e-9cc3-49d1-99d5-29d425bf142f` | Critical |
86+
| Google Cloud Platform: GCS Bucket ACL Grants All Authenticated Users Access | `e1a588af-0500-482e-b59d-fd2693ce7fc0` | Critical |
87+
| Google Cloud Platform: GCS Bucket ACL Grants All Users Public Access | `1904c004-8d4f-470e-9460-e77db23d6a86` | Critical |
88+
| Google Cloud Platform: Public Access Prevention but ACL Grants allUsers | `fcf2e27e-673f-4cd2-9b76-ec89c4c5872c` | Critical |
89+
| Google Cloud Platform: GCS Bucket Versioning Disabled | `bd66e214-f205-4e00-bd68-121dad0a7988` | High |
90+
| Google Cloud Platform: GCS Bucket Without KMS Encryption | `0105d9c4-1a01-4b65-b33e-df6c55905147` | High |
91+
| Google Cloud Platform: GCS Uniform Bucket-Level Access Disabled | `6960b459-aa9e-4b41-84f6-26cdb75a1995` | High |
92+
| Google Cloud Platform: GCS Bucket IAM Policy Allows Public Read | `10420f34-8fdd-49cb-8d38-096a2de5824f` | High |
93+
| Google Cloud Platform: GCS Bucket Lacks Lifecycle Rules | `edcd5a8b-b128-404b-8207-23a80f669b65` | Medium |
94+
| Google Cloud Platform: GCS Bucket Logging Disabled | `d26f43c8-9406-481c-8c8b-1a7f05f3cc27` | Medium |
95+
| Google Cloud Platform: GCS Bucket Not Using 'Soft Delete' | `5542ed8e-77a6-43c1-8b9e-935e66009d34` | Medium |
96+
| Google Cloud Platform: GCS Bucket Retention Policy Disabled | `2d4a247c-8adb-4f2b-ae58-3568d633cb81` | Medium |
97+
| Google Cloud Platform: GCS Bucket IAM Policy Not Version 3 | `ade2ede6-08c7-4962-b084-f6a29ee4a5b8` | Low |
98+
| Google Cloud Platform: GCS Bucket IAM Policy Using Legacy Roles | `11a592b9-4f51-4a1a-9925-a48a5ed01521` | Low |

src/content/docs/cloudflare-one/applications/casb/casb-integrations/index.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ You can integrate the following SaaS applications and cloud environments with Cl
1414
- [Box](/cloudflare-one/applications/casb/casb-integrations/box/)
1515
- [Dropbox](/cloudflare-one/applications/casb/casb-integrations/dropbox/)
1616
- [GitHub](/cloudflare-one/applications/casb/casb-integrations/github/)
17+
- [Google Cloud Platform (GCP) Cloud Storage](/cloudflare-one/applications/casb/casb-integrations/gcp-cloud-storage/)
1718
- [Google Workspace](/cloudflare-one/applications/casb/casb-integrations/google-workspace/)
1819
- [Google Drive](/cloudflare-one/applications/casb/casb-integrations/google-workspace/google-drive/)
1920
- [Gmail](/cloudflare-one/applications/casb/casb-integrations/google-workspace/gmail/)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
pcx_content_type: troubleshooting
3+
title: Troubleshooting
4+
sidebar:
5+
order: 4
6+
group:
7+
hideIndex: true
8+
---
9+
10+
import { DirectoryListing } from "~/components";
11+
12+
<DirectoryListing />
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
---
2+
pcx_content_type: troubleshooting
3+
title: Troubleshoot compute accounts
4+
sidebar:
5+
order: 2
6+
---
7+
8+
import { Render } from "~/components";
9+
10+
Cloudflare CASB detects when compute accounts are unhealthy or outdated. Common compute account issues include security or functionality updates and API token misconfigurations.
11+
12+
## Identify unhealthy compute accounts
13+
14+
To identify unhealthy compute accounts:
15+
16+
1. In [Zero Trust](https://one.dash.cloudflare.com/), go to **CASB** > **Integrations**.
17+
2. Choose the integration you created for cloud scanning.
18+
3. Select **Manage compute accounts**.
19+
20+
CASB will display the status of each compute account next to its name. If a compute account is broken or outdated, CASB will set its status to **Unhealthy**. If the status is **Healthy**, no action is required.
21+
22+
## Repair an unhealthy compute account
23+
24+
When CASB marks a compute account as **Unhealthy**, CASB will not use new scan configuration changes and new scan results will not appear in the dashboard.
25+
26+
To repair a compute account marked as **Unhealthy**, first [upgrade the compute account](#upgrade-a-compute-account). If the compute account is still unhealthy, [roll your API token](#roll-api-tokens).
27+
28+
## Upgrade a compute account
29+
30+
Upgrading a compute account applies the latest software features, bug fixes, and infrastructure changes to a cloud compute account. You should run upgrades periodically to keep the compute account software up to date or when recommended by Cloudflare to address an issue. CASB deploys compute account upgrades through Terraform updates.
31+
32+
To upgrade a compute account:
33+
34+
1. In [Zero Trust](https://one.dash.cloudflare.com/), go to **CASB** > **Integrations**.
35+
2. Choose the integration you created for cloud scanning.
36+
3. Select **Open connection instructions**.
37+
4. Follow the instructions provided to validate your local Terraform and CLI configuration.
38+
5. Under **Step 2: Deploy Terraform Configuration**, copy the template to your local configuration. This template will be the most up to date version of the integration's Terraform configuration.
39+
6. In a local terminal, update the cached version of the CDS Terraform modules:
40+
```bash
41+
terraform init --upgrade
42+
```
43+
7. Apply the upgraded Terraform configuration to your compute account:
44+
```bash
45+
terraform apply
46+
```
47+
48+
## Roll API tokens
49+
50+
:::caution
51+
If you roll your API token in CASB but do not update it in your compute account, CASB will set your compute account's status as **Broken** and stop reporting scan results.
52+
:::
53+
54+
You may need to roll the Cloudflare API token used for your compute account if a security or operational issue appears, your API token is compromised, or your API token is removed from your compute account.
55+
56+
<Render file="api-roll-token" product="fundamentals" />
57+
58+
4. Copy your API token.
59+
60+
Once you roll your API token in Cloudflare, you can update the API token value in your secrets manager for [Amazon Web Services (AWS)](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_update-secret-value.html) or [Google Cloud Platform (GCP)](https://cloud.google.com/secret-manager/docs/edit-secrets).
61+
62+
### Common token issues
63+
64+
#### `cloudflare-cds-secrets` does not exist in the compute account's secrets manager
65+
66+
To recreate the secret in your compute account:
67+
68+
1. Validate that you selected the correct region.
69+
2. [Upgrade the compute account](#upgrade-a-compute-account) to recreate the secret.
70+
3. [Update the secret value](#roll-api-tokens) in your compute account.
71+
72+
#### I no longer have access to the Cloudflare API token I created
73+
74+
[Roll your Cloudflare API token](#roll-api-tokens) and add it to your compute account. If the [status of the compute account](#identify-unhealthy-compute-accounts) is set to **Healthy**, the issue has been solved.

src/content/docs/cloudflare-one/applications/casb/troubleshooting.mdx renamed to src/content/docs/cloudflare-one/applications/casb/troubleshooting/troubleshoot-integrations.mdx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@
22
pcx_content_type: troubleshooting
33
title: Troubleshoot integrations
44
sidebar:
5-
order: 3
5+
order: 1
66
---
77

8-
import { TabItem, Tabs } from "~/components";
9-
108
Cloudflare CASB detects when integrations are unhealthy or outdated.
119

1210
Common integration issues include changes to SaaS app or cloud environment configurations, user access, or permission scope. Integrations may need to be updated to support new features or permissions.

src/content/partials/cloudflare-one/casb/casb-dlp-integrations.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
{}
33
---
44

5+
- [Amazon Web Services (AWS) S3](/cloudflare-one/applications/casb/casb-integrations/aws-s3/)
56
- [Box](/cloudflare-one/applications/casb/casb-integrations/box/)
67
- [Dropbox](/cloudflare-one/applications/casb/casb-integrations/dropbox/)
8+
- [Google Cloud Platform (GCP) Cloud Storage](/cloudflare-one/applications/casb/casb-integrations/gcp-cloud-storage)
79
- [Google Drive](/cloudflare-one/applications/casb/casb-integrations/google-workspace/google-drive/)
810
- [Microsoft OneDrive](/cloudflare-one/applications/casb/casb-integrations/microsoft-365/onedrive/)
911
- [Microsoft SharePoint](/cloudflare-one/applications/casb/casb-integrations/microsoft-365/sharepoint/)

0 commit comments

Comments
 (0)