查看 DNSSEC 密钥

DNSKEY 是包含公开签名密钥的 DNS 记录类型。在某些情况下,您可能需要查看 DNSKEY 记录,特别是要将带有 DNSSEC 签名的地区迁移到另一个 DNS 运营商的时候;根据 RFC 6781 中的流程,您需要将 Cloud DNS 地区中的地区签名密钥 (ZSK) 和密钥签名密钥 (KSK) 导入其他运营商的地区。

如果已为某一地区启用 DNSSEC,则 Cloud DNS 会自动管理 DNSSEC 密钥的创建和轮换(DNSKEY 记录)以及包含 RRSIG 记录的地区数据的签名。Cloud DNS 不支持密钥签名密钥 (KSK) 的自动轮换,因为 KSK 轮换目前需要与网域注册商进行手动互动,但支持地区签名密钥 (ZSK) 的全自动轮换。您可以使用命令行工具或 REST API 查看自动管理的 DNSKEY。

准备工作

如需查看 DNSSEC 密钥,您必须已创建一个托管地区,并且已为该地区启用 DNSSEC,以便创建 DNSKEY 记录。

对于以下所有 gcloud 命令行示例,您可以指定 --project 参数来对不同的项目执行操作。

显示当前 DNSKEY

要显示您的地区的当前 DNSKEY 记录,请按如下所述操作:

命令行

gcloud dns dns-keys list --zone [ZONE_NAME]

此命令以 JSON 格式输出所有 DNSKEY。

gcloud dns dns-keys describe --zone [ZONE_NAME] [KEY_ID]

此命令以 JSON 格式输出指定的 DNSKEY。

Python

      from apiclient import errors
      from apiclient.discovery import build

      PROJECT_NAME=''
      ZONE_NAME=''

      try:
        service = build('dns', 'v1')
        response = service.dnskeys().list(project=PROJECT_NAME,
                                          managedZone=ZONE_NAME).execute()
      except errors.HttpError, error:
        print 'An error occurred: %s' % error

      try:
        response = service.dnskeys().list(project=PROJECT_NAME,
                                          managedZone=ZONE_NAME,
                                          keyId=KEY_ID).execute()
      except errors.HttpError, error:
        print 'An error occurred: %s' % error
    

后续步骤