

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

# 为 IAM 用户创建单账户权限
<a name="assign-permissions"></a>

当 CA 管理员（即 CA 的所有者）和证书颁发者居住在同一个 Amazon 账户中时，[最佳做法](ca-best-practices.md)是通过创建一个权限有限的 Amazon Identity and Access Management (IAM) 用户，将颁发者和管理员角色分开。有关将 IAM 与 Amazon 私有 CA权限一起使用的信息以及示例权限，请参阅[身份和访问管理 (IAM) Access Management 适用于 Amazon 私有证书颁发机构](security-iam.md)。

**单账户案例 1：颁发非托管证书**  
在这种情况下，账户拥有者创建一个私有 CA，然后创建一个具有颁发由私有 CA 签名证书权限的 IAM 用户。IAM 用户通过调用 Amazon 私有 CA `IssueCertificate` API 来颁发证书。

![\[颁发非托管证书\]](http://docs.amazonaws.cn/privateca/latest/userguide/images/ca_access_1_account_pca_api.png)


以这种方式颁发的证书未托管，这意味着管理员必须将其导出并安装在要使用的设备上。这些证书过期时还必须手动续订。使用此 API 颁发证书需要证书签名请求 (CSR) 和 Amazon 私有 CA 由 [OpenSSL](https://www.openssl.org/) 或类似程序之外生成的密钥对。有关更多信息，请参阅 `IssueCertificate`[ 文档。](https://docs.amazonaws.cn/privateca/latest/APIReference/API_IssueCertificate.html)

**单账户案例 2：通过 ACM 颁发托管证书**  
第二种情况涉及来自 ACM 和 PCA 的 API 操作。账户拥有者像以前一样创建私有 CA 和 IAM 用户。然后，账户拥有者向 ACM 服务主体[授予权限](create-CA.md#PcaCreateAcmPerms)以自动续订由此 CA 签名的所有证书。IAM 用户再次颁发证书，但这次是通过调用处理 CSR 和密钥生成的 ACM `RequestCertificate` API。该证书到期后，ACM 会自动执行续订工作流程。

![\[颁发托管证书\]](http://docs.amazonaws.cn/privateca/latest/userguide/images/ca_access_1_account_acm_api.png)


账户拥有者可以选择在创建 CA 期间或之后或使用 PCA `CreatePermission` API 通过管理控制台授予续订权限。通过此工作流程创建的托管证书可用于与 ACM 集成的 Amazon 服务。

下一节包含授予续订权限的过程。

## 将证书续订权限分配给 ACM
<a name="PcaPermissions"></a>

借助 Amazon Certificate Manager （ACM）中的[托管续订](https://docs.amazonaws.cn/acm/latest/userguide/managed-renewal.html)，您可以自动执行公有和私有证书的证书续订流程。为了让 ACM 自动续订私有 CA 生成的证书，*CA 本身*必须向 ACM 服务主体授予所有可能的权限。如果 ACM 不存在这些续订权限，则 CA 的拥有者（或授权代表）必须在每个私有证书过期时手动重新颁发该证书。

**重要**  
这些分配续订权限的过程仅在 CA 所有者和证书颁发者居住在同一个 Amazon 账户中时适用。有关跨账户场景，请参阅 [附加跨账户存取策略](pca-ram.md)。

续订权限可在[私有 CA 创建](create-CA.md)期间委派，并且只要 CA 处于 `ACTIVE` 状态，即可在任何时间更改。

您可以从 [Amazon 私有 CA 控制台](https://console.amazonaws.cn/acm-pca)、[Amazon Command Line Interface (Amazon CLI)](https://docs.amazonaws.cn/cli/latest/reference/) 或 [Amazon 私有 CA API](https://docs.amazonaws.cn/privateca/latest/APIReference/) 管理私有 CA 权限：

**向 ACM 分配私有 CA 权限（控制台）**

1. 登录您的 Amazon 帐户并在[https://console.aws.amazon.com/acm-pca/家](https://console.amazonaws.cn/acm-pca/home)中打开主 Amazon 私有 CA 机。

1. 在**私有证书颁发机构**页面上，从列表中选择您的私有 CA。

1. 选择**操作**、**配置 CA 权限**。

1. 选择**授权 ACM 访问以续订此账户请求的证书**。

1. 选择**保存**。

**在 Amazon 私有 CA ()Amazon CLI中管理 ACM 权限**  
使用 [create-permission](https://docs.amazonaws.cn/cli/latest/reference/acm-pca/create-permission.html) 命令将权限分配给 ACM。您必须分配必要的权限（`IssueCertificate`、`GetCertificate` 和 `ListPermissions`）以使 ACM 能自动续订证书。

```
$ aws acm-pca create-permission \
     --certificate-authority-arn arn:aws:acm-pca:region:account:certificate-authority/CA_ID \
     --actions IssueCertificate GetCertificate ListPermissions \
     --principal acm.amazonaws.com
```

使用 [list-permissions](https://docs.amazonaws.cn/cli/latest/reference/acm-pca/list-permissions.html) 命令列出 CA 委派的权限。

```
$ aws acm-pca list-permissions \
     --certificate-authority-arn arn:aws:acm-pca:region:account:certificate-authority/CA_ID
```

使用 [delete-per](https://docs.amazonaws.cn/cli/latest/reference/acm-pca/delete-permission.html) mission 命令撤消 CA 分配给服务主体的权限。 Amazon 

```
$ aws acm-pca delete-permission \
     --certificate-authority-arn arn:aws:acm-pca:region:account:certificate-authority/CA_ID \
     --principal acm.amazonaws.com
```