

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

# 了解代理身份目录
<a name="agent-identity-directory"></a>

代理身份目录是您 Amazon 账户内所有工作负载身份的集中集合。它充当管理和组织代理身份的权威注册表，为所有身份提供统一视图，无论这些身份是由 AgentCore Runtime 和 Gateway 自动创建的，还是通过 Amazon CLI 和 SDK 手动创建的。有关创建工作负载身份的信息，请参阅[创建和管理工作负载身份](creating-agent-identities.md)。

**Topics**
+ [目录的概念和结构](#directory-concepts)
+ [目录管理最佳实践](#directory-management-best-practices)
+ [列出和查看目录内容](#listing-directory-contents)
+ [目录访问控制和权限](#directory-access-control)

## 目录的概念和结构
<a name="directory-concepts"></a>

了解代理身份目录的基本概念和组织结构有助于您有效地大规模管理工作负载身份。

 **主要特性** 
+  **每个账户只有一个目录 ** ——每个 Amazon 账户只有一个代理人身份目录
+  **自动创建 **-在您的账户中创建第一个工作负载身份时会自动创建该目录
+  **集中管理 ** — 所有工作负载身份，无论它们是如何创建的，都存储在此目录中
+  **Cross-service 可见性 ** — 该目录提供对运行时、网关和手动流程创建的身份的可见性

 **目录结构 ** 

```
arn:aws:bedrock-agentcore:region:account-id:workload-identity-directory/default
├── workload-identity/runtime-created-agent-1
├── workload-identity/runtime-created-agent-2
├── workload-identity/gateway-created-agent-1
├── workload-identity/manually-created-agent-1
└── workload-identity/manually-created-agent-2
```

## 目录管理最佳实践
<a name="directory-management-best-practices"></a>

随着工作负载身份使用量的增长，遵循既定的目录管理最佳实践有助于保持组织、安全和运营效率。

 **命名规范** 
+ 使用说明代理用途的描述性名称（例如 “客户支持代理”、“数据分析代理”）
+ 包括多环境部署的环境指标（例如 “prod-chatbot”、“dev-chatbot”）
+ 考虑大型组织的团队或项目前缀（例如 “营销内容代理”）

 **组织战略 ** 
+ 定期审核您的目录以识别未使用或过时的工作负载身份
+ 记录每个工作负载身份的用途和所有权
+ 在可用时为工作负载身份实施一致的标记策略。有关更多信息，请参阅[标记 AgentCore 身份资源](identity-tagging.md)。
+ 监控目录增长并建立身份创建的治理流程

 **安全注意事项 ** 
+ 定期查看授予目录访问权限的 IAM 政策
+ 授予目录访问权限时使用最低权限原则
+ 通过 Amazon CloudTrail 日志监控目录访问权限
+ 针对未经授权的目录修改实施自动警报

## 列出和查看目录内容
<a name="listing-directory-contents"></a>

您可以使用 Amazon CLI 查看目录中的所有工作负载身份：

 **列出所有工作负载身份 ** 

```
aws bedrock-agentcore-control list-workload-identities
```

此命令返回有关您账户中所有工作负载身份的信息，包括：
+ 工作负载身份名称和 ARN
+ 创建时间戳
+ 关联的元数据
+ 创建源（运行时、网关或手动）

 **示例输出** 

```
{
  "workloadIdentities": [
    {
      "workloadIdentityArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:workload-identity-directory/default/workload-identity/my-runtime-agent",
      "workloadIdentityName": "my-runtime-agent",
      "createdAt": "2024-01-15T10:30:00Z",
      "createdBy": "AgentCore Runtime"
    },
    {
      "workloadIdentityArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:workload-identity-directory/default/workload-identity/my-custom-agent",
      "workloadIdentityName": "my-custom-agent",
      "createdAt": "2024-01-16T14:20:00Z",
      "createdBy": "Manual"
    }
  ]
}
```

 **获取有关特定工作负载身份的详细信息 ** 

```
aws bedrock-agentcore-control get-workload-identity \
    --workload-identity-name my-agent-name
```

## 目录访问控制和权限
<a name="directory-access-control"></a>

代理身份目录与 IAM 集成，可对工作负载身份及其关联资源提供精细的访问控制。有关使用工作负载身份控制对凭据提供者的访问权限的信息，请参阅[按工作负载身份缩小对凭据提供者的访问权限。](scope-credential-provider-access.md)

 **Directory-level permissions** 
+  **列表权限 **-控制谁可以查看目录内容
+  **创建权限 ** — 控制谁可以创建新的工作负载身份
+  **读取权限 **-控制谁可以查看特定的工作负载身份详细信息
+  **删除权限 **-控制谁可以删除工作负载身份

 **目录访问的 IAM 策略示例 ** 

```
{
"Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ListWorkloadIdentities",
      "Effect": "Allow",
      "Action": [
        "bedrock-agentcore:ListWorkloadIdentities"
      ],
      "Resource": [
        "arn:aws:bedrock-agentcore:*:*:workload-identity-directory/default"
      ]
    },
    {
      "Sid": "ManageSpecificWorkloadIdentity",
      "Effect": "Allow",
      "Action": [
        "bedrock-agentcore:GetWorkloadIdentity",
        "bedrock-agentcore:CreateWorkloadIdentity",
        "bedrock-agentcore:DeleteWorkloadIdentity"
      ],
      "Resource": [
        "arn:aws:bedrock-agentcore:*:*:workload-identity-directory/default/workload-identity/my-agent-*"
      ]
    }
  ]
}
```