View a markdown version of this page

Resource-based 政策 - AWS 私有证书颁发机构

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

Resource-based 政策

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

有关基于资源的策略的一般信息,请参阅Identity-Based策略和 Resource-Based 策略以及使用策略https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html控制访问权限。

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

AWS 私有 CA 还支持 RAM 客户管理权限,允许您从以下集合中定义自定义操作组合:DescribeCertificateAuthorityGetCertificateGetCertificateAuthorityCertificateListPermissionsListTagsIssueCertificate、和RevokeCertificate。客户管理权限使您可以灵活地授予最低权限访问权限,例如,向某些账户授予只读访问权限,同时允许其他账户颁发和吊销证书。有关更多信息,请参阅 RAM 中的客户管理权限

AWS Certificate Manager (ACM) 拥有私有 CA 跨账户共享访问权限的用户可以颁发由 CA 签署的托管证书。授予IssueCertificate操作权限时,可以通过向策略添加acm-pca:TemplateArn条件来限制用于证书颁发的证书模板。

策略示例

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

$ 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 资源的策略的结构。客户只能配置委托人( AWS 账号或 AWS 组织 ID)和 CA ARN 的 ID 字段。

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

    555555555555替换为共享 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。

    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" } } } ] }
  2. 文件:policy2.json — 通过共享对 CA 的访问权限 AWS Organizations

    o-a1b2c3d4z5替换为 AWS Organizations ID。

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

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

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

    • 111122223333-资源所有者的 AWS 账户 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" } } } ] }