基于资源的策略 - AWS Private Certificate Authority

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

基于资源的策略

基于资源的策略是您创建并手动附加到资源(在本例中为私有 CA)而不是用户身份或角色的权限策略。或者,与其创建自己的策略,不如使用 AWS 托管策略 AWS Private CA。通过 AWS RAM 应用基于资源的策略, AWS 私有 CA 管理员可以直接或通过 AWS Organizations与其他 AWS 账户中的用户共享对 CA 的访问权限。或者, AWS 私有 CA 管理员可以使用 PCA API PutPolicyGetPolicy和或相应的 AWS CLI 命令 p ut-policy DeletePolicy、get- policy 和 del ete-pol icy 来应用和管理基于资源的策略。

有关基于资源的策略的一般信息,请参阅基于基于身份的策略和基于资源的策略使用策略控制访问

要查看的基于资源的 AWS 托管策略列表 AWS Private CA,请导航到 AWS Resource Access Manager 控制台中的托管权限库,然后搜索。CertificateAuthority与任何策略一样,在应用之前,我们建议在测试环境中应用该策略,以确保其符合您的要求。

AWS Certificate Manager (ACM) 对私有 CA 具有跨账户共享访问权限的用户可以颁发由 CA 签署的托管证书。跨账户颁发者受基于资源的策略的限制,只能访问以下终端实体证书模板:

策略示例

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

$ 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 之外,管理员还提供一个 AWS 账户 ID 或一个将被授予对 CA 的访问权限的 AWS Organizations ID。为了便于阅读,以下每个策略的 JSON 都被格式化为文件,但也可以作为内联 CLI 参数提供。

注意

必须严格遵循如下所示的基于 JSON 资源的策略的结构。客户只能配置委托人的 ID 字段( AWS 账号或 Org AWS anizations ID)和 CA ARN。

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

    55555555555 5 替换为共享 CA 的 AWS 账户 ID。

    对于资源 ARN,请用您自己的值替换以下内容:

    • aws-分 AWS 区。例如、awsaws-us-govaws-cn、等。

    • us-east-1-资源可用 AWS 区域,例如us-west-1

    • 111122223333-资源所有者的 AWS 账户 ID。

    • 11223344-1234-1122-2233-112233445566-证书颁发机构的资源 ID。

    { "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:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" }, { "Sid":"ExampleStatementID2", "Effect":"Allow", "Principal":{ "AWS":"555555555555" }, "Action":[ "acm-pca:IssueCertificate" ], "Resource":"arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566", "Condition":{ "StringEquals":{ "acm-pca:TemplateArn":"arn:aws:acm-pca:::template/EndEntityCertificate/V1" } } } ] }
  2. 文件:policy2.json — 通过共享对 CA 的访问权限 AWS Organizations

    o-a1b2c 3d4z5 替换为 ID。 AWS Organizations

    对于资源 ARN,请用您自己的值替换以下内容:

    • aws-分 AWS 区。例如、awsaws-us-govaws-cn、等。

    • us-east-1-资源可用 AWS 区域,例如us-west-1

    • 111122223333-资源所有者的 AWS 账户 ID。

    • 11223344-1234-1122-2233-112233445566-证书颁发机构的资源 ID。

    { "Version":"2012-10-17", "Statement":[ { "Sid":"ExampleStatementID3", "Effect":"Allow", "Principal":"*", "Action":"acm-pca:IssueCertificate", "Resource":"arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566", "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:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566", "Condition":{ "StringEquals":{ "aws:PrincipalOrgID":"o-a1b2c3d4z5" }, "StringNotEquals":{ "aws:PrincipalAccount":"111122223333" } } ] }