You can assign aliases to secret versions for easier access. After an alias is assigned, you can access the secret versions using their aliases in the same way that you can access secret versions by their version number.
Required roles
To get the permissions that you need to assign an alias to a secret version,
ask your administrator to grant you the
Secret Manager Admin (roles/secretmanager.admin
) IAM role on the secret, project, folder, or organization.
For more information about granting roles, see Manage access to projects, folders, and organizations.
You might also be able to get the required permissions through custom roles or other predefined roles.
Assign an alias to a secret version
To assign an alias to a secret version, use one of the following methods:
Console
-
Go to the Secret Manager page in the Google Cloud console.
-
On the Secret Manager page, click the Regional secrets tab.
-
To edit a secret, use one of the following methods:
-
Click
Actions for the secret that you want to edit, and then click Edit. -
Click the secret name to go to the secret details page. On the secret details page, click
Edit secret.
-
-
On the Edit secret page, go to Version aliases, and then click Add alias.
-
Do the following:
-
Specify the alias name.
-
Select the secret version to which you will assign this alias.
-
-
Click Update secret.
gcloud
Before using any of the command data below, make the following replacements:
- SECRET_ID: the ID of the secret or fully qualified identifier for the secret.
- LOCATION: the Google Cloud location of the secret
- KEY: the version alias
- VALUE: the secret version number
Execute the following command:
Linux, macOS, or Cloud Shell
gcloud secrets update SECRET_ID --location=LOCATION \ --update-version-aliases=KEY=VALUE
Windows (PowerShell)
gcloud secrets update SECRET_ID --location=LOCATION ` --update-version-aliases=KEY=VALUE
Windows (cmd.exe)
gcloud secrets update SECRET_ID --location=LOCATION ^ --update-version-aliases=KEY=VALUE
The response contains the updated secret.
REST
Before using any of the request data, make the following replacements:
- LOCATION: the Google Cloud location of the secret
- PROJECT_ID: the Google Cloud project ID
- SECRET_ID: the ID of the secret or fully qualified identifier for the secret
- KEY: the version alias
- VALUE: the secret version number
HTTP method and URL:
PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=version_aliases
Request JSON body:
{'version-aliases': {'KEY': 'VALUE'}}
To send your request, choose one of these options:
curl
Save the request body in a file named request.json
,
and execute the following command:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=version_aliases"
PowerShell
Save the request body in a file named request.json
,
and execute the following command:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=version_aliases" | Select-Object -Expand Content
You should receive a JSON response similar to the following:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-04T06:34:32.995517Z", "etag": "\"16214584d1479c\"", "versionAliases": { "nonprod": "1" } }
Go
To run this code, first set up a Go development environment and install the Secret Manager Go SDK. On Compute Engine or GKE, you must authenticate with the cloud-platform scope.
Java
To run this code, first set up a Java development environment and install the Secret Manager Java SDK. On Compute Engine or GKE, you must authenticate with the cloud-platform scope.
Node.js
To run this code, first set up a Node.js development environment and install the Secret Manager Node.js SDK. On Compute Engine or GKE, you must authenticate with the cloud-platform scope.
What's next
- Learn how to list regional secret versions and view version details.
- Learn how to ensure data integrity when adding and accessing secret versions.