轮替密钥

本页面介绍如何更新用于签名请求的媒体 CDN 密钥。对于每个密钥集,最多可以有 3 个公钥和 3 个验证共享密钥,总共 6 个密钥。为防止在密钥轮替期间超出这些限制,请参阅以下有关如何删除验证共享密钥以及如何添加密钥的说明。

准备工作

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

  2. 向媒体 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_2KEY_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:您要更新的密钥的 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 结尾的最旧密钥:

    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:您要更新的密钥的 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 手动输入该密钥,或者创建新的密钥,然后选择该密钥。

  5. 从列表中选择密钥版本或创建新的密钥版本,然后选择它。

  6. 点击更新密钥集

gcloud

如需将密钥添加到密钥集,请使用 gcloud edge-cache keysets update 命令。指定您拥有的密钥集和要添加的密钥集。

在以下示例中,KEY_VERSION_1 之前已被删除,KEY_VERSION_4 是要添加的密钥集。列出 KEY_VERSION_4 以及 KEY_VERSION_2KEY_VERSION_3 会将它添加到密钥集。

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