

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

# 基于资源的策略
基于资源的策略

基于资源的策略是您创建并手动附加到资源（在本例中为私有 CA）而不是用户身份或角色的权限策略。或者，与其创建自己的策略，不如使用 Amazon 托管策略 Amazon 私有 CA。通过 Amazon RAM 应用基于资源的策略， Amazon 私有 CA 管理员可以直接或通过 Amazon Organizations与其他 Amazon 账户中的用户共享对 CA 的访问权限。或者， Amazon 私有 CA 管理员可以使用 PCA、 APIs[PutPolicy](https://docs.amazonaws.cn/privateca/latest/APIReference/API_PutPolicy.html)、[GetPolicy](https://docs.amazonaws.cn/privateca/latest/APIReference/API_GetPolicy.html)和，或相应的 Amazon CLI 命令 p [ut-policy [DeletePolicy](https://docs.amazonaws.cn/privateca/latest/APIReference/API_DeletePolicy.html)、get-](https://docs.amazonaws.cn/cli/latest/reference/acm-pca/put-policy.html) policy [和 del [ete-pol](https://docs.amazonaws.cn/cli/latest/reference/acm-pca/get-policy.html) icy 来应用和管理基于资源的策略](https://docs.amazonaws.cn/cli/latest/reference/acm-pca/delete-policy.html)。

有关基于资源的策略的一般信息，请参阅基于[基于身份的策略和基于资源的策略](https://docs.amazonaws.cn/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)和[使用策略控制访问](https://docs.amazonaws.cn/IAM/latest/UserGuide/access_controlling.html)。

要查看的基于资源的 Amazon 托管策略列表 Amazon 私有 CA，请导航到 Amazon Resource Access Manager 控制台中的[托管权限库](https://console.amazonaws.cn/ram/home#Permissions:)，然后搜索。**CertificateAuthority**与任何策略一样，在应用之前，我们建议在测试环境中应用该策略，以确保其符合您的要求。

Amazon Certificate Manager (ACM) 对私有 CA 具有跨账户共享访问权限的用户可以颁发由 CA 签署的托管证书。跨账户颁发者受基于资源的策略的限制，只能访问以下终端实体证书模板：
+ [EndEntityCertificate/V1](template-definitions.md#EndEntityCertificate-V1)
+ [EndEntityClientAuthCertificate/V1](template-definitions.md#EndEntityClientAuthCertificate-V1)
+ [EndEntityServerAuthCertificate/V1](template-definitions.md#EndEntityServerAuthCertificate-V1)
+ [BlankEndEntityCertificate\$1 APIPassthrough /V1](template-definitions.md#BlankEndEntityCertificate_APIPassthrough)
+ [BlankEndEntityCertificate\$1 APICSRPassthrough /V1](template-definitions.md#BlankEndEntityCertificate_APICSRPassthrough)
+ [下属 CACertificate \$1 PathLen 0/V1](template-definitions.md#SubordinateCACertificate_PathLen0-V1)

## 策略示例


本节提供了满足各种需求的跨账户策略示例。在所有情况下，都使用以下命令模式来应用策略：

```
$ aws acm-pca put-policy \
   --region region \
   --resource-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566 \
   --policy file:///[path]/policyN.json
```

除了指定 CA 的 ARN 之外，管理员还提供一个 Amazon 账户 ID 或一个将被授予对 CA 的访问权限的 Amazon Organizations ID。为了便于阅读，以下每个策略的 JSON 都被格式化为文件，但也可以作为内联 CLI 参数提供。

**注意**  
必须严格遵循如下所示的基于 JSON 资源的策略的结构。客户只能配置委托人的 ID 字段（ Amazon 账号或 Org Amazon anizations ID）和 CA ARNs 。

1. **文件：policy1.json – 与不同账户中的用户共享对 CA 的访问权限** 

   *555555555555*替换为共享 CA 的 Amazon 账户 ID。

   对于资源 ARN，请用您自己的值替换以下内容：
   + `aws`-分 Amazon 区。例如，、`aws``aws-us-gov`、`aws-cn`、等。
   + `us-east-1`-资源可用 Amazon 的地区，例如`us-west-1`。
   + `111122223333`-资源所有者的 Amazon 账户 ID。
   + `11223344-1234-1122-2233-112233445566`-证书颁发机构的资源 ID。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
               "Sid": "ExampleStatementID",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "555555555555"
               },
               "Action": [
                   "acm-pca:DescribeCertificateAuthority",
                   "acm-pca:GetCertificate",
                   "acm-pca:GetCertificateAuthorityCertificate",
                   "acm-pca:ListPermissions",
                   "acm-pca:ListTags"
               ],
               "Resource": "arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/CA_ID"
           },
           {
               "Sid": "ExampleStatementID2",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "555555555555"
               },
               "Action": [
                   "acm-pca:IssueCertificate"
               ],
               "Resource": "arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/CA_ID",
               "Condition": {
                   "StringEquals": {
                       "acm-pca:TemplateArn": "arn:aws:acm-pca:::template/EndEntityCertificate/V1"
                   }
               }
           }
       ]
   }
   ```

------

1. **文件：policy2.json — 通过共享对 CA 的访问权限 Amazon Organizations**

   

   *o-a1b2c3d4z5*替换为 Amazon Organizations 身份证。

   对于资源 ARN，请用您自己的值替换以下内容：
   + `aws`-分 Amazon 区。例如，、`aws``aws-us-gov`、`aws-cn`、等。
   + `us-east-1`-资源可用 Amazon 的地区，例如`us-west-1`。
   + `111122223333`-资源所有者的 Amazon 账户 ID。
   + `11223344-1234-1122-2233-112233445566`-证书颁发机构的资源 ID。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "ExampleStatementID3",
               "Effect": "Allow",
               "Principal": "*",
               "Action": "acm-pca:IssueCertificate",
               "Resource":"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/CA_ID",
               "Condition": {
                   "StringEquals": {
                       "acm-pca:TemplateArn": "arn:aws:acm-pca:::template/EndEntityCertificate/V1",
                       "aws:PrincipalOrgID": "o-a1b2c3d4z5"
                   },
                   "StringNotEquals": {
                       "aws:PrincipalAccount": "111122223333"
                   }
               }
           },
           {
               "Sid": "ExampleStatementID4",
               "Effect": "Allow",
               "Principal": "*",
               "Action": [
                   "acm-pca:DescribeCertificateAuthority",
                   "acm-pca:GetCertificate",
                   "acm-pca:GetCertificateAuthorityCertificate",
                   "acm-pca:ListPermissions",
                   "acm-pca:ListTags"
               ],
               "Resource":"arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/CA_ID",
               "Condition": {
                   "StringEquals": {
                       "aws:PrincipalOrgID": "o-a1b2c3d4z5"
                   },
                   "StringNotEquals": {
                       "aws:PrincipalAccount": "111122223333"
                   }
               }
           }
       ]
   }
   ```

------