From 5a28f39c4a9a9e46d8f6af03c843333e02c75ebe Mon Sep 17 00:00:00 2001 From: Diyasini Bandyopadhyay Date: Wed, 26 Jun 2024 09:33:33 +0530 Subject: [PATCH 1/7] Adding to readme file for DLP --- data-loss-prevention/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/data-loss-prevention/README.md b/data-loss-prevention/README.md index ae0738e..3f120fb 100644 --- a/data-loss-prevention/README.md +++ b/data-loss-prevention/README.md @@ -1,3 +1,4 @@ +[![banner](../banner.png)](https://cloud.google.com/?utm_source=github&utm_medium=referral&utm_campaign=GCP&utm_content=packages_repository_banner) # Protect you data using Data Loss Prevation ## Introduction From 6b931100df641ee23a7ef39f79aa2022be7f56d1 Mon Sep 17 00:00:00 2001 From: diyasini13 Date: Wed, 26 Jun 2024 11:14:43 +0530 Subject: [PATCH 2/7] DLP Readme file update --- data-loss-prevention/README.md | 16 ++++++++++++++++ .../assets/DLP-architecture.png | Bin 0 -> 76995 bytes 2 files changed, 16 insertions(+) create mode 100644 data-loss-prevention/assets/DLP-architecture.png diff --git a/data-loss-prevention/README.md b/data-loss-prevention/README.md index 3f120fb..520e8d5 100644 --- a/data-loss-prevention/README.md +++ b/data-loss-prevention/README.md @@ -3,12 +3,28 @@ ## Introduction + ## Use cases +* __Automated Sensitive Data Masking in Application Logs__ :This pipeline automatically masks sensitive information in application logs to prevent data breaches. Applications generate logs that are collected by Cloud Logging. The Log Router sends these logs to Pub/Sub, where Dataflow processes them using the DLP API to identify and mask sensitive data. The masked logs are then securely stored back in Cloud Logging, ensuring compliance with data protection regulations. + +* __Real-Time Compliance Monitoring and Reporting__ :Financial institutions can use this pipeline to comply with regulatory requirements by monitoring sensitive financial data in real-time. Application logs collected by Cloud Logging are forwarded to Pub/Sub. Dataflow processes these logs, utilizing the DLP API to mask sensitive information. The de-identified logs are stored back in Cloud Logging, while a separate Dataflow job or BigQuery can generate compliance reports automatically. + +* __Incident Response and Alerting for Data Breaches__ :Organizations can enhance their incident response capabilities with this pipeline by detecting and responding to data breaches involving sensitive information. Application logs collected by Cloud Logging are sent to Pub/Sub. Dataflow processes these logs with the DLP API to detect and mask sensitive data. Alerts are published to a separate Pub/Sub topic if sensitive data is detected, triggering incident response workflows via Cloud Functions or other services to notify security teams and initiate remediation processes. + ## Architecture +

+The main components that we would be setting up are (to learn more about these products, click on the hyperlinks) + +1. [Cloud Logging](https://cloud.google.com/logging) : fully managed service for storing, searching, analyzing, monitoring, and alerting on log data and events. +2. [Pub/Sub](https://cloud.google.com/pubsub) : asynchronous messaging service that allows for communication between services. It is used for streaming analytics, data integration, and event distribution. +3. [DataFlow](https://cloud.google.com/dataflow): a unified service for building and running batch and streaming data processing pipelines. +4. [Cloud Data Loss Prevention](https://cloud.google.com/security/products/dlp) : a service offered by Google Cloud to help organizations discover, classify, and protect their most sensitive data. ## Costs +Pricing Estimates - We have created a sample estimate based on some usage we see from new startups looking to scale. This estimate would give you an idea of how much this deployment would essentially cost per month at this scale and you extend it to the scale you further prefer. Here's the [link](https://cloud.google.com/products/calculator/estimate-preview/05e26e0a-9e1d-4b9e-9f0b-b3f7189515ec?hl=en). You can also get the idea for Data Loss Prevention pricing for [here](https://cloud.google.com/sensitive-data-protection/pricing#sensitive-data-protection-pricing) + ## Deploy the architecture Before we deploy the architecture, you will need the following information: diff --git a/data-loss-prevention/assets/DLP-architecture.png b/data-loss-prevention/assets/DLP-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..54784dcb1714eba2e7b9cfda925e782941dabbe7 GIT binary patch literal 76995 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ƌNmXB;k!{va-$KuX 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%0A#y{OFwBEihgAL4Q@m)(Y!B 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 y*#-f?$NvdAAGvyLnyZTIN-wC;tyG%V|CU literal 0 HcmV?d00001 From 1678336a674e657137c6331c1b099350ac4da1dd Mon Sep 17 00:00:00 2001 From: diyasini13 Date: Wed, 26 Jun 2024 11:59:46 +0530 Subject: [PATCH 3/7] Added intoduction to DLP readme --- data-loss-prevention/README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/data-loss-prevention/README.md b/data-loss-prevention/README.md index 520e8d5..91bbbc6 100644 --- a/data-loss-prevention/README.md +++ b/data-loss-prevention/README.md @@ -1,8 +1,14 @@ [![banner](../banner.png)](https://cloud.google.com/?utm_source=github&utm_medium=referral&utm_campaign=GCP&utm_content=packages_repository_banner) -# Protect you data using Data Loss Prevation +# Protect you data using Data Loss Prevention ## Introduction +This architecture uses a serverless pipeline to securely process and store logs, ensuring sensitive information remains masked while retaining valuable insights for troubleshooting. By leveraging the Data Loss Prevention (DLP) API's powerful redaction capabilities, it enables organizations to confidently analyze log data without compromising data privacy. +In this architecture, log entries are routed from their source to Pub/Sub, a scalable messaging service. A Dataflow pipeline then ingests these log entries, aggregates them into batches to optimize DLP API calls, and invokes the DLP service for content inspection and transformation. + +The DLP service, utilizing pre-defined or custom infoType detectors, identifies sensitive information within the log entries. It then applies configurable masking techniques, such as tokenization or redaction, to obfuscate sensitive data. The transformed logs, now free of sensitive information, are then stored in a designated log bucket (e.g., Cloud Storage), ready for further analysis. + +This architecture allows for seamless integration between log routing, batch processing, and the DLP API, enabling organizations to protect sensitive information while maintaining the utility of their log data for troubleshooting and analysis. It ensures compliance with data privacy regulations and best practices, safeguarding both customer data and internal confidential information. ## Use cases @@ -23,7 +29,7 @@ The main components that we would be setting up are (to learn more about these p ## Costs -Pricing Estimates - We have created a sample estimate based on some usage we see from new startups looking to scale. This estimate would give you an idea of how much this deployment would essentially cost per month at this scale and you extend it to the scale you further prefer. Here's the [link](https://cloud.google.com/products/calculator/estimate-preview/05e26e0a-9e1d-4b9e-9f0b-b3f7189515ec?hl=en). You can also get the idea for Data Loss Prevention pricing for [here](https://cloud.google.com/sensitive-data-protection/pricing#sensitive-data-protection-pricing) +Pricing Estimates - We have created a sample estimate based on some usage we see from new startups looking to scale. This estimate would give you an idea of how much this deployment would essentially cost per month at this scale and you extend it to the scale you further prefer. Here's the [link](https://cloud.google.com/products/calculator/estimate-preview/168cc770-1b97-413b-9dbc-21a8adfee64f?hl=en). You can also get the idea for Data Loss Prevention pricing for [here](https://cloud.google.com/sensitive-data-protection/pricing#sensitive-data-protection-pricing) ## Deploy the architecture From 6838f059eb08272f29ce15b7dc2958f20493591c Mon Sep 17 00:00:00 2001 From: diyasini13 Date: Wed, 26 Jun 2024 22:38:46 +0530 Subject: [PATCH 4/7] Updated DLP architecture --- data-loss-prevention/README.md | 26 ++++++++---------- .../assets/DLP-architecture.png | Bin 76995 -> 0 bytes data-loss-prevention/assets/architecture.png | Bin 0 -> 27675 bytes 3 files changed, 12 insertions(+), 14 deletions(-) delete mode 100644 data-loss-prevention/assets/DLP-architecture.png create mode 100644 data-loss-prevention/assets/architecture.png diff --git a/data-loss-prevention/README.md b/data-loss-prevention/README.md index 91bbbc6..ef51329 100644 --- a/data-loss-prevention/README.md +++ b/data-loss-prevention/README.md @@ -19,12 +19,12 @@ This architecture allows for seamless integration between log routing, batch pro * __Incident Response and Alerting for Data Breaches__ :Organizations can enhance their incident response capabilities with this pipeline by detecting and responding to data breaches involving sensitive information. Application logs collected by Cloud Logging are sent to Pub/Sub. Dataflow processes these logs with the DLP API to detect and mask sensitive data. Alerts are published to a separate Pub/Sub topic if sensitive data is detected, triggering incident response workflows via Cloud Functions or other services to notify security teams and initiate remediation processes. ## Architecture -

+

The main components that we would be setting up are (to learn more about these products, click on the hyperlinks) 1. [Cloud Logging](https://cloud.google.com/logging) : fully managed service for storing, searching, analyzing, monitoring, and alerting on log data and events. 2. [Pub/Sub](https://cloud.google.com/pubsub) : asynchronous messaging service that allows for communication between services. It is used for streaming analytics, data integration, and event distribution. -3. [DataFlow](https://cloud.google.com/dataflow): a unified service for building and running batch and streaming data processing pipelines. +3. [CloudRun](https://cloud.google.com/dataflow): 4. [Cloud Data Loss Prevention](https://cloud.google.com/security/products/dlp) : a service offered by Google Cloud to help organizations discover, classify, and protect their most sensitive data. ## Costs @@ -35,9 +35,9 @@ Pricing Estimates - We have created a sample estimate based on some usage we see Before we deploy the architecture, you will need the following information: -* The **project ID** +1. * The **project ID** -Once the repository is cloned please run the following command to install the prerequisistes: +2. Once the repository is cloned please run the following command to install the prerequisistes: ```sh sh prereq.sh @@ -45,7 +45,7 @@ sh prereq.sh You will then be prompted to provide the project-id for the destination project. -After this is complete, you can kick off the Cloud Run application Generate Service with the following command: +3. After this is complete, you can kick off the Cloud Run application Generate Service with the following command: ```sh gcloud run deploy generate-service --source code/generator/ --region us-central1 --update-env-vars PROJECT_ID= @@ -53,7 +53,7 @@ gcloud run deploy generate-service --source code/generator/ --region us-central1 > **_NOTE:_** When you run this command will need to answer if you want to create a new repository and if you allow unauthenticated invocations. Set `Y` to create the repository and `N` to unauthenticated invocations. -And now the applicaion Redact Service +4. And now the applicaion Redact Service ```sh gcloud run deploy redact-service --source code/redact/ --region us-central1 --update-env-vars PROJECT_ID= @@ -63,7 +63,7 @@ gcloud run deploy redact-service --source code/redact/ --region us-central1 --up If you encounter errors when running these commands, please attempt to run them again in a clean project. -Now you need to create a log router that will intercept de generate-service's logs and send them to the Pub/Sub. The Pub/Sub will send every message to redact-service that will be responsible to mask the logs. +5. Now you need to create a log router that will intercept de generate-service's logs and send them to the Pub/Sub. The Pub/Sub will send every message to redact-service that will be responsible to mask the logs. You need the redact-service's url, run this command to get it: @@ -71,7 +71,7 @@ You need the redact-service's url, run this command to get it: gcloud run services describe redact-service --region us-central1 --format 'value(status.url)' ``` -And now you can run the following: +6. And now you can run the following: ```sh terraform apply -var project_id= @@ -85,7 +85,7 @@ At this point you should have successfully deployed the DLP project! This proces ## Testing your architecture -Once you deployed the solution successfully, let's test. +1. Once you deployed the solution successfully, let's test. ```sh gcloud beta run services logs read redact-service --limit=20 --project --region us-central1 @@ -108,13 +108,13 @@ Example: ## Cleaning up your environment -Execute the command below on Cloud Shell to destroy the resources. +1. Execute the command below on Cloud Shell to destroy the resources. ```sh terraform destroy -var project_id= ``` -To delete Cloud Run, execute this command: +2. To delete Cloud Run, execute this command: ```sh gcloud run services delete redact-service --region us-central1 @@ -124,7 +124,7 @@ gcloud run services delete redact-service --region us-central1 gcloud run services delete generate-service --region us-central1 ``` -Delete the images that were generated: +3. Delete the images that were generated: ```sh gcloud artifacts docker images delete us-central1-docker.pkg.dev//cloud-run-source-deploy/generate-service @@ -136,6 +136,4 @@ gcloud artifacts docker images delete us-central1-docker.pkg.dev//cl The above commands will delete the associated resources so there will be no billable charges made afterwards. -## Known issues -## Useful links diff --git a/data-loss-prevention/assets/DLP-architecture.png b/data-loss-prevention/assets/DLP-architecture.png deleted file mode 100644 index 54784dcb1714eba2e7b9cfda925e782941dabbe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76995 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ƌNmXB;k!{va-$KuX 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%0A#y{OFwBEihgAL4Q@m)(Y!B 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 y*#-f?$NvdAAGvyLnyZTIN-wC;tyG%V|CU diff --git a/data-loss-prevention/assets/architecture.png b/data-loss-prevention/assets/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..26e9fb3d69a498b22acce501ef7cf6554f7838b7 GIT binary patch literal 27675 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 literal 0 HcmV?d00001 From fac4f2bea4c6795c069bbb6e7f5e87b3682bd4e4 Mon Sep 17 00:00:00 2001 From: diyasini13 Date: Thu, 27 Jun 2024 10:31:43 +0530 Subject: [PATCH 5/7] Updated readme DLP --- data-loss-prevention/README.md | 55 ++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 23 deletions(-) diff --git a/data-loss-prevention/README.md b/data-loss-prevention/README.md index ef51329..d93b05b 100644 --- a/data-loss-prevention/README.md +++ b/data-loss-prevention/README.md @@ -4,7 +4,7 @@ ## Introduction This architecture uses a serverless pipeline to securely process and store logs, ensuring sensitive information remains masked while retaining valuable insights for troubleshooting. By leveraging the Data Loss Prevention (DLP) API's powerful redaction capabilities, it enables organizations to confidently analyze log data without compromising data privacy. -In this architecture, log entries are routed from their source to Pub/Sub, a scalable messaging service. A Dataflow pipeline then ingests these log entries, aggregates them into batches to optimize DLP API calls, and invokes the DLP service for content inspection and transformation. +In this architecture, log entries are routed from their source to Pub/Sub, a scalable messaging service. A Cloud Run pipeline then ingests these log entries, aggregates them into batches to optimize DLP API calls, and invokes the DLP service for content inspection and transformation. The DLP service, utilizing pre-defined or custom infoType detectors, identifies sensitive information within the log entries. It then applies configurable masking techniques, such as tokenization or redaction, to obfuscate sensitive data. The transformed logs, now free of sensitive information, are then stored in a designated log bucket (e.g., Cloud Storage), ready for further analysis. @@ -12,11 +12,11 @@ This architecture allows for seamless integration between log routing, batch pro ## Use cases -* __Automated Sensitive Data Masking in Application Logs__ :This pipeline automatically masks sensitive information in application logs to prevent data breaches. Applications generate logs that are collected by Cloud Logging. The Log Router sends these logs to Pub/Sub, where Dataflow processes them using the DLP API to identify and mask sensitive data. The masked logs are then securely stored back in Cloud Logging, ensuring compliance with data protection regulations. +* __Automated Sensitive Data Masking in Application Logs__ :This pipeline automatically masks sensitive information in application logs to prevent data breaches. Applications generate logs that are collected by Cloud Logging. The Log Router sends these logs to Pub/Sub, where Cloud Run processes them using the DLP API to identify and mask sensitive data. The masked logs are then securely stored back in Cloud Logging, ensuring compliance with data protection regulations. -* __Real-Time Compliance Monitoring and Reporting__ :Financial institutions can use this pipeline to comply with regulatory requirements by monitoring sensitive financial data in real-time. Application logs collected by Cloud Logging are forwarded to Pub/Sub. Dataflow processes these logs, utilizing the DLP API to mask sensitive information. The de-identified logs are stored back in Cloud Logging, while a separate Dataflow job or BigQuery can generate compliance reports automatically. +* __Real-Time Compliance Monitoring and Reporting__ :Financial institutions can use this pipeline to comply with regulatory requirements by monitoring sensitive financial data in real-time. Application logs collected by Cloud Logging are forwarded to Pub/Sub. Cloud Run processes these logs, utilizing the DLP API to mask sensitive information. The de-identified logs are stored back in Cloud Logging, while a separate Cloud Run job or BigQuery can generate compliance reports automatically. -* __Incident Response and Alerting for Data Breaches__ :Organizations can enhance their incident response capabilities with this pipeline by detecting and responding to data breaches involving sensitive information. Application logs collected by Cloud Logging are sent to Pub/Sub. Dataflow processes these logs with the DLP API to detect and mask sensitive data. Alerts are published to a separate Pub/Sub topic if sensitive data is detected, triggering incident response workflows via Cloud Functions or other services to notify security teams and initiate remediation processes. +* __Incident Response and Alerting for Data Breaches__ :Organizations can enhance their incident response capabilities with this pipeline by detecting and responding to data breaches involving sensitive information. Application logs collected by Cloud Logging are sent to Pub/Sub. Cloud Run processes these logs with the DLP API to detect and mask sensitive data. Alerts are published to a separate Pub/Sub topic if sensitive data is detected, triggering incident response workflows via Cloud Functions or other services to notify security teams and initiate remediation processes. ## Architecture

@@ -24,7 +24,7 @@ The main components that we would be setting up are (to learn more about these p 1. [Cloud Logging](https://cloud.google.com/logging) : fully managed service for storing, searching, analyzing, monitoring, and alerting on log data and events. 2. [Pub/Sub](https://cloud.google.com/pubsub) : asynchronous messaging service that allows for communication between services. It is used for streaming analytics, data integration, and event distribution. -3. [CloudRun](https://cloud.google.com/dataflow): +3. [CloudRun](https://cloud.google.com/run): fully managed serverless platform on Google Cloud that allows you to effortlessly run stateless containers.It automatically scales your application based on traffic, ensuring optimal resource utilization and cost-efficiency. 4. [Cloud Data Loss Prevention](https://cloud.google.com/security/products/dlp) : a service offered by Google Cloud to help organizations discover, classify, and protect their most sensitive data. ## Costs @@ -32,18 +32,24 @@ The main components that we would be setting up are (to learn more about these p Pricing Estimates - We have created a sample estimate based on some usage we see from new startups looking to scale. This estimate would give you an idea of how much this deployment would essentially cost per month at this scale and you extend it to the scale you further prefer. Here's the [link](https://cloud.google.com/products/calculator/estimate-preview/168cc770-1b97-413b-9dbc-21a8adfee64f?hl=en). You can also get the idea for Data Loss Prevention pricing for [here](https://cloud.google.com/sensitive-data-protection/pricing#sensitive-data-protection-pricing) ## Deploy the architecture - Before we deploy the architecture, you will need the following information: + * The **project ID** + +Estimated deployment time: 15 min + +Follow the steps below to deploy the architecture: -1. * The **project ID** +1. Click on Open in Google Cloud Shell button below. + + Open in Cloud Shell + -2. Once the repository is cloned please run the following command to install the prerequisistes: +1. Run the prerequisites script to enable APIs permissions. ```sh sh prereq.sh ``` - -You will then be prompted to provide the project-id for the destination project. +Next, you'll be asked to enter the project ID of the destination project. Please provide the project ID when prompted. 3. After this is complete, you can kick off the Cloud Run application Generate Service with the following command: @@ -51,27 +57,29 @@ You will then be prompted to provide the project-id for the destination project. gcloud run deploy generate-service --source code/generator/ --region us-central1 --update-env-vars PROJECT_ID= ``` -> **_NOTE:_** When you run this command will need to answer if you want to create a new repository and if you allow unauthenticated invocations. Set `Y` to create the repository and `N` to unauthenticated invocations. +> **_NOTE:_** +> Upon executing this command, you will be prompted to specify whether you wish to create a new repository and allow unauthenticated invocations. Respond with `Y` to create the repository and `N` to disallow unauthenticated invocations. -4. And now the applicaion Redact Service +4. Now, to proceed with the Redact Service application, follow these steps: ```sh gcloud run deploy redact-service --source code/redact/ --region us-central1 --update-env-vars PROJECT_ID= ``` -> **_NOTE:_** When you run this command will need to answer if you allow unauthenticated invocations. Set `N` to unauthenticated invocations. +> **_NOTE:_** +> Upon executing this command, you will be asked whether to allow unauthenticated invocations. Respond with `N` to disallow such invocations. -If you encounter errors when running these commands, please attempt to run them again in a clean project. +If you face any issues while running these commands,please attempt to run them again in a clean project. -5. Now you need to create a log router that will intercept de generate-service's logs and send them to the Pub/Sub. The Pub/Sub will send every message to redact-service that will be responsible to mask the logs. +5. Now you need to create a log router that will intercept de generate-service's logs and send them to the Pub/Sub. The Pub/Sub will send every message to redact-service which will apply the necessary masking to protect sensitive information. -You need the redact-service's url, run this command to get it: +You need the redact-service's url. To obtain the URL for "redact-service," execute the following command: ```sh gcloud run services describe redact-service --region us-central1 --format 'value(status.url)' ``` -6. And now you can run the following: +6. And now you can run the following command to deploy the DLP project: ```sh terraform apply -var project_id= @@ -81,17 +89,17 @@ Change the `` for your project id. ## Result -At this point you should have successfully deployed the DLP project! This process may take a while to deploy, please do not close the window when deploying. Next we are going to test the architecture and finally clean up your environment. +Congratulations! The DLP project deployment should now be underway. Please be patient as this process might take some time. Kindly keep this window open during the deployment. Once completed, we'll proceed to test the architecture and then guide you through cleaning up your environment. -## Testing your architecture +## Testing the architecture -1. Once you deployed the solution successfully, let's test. +1. Once you have deployed the solution successfully, let's test. Run the below command to check the log: ```sh gcloud beta run services logs read redact-service --limit=20 --project --region us-central1 ``` -Then, check the logs in the output. +Check the logs in the output. Example: @@ -108,13 +116,14 @@ Example: ## Cleaning up your environment + 1. Execute the command below on Cloud Shell to destroy the resources. ```sh terraform destroy -var project_id= ``` -2. To delete Cloud Run, execute this command: +3. To delete Cloud Run, execute the below commands : ```sh gcloud run services delete redact-service --region us-central1 @@ -124,7 +133,7 @@ gcloud run services delete redact-service --region us-central1 gcloud run services delete generate-service --region us-central1 ``` -3. Delete the images that were generated: +4. We also need to delete the images that were generated. Run the below command to delete the images: ```sh gcloud artifacts docker images delete us-central1-docker.pkg.dev//cloud-run-source-deploy/generate-service From 28e440857d4188e936274193c3f77f87ea9c1710 Mon Sep 17 00:00:00 2001 From: diyasini13 Date: Thu, 27 Jun 2024 19:09:12 +0530 Subject: [PATCH 6/7] Updated DLP Readme --- data-loss-prevention/README.md | 8 ++++---- .../{assets => assests}/architecture.png | Bin 2 files changed, 4 insertions(+), 4 deletions(-) rename data-loss-prevention/{assets => assests}/architecture.png (100%) diff --git a/data-loss-prevention/README.md b/data-loss-prevention/README.md index d93b05b..d25bb99 100644 --- a/data-loss-prevention/README.md +++ b/data-loss-prevention/README.md @@ -40,7 +40,7 @@ Estimated deployment time: 15 min Follow the steps below to deploy the architecture: 1. Click on Open in Google Cloud Shell button below. - + Open in Cloud Shell @@ -93,7 +93,7 @@ Congratulations! The DLP project deployment should now be underway. Please be pa ## Testing the architecture -1. Once you have deployed the solution successfully, let's test. Run the below command to check the log: +Once you have deployed the solution successfully, let's test. Run the below command to check the log: ```sh gcloud beta run services logs read redact-service --limit=20 --project --region us-central1 @@ -123,7 +123,7 @@ Example: terraform destroy -var project_id= ``` -3. To delete Cloud Run, execute the below commands : +2. To delete Cloud Run, execute the below commands : ```sh gcloud run services delete redact-service --region us-central1 @@ -133,7 +133,7 @@ gcloud run services delete redact-service --region us-central1 gcloud run services delete generate-service --region us-central1 ``` -4. We also need to delete the images that were generated. Run the below command to delete the images: +3. We also need to delete the images that were generated. Run the below command to delete the images: ```sh gcloud artifacts docker images delete us-central1-docker.pkg.dev//cloud-run-source-deploy/generate-service diff --git a/data-loss-prevention/assets/architecture.png b/data-loss-prevention/assests/architecture.png similarity index 100% rename from data-loss-prevention/assets/architecture.png rename to data-loss-prevention/assests/architecture.png From 41c9054df33c719fd10bcc9e28a43a43f62aa647 Mon Sep 17 00:00:00 2001 From: diyasini13 Date: Thu, 27 Jun 2024 19:13:00 +0530 Subject: [PATCH 7/7] Updated DLP Readme --- data-loss-prevention/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data-loss-prevention/README.md b/data-loss-prevention/README.md index d25bb99..108b5cd 100644 --- a/data-loss-prevention/README.md +++ b/data-loss-prevention/README.md @@ -44,7 +44,7 @@ Follow the steps below to deploy the architecture: Open in Cloud Shell -1. Run the prerequisites script to enable APIs permissions. +2. Run the prerequisites script to enable APIs permissions. ```sh sh prereq.sh