本页介绍了如何更新用于签名请求的 Media CDN 密钥。您最多可以拥有 3 个公钥和 3 个验证共享密钥, 每个密钥集总共 6 个密钥。为防止在广告投放期间 密钥轮替,请参阅以下说明,了解如何删除验证 共享钥匙以及如何添加钥匙。
准备工作
向 Media CDN 服务账号授予 Secret Manager Access 角色 (
roles/secretmanager.secretAccessor
)。控制台
在 Google Cloud 控制台中,前往 Secret Manager 页面。
- 选择相应密钥。
- 在信息面板中,点击添加主账号。
对于新的主账号,请按如下方式输入媒体 CDN 服务账号:
service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com
将
PROJECT_NUMBER
替换为您的 项目编号。- 在选择角色部分,选择 Secret Manager,然后 选择 Secret Manager Secret Accessor。
- 点击保存。
gcloud
使用
gcloud secrets add-iam-policy-binding
命令:gcloud secrets add-iam-policy-binding projects/PROJECT_NUMBER/secrets/SECRET_ID \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com" \ --role="roles/secretmanager.secretAccessor"
替换以下内容:
PROJECT_NUMBER
:您的项目编号SECRET_ID
:密钥的 ID
删除密钥
控制台
在 Google Cloud 控制台中,前往媒体 CDN 页面。
点击密钥集标签页。
选择具有您要删除的密钥的密钥集,然后 点击修改。
要删除密钥,请在密钥 > 验证共享密钥部分中执行以下操作: 点击“ ” 删除密钥。
点击更新密钥集。
gcloud
如需从密钥集中删除密钥,请使用 gcloud edge-cache keysets
update
命令。忽略
密钥集,并指定您要保留的密钥集。
在以下示例中,KEY_VERSION_1
,而 KEY_VERSION_2
和
已列出KEY_VERSION_3
。省略
KEY_VERSION_1
会将其从密钥集中删除。
gcloud edge-cache keysets update KEYSET_NAME \ --validation-shared-key='secret_version=projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_2' --validation-shared-key='secret_version=projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_3'
替换以下内容:
KEYSET_NAME
:密钥集的名称PROJECT_NUMBER
:您的项目编号SECRET_ID
:需要指定此密钥的 Secret 的 ID 你正在更新KEY_VERSION
:密钥版本
文本编辑器
将密钥集导出到 YAML 文件。使用
gcloud edge-cache keysets export
命令。gcloud edge-cache keysets export KEYSET_NAME \ --destination=FILENAME.yaml
替换以下内容:
KEYSET_NAME
:您的 密钥集 - 例如prod-vod-keyset
FILENAME
:YAML 文件名
修改导出的密钥集配置文件,以移除密钥。 以下示例展示了如何移除以 KEY_VERSION_1 结尾的最早 Secret 密钥:
name: projects/my-project/locations/global/edgeCacheKeysets/prod-vod-keyset validationSharedKeys: - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_1" - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_2" - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_3"
替换以下内容:
PROJECT_NUMBER
:您的项目编号SECRET_ID
:需要指定此密钥的 Secret 的 ID 你正在更新KEY_VERSION
:密钥版本
修改后的文件类似于以下内容:
name: projects/my-project/locations/global/edgeCacheKeysets/prod-vod-keyset validationSharedKeys: - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_2" - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_3"
导入修改后的密钥集。使用
gcloud edge-cache keysets import
命令:gcloud edge-cache keysets import KEYSET_NAME \ --source=FILENAME.yaml
添加密钥
控制台
在 Google Cloud 控制台中,前往媒体 CDN 页面。
点击密钥集标签页。
选择要为其添加密钥对的密钥集,然后点击修改。
要添加密钥,请在密钥 > 验证共享密钥部分中执行以下操作: 点击密钥。然后,从列表中选择一个密钥, 通过指定其资源 ID 来手动输入密钥,或者 创建新的 Secret 然后选择它
从列表中选择一个密文版本或创建新的密文版本,然后选择该版本。
点击更新密钥集。
gcloud
要将密钥添加到密钥集,请使用 gcloud edge-cache keysets update
命令。指定您已有的键集以及要添加的键集。
在以下示例中,KEY_VERSION_1
之前已被删除,KEY_VERSION_4
是添加的键集。除了 KEY_VERSION_2
和 KEY_VERSION_3
之外,列出 KEY_VERSION_4
会将其添加到键集。
gcloud edge-cache keysets update KEYSET_NAME \ --validation-shared-key='secret_version=projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_2' --validation-shared-key='secret_version=projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_3' --validation-shared-key='secret_version=projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_4'
替换以下内容:
KEYSET_NAME
:密钥集的名称PROJECT_NUMBER
:您的项目编号SECRET_ID
:您的 Secret 的 ID 正在更新KEY_VERSION
:密钥版本
文本编辑器
将密钥集导出到 YAML 文件。使用
gcloud edge-cache keysets export
命令。gcloud edge-cache keysets export KEYSET_NAME \ --destination=FILENAME.yaml
替换以下内容:
KEYSET_NAME
:密钥集的名称FILENAME
:YAML 文件名
在导出的密钥集配置文件中,添加新的
secretVersion
这一行,其中包含新密钥版本,类似于以下内容:name: projects/my-project/locations/global/edgeCacheKeysets/prod-vod-keyset validationSharedKeys: - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_2" - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_3" - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_4"
导入修改后的键集。使用
gcloud edge-cache keysets import
命令:gcloud edge-cache keysets import KEYSET_NAME \ --source=FILENAME.yaml