

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

# 创建和管理注册表
<a name="registry-create-manage"></a>

**迁移现已开放**  
 Amazon 代理注册表已在新`agent-registry`命名空间下启动。2026 年 10 月 30 日将停止对公共预览版`bedrock-agentcore`命名空间的支持。有关迁移说明，请参阅[注册表迁移综合指南](registry-faq.md)。

## 创建注册表
<a name="registry-create"></a>

### 控制台
<a name="registry-create-console"></a>

**Example**  

1. 打开[Amazon 代理注册表控制台](https://console.amazonaws.cn/agent-registry/home?region=us-east-1#)。

1. 在导航窗格的 “**发现**” 下，选择 “**注册表**”。

1. 在 “**注册表**” 部分，选择 “**创建注册表**”。

1. 在**名称**中，输入注册表的名称。名称必须以字母或数字开头。有效字符为 a-z、 A-Z、0-9、\_（下划线）、-（连字符）、。 （点）和/（正斜杠）。该名称最多可包含 64 个字符。

1. （可选）展开**其他详细信息**并输入**描述**（1—4,096 个字符）。

1. （可选）展开 D **iscovery Authorization 以配置用户在注册表中发现记录时的授权方式，包括搜索、浏览已批准的记录目录、批量获取已批准的记录以及调用注册表的 MCP 端点（入站授权**）。选择 ** Amazon IAM** 使用标准 Amazon 证书，或选择 **JSON Web 令牌 (JWT)** 使用您的企业身份提供商证书。如果您选择 JWT，则可以使用 Cognito 快速创建，也可以通过提供发现网址、受众、范围、自定义声明和客户来创建自己的 IdP。

1. 在**记录批准**下，选择是否启用**Auto-approval**。禁用自动审批后，策展人必须先审查和审批每条记录，之后记录才会变得可供搜索。

1. （可选）展开**标签**以向注册表添加标签。标签是键值对，可帮助您分类、搜索和管理注册表。每个标签都包含一个必填键和一个可选值。

1. （可选）扩展 **KMS 密钥**以使用客户托管密钥配置静态加密。默认情况下，您的注册表使用 Amazon 自有密钥进行加密。要使用自己的密钥，请选择**自定义加密设置（高级）**并输入您的 KMS 密钥的 ARN，或者选择**创建 Amazon KMS 密钥**来创建新密钥。注册表创建后，无法更改 KMS 密钥。有关更多信息，请参阅[Amazon 代理注册表中的数据保护](registry-data-protection.md)。

1. 选择 “**创建注册表**”。

1. 打开 [Amazon Bedrock AgentCore 控制台](https://console.amazonaws.cn/bedrock-agentcore/home?region=us-east-1#)。

1. 在导航窗格的 “**发现**” 下，选择 “**注册表**”。

1. 在 “**注册表**” 部分，选择 “**创建注册表**”。

1. 在**名称**中，输入注册表的名称。名称必须以字母或数字开头。有效字符为 a-z、 A-Z、0-9、\_（下划线）、-（连字符）、。 （点）和/（正斜杠）。该名称最多可包含 64 个字符。

1. （可选）展开**其他详细信息**并输入**描述**（1—4,096 个字符）。

1. （可选）展开 **Search API 授权**以配置消费者在搜索注册表时如何授权（入站授权）。选择 ** Amazon IAM** 使用标准 Amazon 证书，或选择 **JSON Web 令牌 (JWT)** 使用您的企业身份提供商证书。如果您选择 JWT，则可以使用 Cognito 快速创建，也可以通过提供发现网址、受众、范围、自定义声明和客户来创建自己的 IdP。

1. 在**记录批准**下，选择是否启用**Auto-approval**。禁用自动审批后，策展人必须先审查和审批每条记录，之后记录才会变得可供搜索。

1. （可选）扩展 **KMS 密钥**以使用客户托管密钥配置静态加密。默认情况下，您的注册表使用 Amazon 自有密钥进行加密。要使用自己的密钥，请选择**自定义加密设置（高级）**并输入您的 KMS 密钥的 ARN，或者选择**创建 Amazon KMS 密钥**来创建新密钥。注册表创建后，无法更改 KMS 密钥。有关更多信息，请参阅[Amazon 代理注册表中的数据保护](registry-data-protection.md)。

1. 选择 “**创建注册表**”。

注册表状态开始为 “**正在创建**”，置备完成后会转换为 “**就绪**”。

**重要**  
Auto-approved 记录会跳过人工审核，并在提交后立即被发现。如果您启用自动批准，请使用补偿性控件，例如：  
限制谁有权提交记录，例如限制对`SubmitRegistryRecordForApproval`操作的访问权限。
使用 [Amazon EventBridge 事件](registry-eventbridge.md)触发对已提交记录的自动检查，并弃用未通过检查的记录。
在消费者端验证记录元数据。有关更多信息，请参阅在对[记录元数据进行操作之前对其进行验证](registry-data-protection.md#registry-consumer-validation)。

**注意**  
对于启用 JWT 的注册机构，至少需要一个 **JWT 授权配置**字段：允许的受众、允许的客户端、允许的范围或自定义声明。如果您配置了多个配置，则 Amazon 代理注册表会对所有配置进行验证。

### Amazon CLI
<a name="registry-create-cli"></a>

 **IAM-based 注册表：**

**Example**  

```
aws agent-registry-control create-registry \
  --name "MyRegistry" \
  --description "Production registry" \
  --region us-east-1
```

```
aws bedrock-agentcore-control create-registry \
  --name "MyRegistry" \
  --description "Production registry" \
  --region us-east-1
```

 **JWT-based 注册表：**

**Example**  

```
aws agent-registry-control create-registry \
  --name "MyOAuthRegistry" \
  --discovery-configuration '{"authorizerType": "CUSTOM_JWT", "authorizerConfiguration": {"customJWTAuthorizer": {"discoveryUrl": "https://cognito-idp.us-east-1.amazonaws.com/<poolId>/.well-known/openid-configuration", "allowedClients": ["<appClientId>"]}}}' \
  --region us-east-1
```

```
aws bedrock-agentcore-control create-registry \
  --name "MyOAuthRegistry" \
  --authorizer-type CUSTOM_JWT \
  --authorizer-configuration '{"customJWTAuthorizer": {"discoveryUrl": "https://cognito-idp.us-east-1.amazonaws.com/<poolId>/.well-known/openid-configuration", "allowedClients": ["<appClientId>"]}}' \
  --region us-east-1
```

#### 使用客户托管密钥的注册表
<a name="_registry_with_a_customer_managed_key"></a>

**Example**  

```
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/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222"}' \
  --region us-east-1
```

```
aws bedrock-agentcore-control create-registry \
  --name "MyEncryptedRegistry" \
  --description "Registry with customer managed encryption" \
  --encryption-configuration '{"kmsKeyArn":"arn:aws:kms:us-east-1:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222"}' \
  --region us-east-1
```

**注意**  
您只能在注册表创建期间设置该`--encryption-configuration`参数。注册表创建后，您无法更改 KMS 密钥。如果省略此参数，则默认情况下，注册表将使用 Amazon 自有的密钥。

### Amazon SDK
<a name="registry-create-sdk"></a>

 **IAM-based 注册表：**

**Example**  

```
import boto3

client = boto3.client('agent-registry-control')

response = client.create_registry(
    name='MyRegistry',
    description='Production registry'
)
print(response['registryArn'])
```

```
import boto3

client = boto3.client('bedrock-agentcore-control')

response = client.create_registry(
    name='MyRegistry',
    description='Production registry'
)
print(response['registryArn'])
```

 **JWT-based 注册表：**

**Example**  

```
import boto3

client = boto3.client('agent-registry-control')

response = client.create_registry(
    name='MyOAuthRegistry',
    discoveryConfiguration={
        'authorizerType': 'CUSTOM_JWT',
        'authorizerConfiguration': {
            'customJWTAuthorizer': {
                'discoveryUrl': 'https://cognito-idp.us-east-1.amazonaws.com/<poolId>/.well-known/openid-configuration',
                'allowedClients': ['<appClientId>']
            }
        }
    }
)
print(response['registryArn'])
```

```
import boto3

client = boto3.client('bedrock-agentcore-control')

response = client.create_registry(
    name='MyOAuthRegistry',
    authorizerType='CUSTOM_JWT',
    authorizerConfiguration={
        'customJWTAuthorizer': {
            'discoveryUrl': 'https://cognito-idp.us-east-1.amazonaws.com/<poolId>/.well-known/openid-configuration',
            'allowedClients': ['<appClientId>']
        }
    }
)
print(response['registryArn'])
```

#### 使用客户托管密钥的注册表
<a name="_registry_with_a_customer_managed_key_2"></a>

**Example**  

```
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/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222'
    }
)
print(response['registryArn'])
```

```
import boto3

client = boto3.client('bedrock-agentcore-control')

response = client.create_registry(
    name='MyEncryptedRegistry',
    description='Registry with customer managed encryption',
    encryptionConfiguration={
        'kmsKeyArn': 'arn:aws:kms:us-east-1:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222'
    }
)
print(response['registryArn'])
```

## 列出注册表
<a name="registry-list"></a>

### 控制台
<a name="registry-list-console"></a>

**Example**  

1. 打开[Amazon 代理注册表控制台](https://console.amazonaws.cn/agent-registry/home?region=us-east-1#)。

1. 在导航窗格的 “**发现**” 下，选择 “**注册表**”。

1. **注册**表显示您账户中的所有注册机构，其中包含以下几列：

   1.  **名称**-注册表名称（链接到详情页面）。

   1.  **描述**-注册表描述（如果提供）。

   1.  **身份验证类型** — 入站授权方法（AWS\_IAM 或 CUSTOM\_JWT）。

   1.  **状态**-当前状态（“创建”、“就绪”、“更新”、“删除” 或 “失败” 状态）。

   1.  **ARN — 注册表** Amazon 资源名称。

   1.  **已创建**-创建时间戳。

   1.  **上次更新时间**-上次修改时间戳。

1. 使用**查找注册表**搜索栏按名称进行筛选。

1. 使用分页控件浏览结果。

1. 打开 [Amazon Bedrock AgentCore 控制台](https://console.amazonaws.cn/bedrock-agentcore/home?region=us-east-1#)。

1. 在导航窗格的 “**发现**” 下，选择 “**注册表**”。

1. **注册**表显示您账户中的所有注册机构，其中包含以下几列：

   1.  **名称**-注册表名称（链接到详情页面）。

   1.  **描述**-注册表描述（如果提供）。

   1.  **授权类型**-入站授权方法（AWS\_IAM 或 CUSTOM\_JWT）。

   1.  **状态**-当前状态（“创建”、“就绪”、“更新”、“删除” 或 “失败” 状态）。

   1.  **ARN — 注册表** Amazon 资源名称。

   1.  **已创建**-创建时间戳。

   1.  **上次更新时间**-上次修改时间戳。

1. 使用**查找注册表**搜索栏按名称进行筛选。

1. 使用分页控件浏览结果。

### Amazon CLI
<a name="registry-list-cli"></a>

**Example**  

```
aws agent-registry-control list-registries \
  --region us-east-1
```

```
aws bedrock-agentcore-control list-registries \
  --region us-east-1
```

### Amazon SDK
<a name="registry-list-sdk"></a>

**Example**  

```
import boto3

client = boto3.client('agent-registry-control')

response = client.list_registries()
for registry in response['registries']:
    print(f"{registry['name']} - {registry['status']} - {registry['registryArn']}")
```

```
import boto3

client = boto3.client('bedrock-agentcore-control')

response = client.list_registries()
for registry in response['registries']:
    print(f"{registry['name']} - {registry['status']} - {registry['registryArn']}")
```

## 查看注册表详情
<a name="registry-view-details"></a>

### 控制台
<a name="registry-view-console"></a>

**Example**  

1. 打开[Amazon 代理注册表控制台](https://console.amazonaws.cn/agent-registry/home?region=us-east-1#)。

1. 在导航窗格的 “**发现**” 下，选择 “**注册表**”。

1. 从 “注册表” 表中选择**注册**表名称。

1. 注册表详情页面显示以下可折叠部分：

   1.  **注册表详情**-显示名称、状态、描述、 Auto-approval （启用或禁用）、注册表 ARN、上次更新日期和创建日期。

   1.  **注册表记录**-显示状态摘要计数器（已提交总数、待批准、已批准、已弃用、已拒绝）和提交到该注册表的记录的记录表。在这里，您可以创建、查看或管理记录。

   1.  **发现授权**（入站授权）-显示当前的授权类型（AWS\_IAM 或 CUSTOM\_JWT），以及 JWT-authorized 注册管理机构的 JWT 授权方配置。

   1.  **示例代码**-提供常见操作（创建、批准、列出和发现记录）的示例代码，您可以复制和改编这些代码。

   1.  **标签**-以键值表的形式显示与注册表关联的标签。要添加、移除或修改标签，请在此部分中选择 **“编辑**” 以打开 **“编辑标签**” 页面。

1. 要修改注册表，请选择**编辑**。要删除注册表，请选择**删除**。

1. 要搜索或浏览此注册表中已批准的记录，请选择页面右上角的 “**记录目录**”（或在导航窗格中）。有关发现演练[，请参阅代理注册表入门](registry-get-started.md)。

1. 打开 [Amazon Bedrock AgentCore 控制台](https://console.amazonaws.cn/bedrock-agentcore/home?region=us-east-1#)。

1. 在导航窗格的 “**发现**” 下，选择 “**注册表**”。

1. 从 “注册表” 表中选择**注册**表名称。

1. 注册表详情页面有两个选项卡：

   1.  **管理记录**-查看和管理注册表记录。

   1.  **搜索记录**-在注册表中搜索已批准的记录。

1. **注册表详情**部分显示：名称、状态、描述、 Auto-approval （启用或禁用）、注册表 ARN、上次更新日期、创建日期。

1. **注册表记录**部分显示状态摘要计数器（已提交总数、待批准、已批准、已弃用、已拒绝）和记录表。

1. **搜索 API 授权**（入站授权）部分显示了当前的授权类型。

### Amazon CLI
<a name="registry-view-cli"></a>

**Example**  

```
aws agent-registry-control get-registry \
  --registry-id "<registryId>" \
  --region us-east-1
```

```
aws bedrock-agentcore-control get-registry \
  --registry-id "<registryId>" \
  --region us-east-1
```

### Amazon SDK
<a name="registry-view-sdk"></a>

**Example**  

```
import boto3

client = boto3.client('agent-registry-control')

response = client.get_registry(
    registryId='<registryId>'
)
print(f"Name: {response['name']}")
print(f"Status: {response['status']}")
print(f"ARN: {response['registryArn']}")
```

```
import boto3

client = boto3.client('bedrock-agentcore-control')

response = client.get_registry(
    registryId='<registryId>'
)
print(f"Name: {response['name']}")
print(f"Status: {response['status']}")
print(f"ARN: {response['registryArn']}")
```

## 更新注册表
<a name="registry-update"></a>

### 控制台
<a name="registry-update-console"></a>

**Example**  

1. 打开[Amazon 代理注册表控制台](https://console.amazonaws.cn/agent-registry/home?region=us-east-1#)。

1. 在导航窗格的 “**发现**” 下，选择 “**注册表**”。

1. 选择要编辑的注册表旁边的单选按钮，然后选择**编辑**。或者，选择注册表名称，然后选择**编辑**。

1. 在**编辑注册表**页面上，更新以下任意内容：

   1.  **名称**-更改注册表名称（与创建注册表的命名规则相同）。

   1.  **描述**-在 “**其他详细信息**” 下，更新或添加描述。

   1.  **记录批准**-开**Auto-approval**启或关闭。更改仅影响更新后提交的记录。

   1.  **发现授权**-对于 JWT-authorized 注册管理机构，更新 JWT 授权方配置（允许的客户端、受众、范围或自定义声明）。注册表创建后，无法更改入站授权类型本身（IAM 或 JWT）。

1. 选择**保存更改**。

1. 打开 [Amazon Bedrock AgentCore 控制台](https://console.amazonaws.cn/bedrock-agentcore/home?region=us-east-1#)。

1. 在导航窗格的 “**发现**” 下，选择 “**注册表**”。

1. 选择要编辑的注册表旁边的单选按钮，然后选择**编辑**。或者，选择注册表名称，然后选择**编辑**。

1. 在**编辑注册表**页面上，更新以下任意内容：

   1.  **名称**-更改注册表名称（与创建注册表的命名规则相同）。

   1.  **描述**-在 “**其他详细信息**” 下，更新或添加描述。

   1.  **记录批准**-开**Auto-approval**启或关闭。更改仅影响更新后提交的记录。

1. 选择**保存更改**。

**注意**  
无法从 “编辑**注册表” 页面编辑**标签。要修改标签，请转到注册表详细信息页面，在 **“**标签**” 部分选择 “编辑”**，在 **“编辑标签” 页面上添加或删除标签**，然后选择 “**保存更改**”。（只有 Amazon 代理注册表控制台支持标记。）

**注意**  
将自动批准配置从 OFF 更新为 ON 仅影响更改后提交的记录。已经 “待批准” 的现有记录不受影响，仍必须通过调用 API 进行批准或拒绝。 UpdateRegistryRecordStatus 将配置从 ON 更改为 OFF 仅影响更改后发布到 “待批准” 的记录。

**重要**  
开启自动批准功能会移除对新记录的人工审查，因此在开启自动批准之前，请先设置补偿控制措施。有关补偿控件的更多信息，请参阅[创建注册表](#registry-create)。

**注意**  
注册表创建后，无法更改入站授权类型（IAM 或 JWT）和 JWT 发现 URL。对于 JWT-authorized 注册机构，您只能更新授权方配置（允许的客户端、受众、范围、自定义声明）。

### Amazon CLI
<a name="registry-update-cli"></a>

**Example**  

```
aws agent-registry-control update-registry \
  --registry-id "<registryId>" \
  --description '{"optionalValue": "Updated description"}' \
  --region us-east-1
```

```
aws bedrock-agentcore-control update-registry \
  --registry-id "<registryId>" \
  --description '{"optionalValue": "Updated description"}' \
  --region us-east-1
```

### Amazon SDK
<a name="registry-update-sdk"></a>

**Example**  

```
import boto3

client = boto3.client('agent-registry-control')

response = client.update_registry(
    registryId='<registryId>',
    description={'optionalValue': 'Updated description'}
)
print(f"Updated: {response['name']} - Status: {response['status']}")
```

```
import boto3

client = boto3.client('bedrock-agentcore-control')

response = client.update_registry(
    registryId='<registryId>',
    description={'optionalValue': 'Updated description'}
)
print(f"Updated: {response['name']} - Status: {response['status']}")
```

## 删除注册表
<a name="registry-delete"></a>

### 控制台
<a name="registry-delete-console"></a>

**Example**  

1. 打开[Amazon 代理注册表控制台](https://console.amazonaws.cn/agent-registry/home?region=us-east-1#)。

1. 在导航窗格的 “**发现**” 下，选择 “**注册表**”。

1. 选择要删除的注册表旁边的单选按钮，然后选择**删除**。

1. 在确认对话框中，查看警告：在删除注册表之前，必须先删除所有注册表记录。

1. 在确认字段中键入 **delete**。

1. 选择**删除**。

1. 打开 [Amazon Bedrock AgentCore 控制台](https://console.amazonaws.cn/bedrock-agentcore/home?region=us-east-1#)。

1. 在导航窗格的 “**发现**” 下，选择 “**注册表**”。

1. 选择要删除的注册表旁边的单选按钮，然后选择**删除**。

1. 在确认对话框中，查看警告：在删除注册表之前，必须先删除所有注册表记录。

1. 在确认字段中键入 **delete**。

1. 选择**删除**。

注册表状态更改为 “**正在删除**”。成功横幅确认删除何时完成。

### Amazon CLI
<a name="registry-delete-cli"></a>

**Example**  

```
aws agent-registry-control delete-registry \
  --registry-id "<registryId>" \
  --region us-east-1
```

```
aws bedrock-agentcore-control delete-registry \
  --registry-id "<registryId>" \
  --region us-east-1
```

### Amazon SDK
<a name="registry-delete-sdk"></a>

**Example**  

```
import boto3

client = boto3.client('agent-registry-control')

response = client.delete_registry(
    registryId='<registryId>'
)
print(f"Status: {response['status']}")  # DELETING
```

```
import boto3

client = boto3.client('bedrock-agentcore-control')

response = client.delete_registry(
    registryId='<registryId>'
)
print(f"Status: {response['status']}")  # DELETING
```