创建 Amazon Verified Permissions 静态策略 - Amazon Verified Permissions

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

创建 Amazon Verified Permissions 静态策略

您可以为委托人创建静态策略,以允许或禁止他们对应用程序的指定资源执行指定操作。静态策略包含principalresource和的特定值,可以随时用于授权决策。

AWS 管理控制台
要创建静态策略,请按以下步骤操作:
  1. 打开已验证权限控制台。选择您的保单商店。

  2. 在左侧的导航窗格中,选择策略

  3. 选择创建策略,然后选择创建静态策略

    注意

    如果您想使用政策声明,请跳至步骤 8,然后将该政策粘贴到下一页的 “政策” 部分。

  4. 策略效果部分,选择当请求与策略匹配时,策略是允许还是禁止。如果您选择 Per m it,则该策略允许委托人对资源执行操作。相反,如果您选择 “禁止”,则该策略不允许委托人对资源执行操作。

  5. 主体范围字段中,选择策略将适用的主体范围。

    • 选择特定主体,将策略应用于特定主体。为被允许或禁止采取策略中指定的操作的委托人指定实体类型和标识符。

    • 选择主体群组,将策略应用于一组主体。在主体群组字段中输入主体群组名称。

    • 选择所有主体,将该策略应用于策略存储中的所有主体。

  6. 资源范围字段中,选择策略将适用的资源范围。

    • 选择特定资源,将该策略应用于特定资源。为策略应适用的资源指定实体类型和标识符。

    • 选择资源群组,将该策略应用于一组资源。在资源群组字段中输入资源群组名称。

    • 选择所有资源,将该策略应用于策略存储中的所有资源。

  7. 操作范围部分中,选择策略将适用的资源范围。

    • 选择特定操作集合,将该策略应用于一组操作。选中操作旁边的复选框,应用该策略。

    • 选择所有操作,将该策略应用于策略存储中的所有操作。

  8. 选择下一步

  9. 策略部分中,查看您的 Cedar 策略。您可以选择格式,使用建议的间距和缩进来设置策略语法的格式。有关更多信息,请参阅《Cedar 策略语言参考指南》中的 Cedar 中的基本策略构造

  10. 详细信息部分中,输入策略的可选描述。

  11. 选择创建策略

AWS CLI
要创建静态策略,请按以下步骤操作:

您可以使用CreatePolicy操作创建静态策略。以下示例创建了一个简单的静态策略。

$ aws verifiedpermissions create-policy \ --definition "{ \"static\": { \"Description\": \"MyTestPolicy\", \"Statement\": \"permit(principal,action,resource) when {principal.owner == resource.owner};\"}}" \ --policy-store-id PSEXAMPLEabcdefg111111 { "Arn": "arn:aws:verifiedpermissions::123456789012:policy/PSEXAMPLEabcdefg111111/SPEXAMPLEabcdefg111111", "createdDate": "2023-05-16T20:33:01.730817+00:00", "lastUpdatedDate": "2023-05-16T20:33:01.730817+00:00", "policyId": "SPEXAMPLEabcdefg111111", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "STATIC" }
使用策略名称创建策略

在创建策略时,您可以选择指定策略名称。对于策略存储区内的所有策略,该名称必须是唯一的,并以name/此为前缀。您可以使用名称来代替策略 ID。

$ aws verifiedpermissions create-policy \ --definition "{ \"static\": { \"Statement\": \"permit(principal, action, resource in Album::\\\"public_folder\\\");\"}}" \ --policy-store-id PSEXAMPLEabcdefg111111 \ --name name/example-policy { "createdDate": "2023-06-12T20:33:37.382907+00:00", "lastUpdatedDate": "2023-06-12T20:33:37.382907+00:00", "policyId": "SPEXAMPLEabcdefg111111", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "STATIC", "resource": { "entityId": "public_folder", "entityType": "Album" } }
注意

如果您指定的名称已与策略存储中的其他策略相关联,则会收到ConflictException错误消息。