Use Cloud Shell Editor as your environment for creating your Cloud Run service
and secret. The editor comes preloaded with the tools needed for cloud
development.
To create your service:
In the Cloud Code status bar, click the active project name.
In the Quick Pick menu that appears, select clickNew Application, and
then clickCloud Run Application.
From the list of Cloud Run samples, selectPython (Flask): Cloud Run.
Select a folder for your sample and then clickCreate New Application.
After Cloud Shell Editor loads your service in a new workspace, view its files in
theexplorer
view.
Create a secret
Secret Managerallows you to
securely store, manage, and access secrets as binary blobs or text strings.
Additionally, it manages your secrets, meaning you don't have to deal with
virtual machines or operating services.
To create a secret with Cloud Code's Secret Manager integration:
ClickSecret
Managerand give it a moment to load.
If prompted to authorize Cloud Shell to make Google Cloud API calls,
clickAuthorize.
ClickaddCreate
Secret.
If prompted, select your Google Cloud project from the dropdown selector.
If prompted, enable the Secret Manager API.
In theSecret Manager - Create Secrettab that appears, enter the
following in theNamefield:
my-secret
In theSecret Valuefield, enter:
Hello secret!
ClickCreate Secretand a message that your secret was successfully
created appears.
Add a secret to your code
Secrets are great for storing configuration information such as database
passwords, API keys, or TLS certificates needed by an application at runtime.
To add a secret to your code:
Open theCloud
APIview and select theSecret Manager API.
This opens a Google Cloud API Detail tab withSecret Manager APIas the
heading.
In theInstall Client Librarysection, click thePythontab and
clickplay_arrowRun in terminal.
This installs thegoogle-cloud-secret-managerclient library.
Openrequirements.txtand add the following line to the bottom of the file:
google-cloud-secret-manager==VERSION_NUMBER
You can find the version number in the console after you run the
installation in the previous step. For example, the console might show:Successfully installed google-cloud-secret-manager-2.23.1
Your changes are automatically saved.
To get the latest value of your secret, openapp.pyand copy and paste the following function:after the hello function:
defaccess_secret_version(secret_version_id):"""Return the value of a secret's version"""fromgoogle.cloudimportsecretmanager# Create the Secret Manager client.client=secretmanager.SecretManagerServiceClient()# Access the secret version.response=client.access_secret_version(name=secret_version_id)# Return the decoded payload.returnresponse.payload.data.decode('UTF-8')
To call theaccess_secret_versionfunction, replace themessage variablewith the following:
If you still have theSecret Manager - Create Secrettab open,file_copyCopythe ID.
To get the ID of a secret version at any time, navigate toSecret
Manager> [SECRET_NAME] > Versions, hold the
pointer over over your version, and clickCopy resource ID.
To add the version ID, replace the placeholder<SECRET_VERSION_ID>with your copied version ID.
Run on Cloud Run emulator
To test your new secret, run your Cloud Run service locally on the Cloud Run emulator.
Launch theCloud
Codemenu from the status bar.
To build and deploy your service to the emulator, selectRun
on Cloud Run Emulator.
In the Run/Debug on Cloud Run Emulator tab that appears, clickRun.
When running the configuration for the first time, this process can take up
to 5 minutes. TheOutputpanel displays the progress as your app is built and deployed.
After your app is built, launch your app by clicking the localhost link that
appears in yourOutputpanel. Your secret's value is displayed under the success graphic.
View and create a new secret version
Cloud Code's Secret Manager view gives you a quick look at your project's
secrets, with actions for managing them.
Viewing the value of a secret version
Click theSecret
Managerview.
Expand your secret by clicking on it.
In theVersionsfolder, right-click the numbered version that you want
to view the value of and selectShow Version Value.
Note that you can't edit a secret version. To update a secret's value, you must create a
newversion.
Create a new secret version
The value of a secret is stored in a secret version. A secret can have many
versions. This is helpful in situations where a secret changes. Updating a
secret with a new version means you don't have to update your code.
Click theSecret
Managerview.
Right-click your secret's name and selectCreate Secret Version.
In theSecret Manager - Create Versiontab that appears, enter a new
value and clickCreate Version.
After theSecret Manager - Create Secrettab opens, clickfile_copyCopytop copy the ID.
To add the newer version ID, replace the current version that appears the message
variable inapp.pywith the newer version ID that you copied.
If you always want your code to use the latest version,
replace the version number at the end of your version ID withlatest.
View and manage secrets
Disable a secret version
Secret versions are enabled by default after creation, meaning they can be
accessed. A disabled secret is inaccessible, but you can always restore access
to it at any time.
To disable a secret version:
ClickCloud Codeand then expand theSecret Managersection.
Expand your secret by clicking on it.
Under theVersionsfolder, right-click the numbered version you want to
disable.
SelectDisable Version.
Destroy a secret version
When you destroy a secret version, it can't be accessed. Destroying a secret
version is permanent.
ClickCloud Codeand then expand theSecret Managersection.
Expand your secret by clicking on it.
Under theVersionsfolder, right-click the version you want to destroy.
SelectDestroy Version.
Cleaning up
To delete just the cluster you created for this quickstart:
ClickCloud Codeand then expand theKubernetessection.
Hold the pointer over your cluster name and then clickopen_in_newOpen in Google Cloud console.
ClickDeleteand then clickDelete.
To delete your project (and associated resources, including any clusters):
Go to the Projects page in the Google Cloud console:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThis guide explains how to use Cloud Code's Secret Manager integration to create, store, and manage secrets within your Google Cloud project.\u003c/p\u003e\n"],["\u003cp\u003eYou will learn how to create a secret, add it to your application code, and access its value at runtime using the Secret Manager API.\u003c/p\u003e\n"],["\u003cp\u003eThe guide demonstrates how to use the Cloud Run emulator to test your application locally after adding the secret, ensuring your secret is accessed correctly.\u003c/p\u003e\n"],["\u003cp\u003eYou can manage different versions of a secret, view their values, and disable or destroy specific secret versions as needed, allowing you to update your secrets without changing your code.\u003c/p\u003e\n"],["\u003cp\u003eInstructions are included on how to clean up resources by deleting either the cluster or the entire project created for this process, once you are done with the tutorial.\u003c/p\u003e\n"]]],[],null,["Learn how to create and manage secrets using Cloud Code's Secret Manager\nintegration.\n\n*** ** * ** ***\n\nTo follow step-by-step guidance for this task directly in the\nCloud Shell Editor, click **Guide me**:\n\n[Guide me](https://console.cloud.google.com/?walkthrough_id=shell--secret_manager_cloud_code_create_secret)\n\n*** ** * ** ***\n\nBefore you begin\n\n1. In the Google Cloud console, go to the project selector page.\n\n [Go to project selector](https://console.cloud.google.com/projectselector2/home/dashboard)\n2. Select or create a Google Cloud project.\n\n | **Note**: If you don't plan to keep the resources that you create in this procedure, create a project instead of selecting an existing project. After you finish these steps, you can delete the project, removing all resources associated with the project.\n\nCreate your Cloud Run service\n3. Use Cloud Shell Editor as your environment for creating your Cloud Run service and secret. The editor comes preloaded with the tools needed for cloud development.\n4. To create your service:\n 1. In the Cloud Code status bar, click the active project name.\n\n 2. In the Quick Pick menu that appears, select click **New Application** , and\n then click **Cloud Run Application**.\n\n 3. From the list of Cloud Run samples, select **Python (Flask): Cloud Run**.\n\n 4. Select a folder for your sample and then click **Create New Application**.\n\n5. After Cloud Shell Editor loads your service in a new workspace, view its files in the explorer view.\n\nCreate a secret\n6. [Secret Manager](https://cloud.google.com/secret-manager/) allows you to securely store, manage, and access secrets as binary blobs or text strings. Additionally, it manages your secrets, meaning you don't have to deal with virtual machines or operating services.\n7. To create a secret with Cloud Code's Secret Manager integration:\n 1. Click Secret Manager and give it a moment to load.\n 2. If prompted to authorize Cloud Shell to make Google Cloud API calls, click **Authorize**.\n 3. Click add Create Secret.\n 4. If prompted, select your Google Cloud project from the dropdown selector.\n 5. If prompted, enable the Secret Manager API.\n 6. In the **Secret Manager - Create Secret** tab that appears, enter the\n following in the **Name** field:\n\n my-secret\n\n 7. In the **Secret Value** field, enter:\n\n Hello secret!\n\n 8. Click **Create Secret** and a message that your secret was successfully\n created appears.\n\nAdd a secret to your code\n8. Secrets are great for storing configuration information such as database passwords, API keys, or TLS certificates needed by an application at runtime.\n9. To add a secret to your code:\n 1. Open the\n Cloud API view and select the\n Secret Manager API.\n\n This opens a Google Cloud API Detail tab with **Secret Manager API** as the\n heading.\n 2. In the **Install Client Library** section, click the **Python** tab and\n click play_arrow **Run in terminal** .\n This installs the `google-cloud-secret-manager` client library.\n\n 3. Open\n requirements.txt\n and add the following line to the bottom of the file:\n\n google-cloud-secret-manager==\u003cvar translate=\"no\"\u003eVERSION_NUMBER\u003c/var\u003e\n\n You can find the version number in the console after you run the\n installation in the previous step. For example, the console might show:\n `Successfully installed google-cloud-secret-manager-2.23.1`\n\n Your changes are automatically saved.\n 4. To get the latest value of your secret, open\n app.py\n and copy and paste the following function:\n after the hello function:\n\n def access_secret_version(secret_version_id):\n \"\"\"Return the value of a secret's version\"\"\"\n from google.cloud import secretmanager\n\n # Create the Secret Manager client.\n client = secretmanager.https://cloud.google.com/python/docs/reference/secretmanager/latest/google.cloud.secretmanager_v1.services.secret_manager_service.SecretManagerServiceClient.html()\n\n # Access the secret version.\n response = client.https://cloud.google.com/python/docs/reference/secretmanager/latest/google.cloud.secretmanager_v1.services.secret_manager_service.SecretManagerServiceClient.html#google_cloud_secretmanager_v1_services_secret_manager_service_SecretManagerServiceClient_access_secret_version(name=secret_version_id)\n\n # Return the decoded payload.\n return response.payload.data.decode('UTF-8')\n\n 5. To call the `access_secret_version` function, replace the\n message variable\n with the following:\n\n message = access_secret_version(\"\u003cSECRET_VERSION_ID\u003e\")\n\n 6. If you still have the **Secret Manager - Create Secret** tab open,\n file_copy **Copy** the ID.\n\n To get the ID of a secret version at any time, navigate to\n Secret Manager \\\u003e \\[SECRET_NAME\\] \\\u003e Versions, hold the\n pointer over over your version, and click\n\n **Copy resource ID**.\n 7. To add the version ID, replace the placeholder\n `\u003cSECRET_VERSION_ID\u003e`\n with your copied version ID.\n\nRun on Cloud Run emulator\n10. To test your new secret, run your Cloud Run service locally on the Cloud Run emulator.\n 1. Launch the Cloud Code menu from the status bar.\n 2. To build and deploy your service to the emulator, select **Run\n on Cloud Run Emulator**.\n 3. In the Run/Debug on Cloud Run Emulator tab that appears, click **Run**.\n 4. When running the configuration for the first time, this process can take up\n to 5 minutes. The\n **Output**\n panel displays the progress as your app is built and deployed.\n\n 5. After your app is built, launch your app by clicking the localhost link that\n appears in your\n **Output**\n panel. Your secret's value is displayed under the success graphic.\n\nView and create a new secret version\n11. Cloud Code's Secret Manager view gives you a quick look at your project's secrets, with actions for managing them.\n\nViewing the value of a secret version\n 1. Click the Secret Manager view.\n 2. Expand your secret by clicking on it.\n 3. In the **Versions** folder, right-click the numbered version that you want to view the value of and select **Show Version Value**.\n12. Note that you can't edit a secret version. To update a secret's value, you must create a new *version*.\n\nCreate a new secret version\n13. The value of a secret is stored in a secret version. A secret can have many versions. This is helpful in situations where a secret changes. Updating a secret with a new version means you don't have to update your code.\n 1. Click the Secret Manager view.\n 2. Right-click your secret's name and select **Create Secret Version**.\n 3. In the **Secret Manager - Create Version** tab that appears, enter a new value and click **Create Version**.\n 4. After the **Secret Manager - Create Secret** tab opens, click file_copy **Copy** top copy the ID.\n 5. To add the newer version ID, replace the current version that appears the message variable in app.py with the newer version ID that you copied.\n14. If you always want your code to use the latest version, replace the version number at the end of your version ID with `latest`.\n\nView and manage secrets\n\nDisable a secret version\n15. Secret versions are enabled by default after creation, meaning they can be accessed. A disabled secret is inaccessible, but you can always restore access to it at any time.\n16. To disable a secret version:\n 1. Click **Cloud Code** and then expand the **Secret Manager** section.\n 2. Expand your secret by clicking on it.\n 3. Under the **Versions** folder, right-click the numbered version you want to disable.\n 4. Select **Disable Version**.\n\nDestroy a secret version\n17. When you destroy a secret version, it can't be accessed. Destroying a secret version is permanent.\n 1. Click **Cloud Code** and then expand the **Secret Manager** section.\n 2. Expand your secret by clicking on it.\n 3. Under the **Versions** folder, right-click the version you want to destroy.\n 4. Select **Destroy Version**.\n\nCleaning up\n18. To delete just the cluster you created for this quickstart:\n 1. Click **Cloud Code** and then expand the **Kubernetes** section.\n 2. Hold the pointer over your cluster name and then click open_in_new **Open in Google Cloud console**.\n 3. Click **Delete** and then click **Delete**.\n19. To delete your project (and associated resources, including any clusters):\n 1. Go to the Projects page in the Google Cloud console:\n\n [Go to the Projects page](https://console.cloud.google.com/project)\n 2. Select the project that you created for this quickstart and then click\n **Delete**.\n\n 3. Type the project ID to confirm and then click **Shut down**.\n\n This shuts down the project and schedules it for deletion."]]