View a markdown version of this page

为注册表配置 KMS 密钥 - 亚马逊基岩 AgentCore

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为注册表配置 KMS 密钥

KMS 密钥决定您的注册表如何加密静态数据。您可以选择存储在账户中并通过 AWS KMS 管理的 AWS 自有密钥或客户管理的密钥。您只能在注册表创建期间配置 KMS 密钥。创建注册表后,您无法更改 KMS 密钥。

重要

创建注册表后,您无法更改 KMS 密钥。在创建注册表之前,请确保选择正确的密钥。

控制台

  1. 打开AWS 代理注册表控制台并选择创建注册表。

  2. 填写必填字段(“名称” 和 “描述” 、“发现授权” 、“记录批准” 和 “标签”)。

  3. 展开 KMS 密钥-可选部分。

  4. 在 KMS 密钥选择下,您的数据默认使用我们为您拥有和管理的密钥进行加密。要选择其他密钥,请自定义您的加密设置:

    • AWS 拥有的密钥(默认)-将 “自定义加密设置(高级)” 复选框保持未选中状态。我们拥有并管理 KMS 密钥。

    • 客户管理的密钥 -选中 “自定义加密设置(高级)” 复选框。在 “选择 AWS KMS 密钥” 字段中,输入 ARN 或选择 “创建 AWS KMS 密钥” 以打开 AWS KMS 控制台并创建新密钥。

  5. 选择 “创建注册表” 。

要在创建后确认加密类型,请查看注册表详细信息页面并检查 KMS 密钥部分。

AWS CLI

以下示例使用客户管理的密钥创建注册表:

aws agent-registry-control create-registry \ --name "MyEncryptedRegistry" \ --description "Registry with customer managed encryption" \ --encryption-configuration '{"kmsKeyArn":"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"}' \ --region us-east-1

要使用默认 AWS 拥有的密钥创建注册表,请省略--encryption-configuration参数:

aws agent-registry-control create-registry \ --name "MyRegistry" \ --description "Registry with default encryption" \ --region us-east-1

AWS SDK

以下 Python 示例使用客户管理的密钥创建注册表:

import boto3 client = boto3.client('agent-registry-control') response = client.create_registry( name='MyEncryptedRegistry', description='Registry with customer managed encryption', encryptionConfiguration={ 'kmsKeyArn': 'arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' } ) print(f"Registry ID: {response['registryId']}")

要使用默认 AWS 拥有的密钥创建注册表,请省略encryptionConfiguration参数:

import boto3 client = boto3.client('agent-registry-control') response = client.create_registry( name='MyRegistry', description='Registry with default encryption' ) print(f"Registry ID: {response['registryId']}")

验证加密配置

要验证现有注册表的 KMS 密钥配置,请使用GetRegistry:

import boto3 client = boto3.client('agent-registry-control') response = client.get_registry( registryId='<registryId>' ) encryption_config = response.get('encryptionConfiguration') if encryption_config: print(f"KMS Key ARN: {encryption_config['kmsKeyArn']}") else: print("Encryption: AWS owned key (default)")

如果您的GetRegistry响应不包含encryptionConfiguration参数,则您的注册表将配置为使用 AWS 自有密钥加密静态数据。