轮替 Secret

本页介绍了如何更新用于签名请求的 Media CDN 密钥。您最多可以拥有 3 个公钥和 3 个验证共享密钥, 每个密钥集总共 6 个密钥。为防止在广告投放期间 密钥轮替,请参阅以下说明,了解如何删除验证 共享钥匙以及如何添加钥匙。

准备工作

  1. 在 Secret Manager 中配置验证共享密钥

  2. 向 Media CDN 服务账号授予 Secret Manager Access 角色 (roles/secretmanager.secretAccessor)。

    控制台

    1. 在 Google Cloud 控制台中,前往 Secret Manager 页面。

      前往 Secret Manager

    2. 选择相应密钥。
    3. 在信息面板中,点击添加主账号
    4. 对于新的主账号,请按如下方式输入媒体 CDN 服务账号:
      service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com

      PROJECT_NUMBER 替换为您的 项目编号。

    5. 选择角色部分,选择 Secret Manager,然后 选择 Secret Manager Secret Accessor
    6. 点击保存

    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

删除密钥

控制台

  1. 在 Google Cloud 控制台中,前往媒体 CDN 页面。

    前往媒体 CDN

  2. 点击密钥集标签页。

  3. 选择具有您要删除的密钥的密钥集,然后 点击修改

  4. 要删除密钥,请在密钥 > 验证共享密钥部分中执行以下操作: 点击“删除密钥。

  5. 点击更新密钥集

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:密钥版本

文本编辑器

  1. 将密钥集导出到 YAML 文件。使用 gcloud edge-cache keysets export 命令

    gcloud edge-cache keysets export KEYSET_NAME \
        --destination=FILENAME.yaml
    

    替换以下内容:

    • KEYSET_NAME:您的 密钥集 - 例如 prod-vod-keyset
    • FILENAME:YAML 文件名
  2. 修改导出的密钥集配置文件,以移除密钥。 以下示例展示了如何移除以 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"
    
  3. 导入修改后的密钥集。使用 gcloud edge-cache keysets import 命令

    gcloud edge-cache keysets import KEYSET_NAME \
        --source=FILENAME.yaml
    

添加密钥

控制台

  1. 在 Google Cloud 控制台中,前往媒体 CDN 页面。

    前往“媒体 CDN”

  2. 点击密钥集标签页。

  3. 选择要为其添加密钥对的密钥集,然后点击修改

  4. 要添加密钥,请在密钥 > 验证共享密钥部分中执行以下操作: 点击密钥。然后,从列表中选择一个密钥, 通过指定其资源 ID 来手动输入密钥,或者 创建新的 Secret 然后选择它

  5. 从列表中选择一个密文版本或创建新的密文版本,然后选择该版本。

  6. 点击更新密钥集

gcloud

要将密钥添加到密钥集,请使用 gcloud edge-cache keysets update 命令。指定您已有的键集以及要添加的键集。

在以下示例中,KEY_VERSION_1 之前已被删除,KEY_VERSION_4 是添加的键集。除了 KEY_VERSION_2KEY_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:密钥版本

文本编辑器

  1. 将密钥集导出到 YAML 文件。使用 gcloud edge-cache keysets export 命令

    gcloud edge-cache keysets export KEYSET_NAME \
        --destination=FILENAME.yaml
    

    替换以下内容:

    • KEYSET_NAME:密钥集的名称
    • FILENAME:YAML 文件名
  2. 在导出的密钥集配置文件中,添加新的 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"
    
  3. 导入修改后的键集。使用 gcloud edge-cache keysets import 命令

    gcloud edge-cache keysets import KEYSET_NAME \
        --source=FILENAME.yaml