什么是 Amazon Verified Permissions? - Amazon Verified Permissions

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

什么是 Amazon Verified Permissions?

Amazon Verified Permissions 是一项可扩展、精细的权限管理和授权服务,适用于您构建的自定义应用程序。Verified Permissions 通过将授权外部化和集中策略管理,使开发人员能够更快地构建安全的应用程序。Verified Permissions 使用 Cedar 策略语言来定义精细的权限,以保护应用程序的资源。

使用 Verified Permissions 进行授权

Verified Permissions 通过验证是否允许委托人在应用程序的给定上下文中对资源执行操作来提供授权。Verified Permissions 假设该主体事先已通过其他方式进行了身份识别和身份验证,例如使用 OpenID Connect 等协议、托管提供商(如 Amazon Cognito)或其他身份验证解决方案。已验证权限与委托人的管理位置和身份验证方式无关。

Verified Permissions 是一项服务,它使客户能够在中创建 AWS Management Console、维护和测试策略,使用经过验证的权限APIs以编程方式或通过基础设施即代码解决方案(例如 AWS CloudFormation)。权限是使用 Cedar 策略语言来表达的。客户端应用程序调用授权APIs来评估存储在服务中的 Cedar 策略,并提供是否允许操作的访问决策。

Cedar 策略语言

Verified Permissions 中的授权策略是使用 Cedar 策略语言编写的。Cedar 是一种开源语言,用于编写授权策略并根据这些策略做出授权决策。创建应用程序时,需要确保只有经过授权的委托人(人类用户或计算机)才能访问该应用程序,并且只能执行他们有权执行的操作。使用 Cedar,您可以将业务逻辑与授权逻辑解耦。在应用程序的代码中,您在向操作发出的请求之前,先调用 Cedar 授权引擎,询问“此请求是否获得了授权?”。如果决策为“允许”,则该应用程序可以执行请求的操作;如果决策为“拒绝”,则会返回错误消息。

已验证权限目前使用 Cedar 版本 2.4

有关 Cedar 的更多信息,请参阅下文:

Verified Permissions 的优势

加快应用程序开发

通过将授权与业务逻辑解耦,加快应用程序开发。

应用程序更安全

Verified Permissions 使开发人员能够构建更安全的应用程序。

最终用户功能

Verified Permissions 支持您为权限管理提供更丰富的最终用户功能。

  • Amazon Cognito - Amazon Cognito 是 Web 和移动应用程序的身份平台。它是一个用户目录、一个身份验证服务器以及一个用于 OAuth 2.0 访问令牌和 AWS 凭据的授权服务。创建策略存储库时,您可以选择从 Amazon Cognito 用户池中创建委托人和群组。有关更多信息,请参阅《Amazon Cognito 开发人员指南》。

  • Amazon API G API ateway — Amazon Gateway 是一项用于 WebSocket APIs在任何规模上创建REST、发布HTTP、维护、监控和保护的 AWS 服务。创建策略存储时,您可以选择从 Gate API way API 中构建操作和资源。有关 API Gateway 的更多信息,请参阅API网关开发者指南

  • AWS IAM Identity Center— 借助 IAM Identity Center,您可以管理员工身份(也称为员工用户)的登录安全。IAMIdentity Center 提供了一个地方,您可以在其中创建或连接员工用户,并集中管理他们对所有用户 AWS 账户 和应用程序的访问权限。有关更多信息,请参阅 用户指南。AWS IAM Identity Center

访问 Verified Permissions

您可以通过以下任何方式使用 Amazon Verified Permissions。

AWS Management Console

该控制台是一个基于浏览器的界面,用于管理 Verified Permissions 和 AWS 资源。有关通过控制台访问 Verified Permissions 的更多信息,请参阅《AWS 登录 用户指南》中的如何登录 AWS

AWS 命令行工具

您可以使用 AWS 命令行工具在系统的命令行中发出命令以执行已验证的权限和 AWS 任务。与控制台相比,使用命令行更快、更方便。如果要构建执行 AWS 任务的脚本,命令行工具也会十分有用。

AWS 提供了两组命令行工具:AWS Command Line Interface(AWS CLI) 和AWS Tools for Windows PowerShell。有关安装和使用的信息 AWS CLI,请参阅《AWS Command Line Interface 用户指南》。有关安装和使用适用于 Windows 的工具的信息 PowerShell,请参阅《AWS Tools for Windows PowerShell 用户指南》

AWS SDKs

AWS 提供SDKs(软件开发套件),其中包括适用于各种编程语言和平台(Java、Python、Ruby 等)的库和示例代码。 NET、iOS、安卓等)。SDKs提供了一种便捷的方法来创建对已验证权限的编程访问权限和 AWS. 例如,负责处理诸如对请求SDKs进行加密签名、管理错误和自动重试请求之类的任务。

要了解更多信息并进行下载 AWS SDKs,请参阅工具 Amazon Web Services

以下是各种已验证权限资源的文档链接 AWS SDKs。

AWS CDK 结构

AWS Cloud Development Kit (AWS CDK) 是一个开源软件开发框架,用于在代码中定义云基础架构并通过它进行配置 AWS CloudFormation。构造或可重复使用的云组件可用于创建 AWS CloudFormation 模板。然后,这些模板可用于部署您的云基础架构。

要了解更多信息并进行下载 AWS CDK,请参阅 AWS Cloud Development Kit

以下是已验证权限 AWS CDK 资源(例如构造)的文档链接。

已验证的权限 API

您可以通过使用已验证的权限 AWS 以编程方式访问已验证的权限API,它允许您直接向服务发出HTTPS请求。使用时API,必须包含使用您的凭据对请求进行数字签名的代码。

Verified Permissions 定价

Verified Permissions 根据您的应用程序每月向 Verified Permissions 发出的授权请求数量提供分层定价。还会根据您的应用程序每月向已验证权限发出的 cURL(客户端URL)策略API请求的数量为策略管理操作定价。

有关 Verified Permissions 费用和价格的完整列表,请参阅 Amazon Verified Permissions 定价

若要查看您的账单,请转到 AWS Billing and Cost Management 控制台中的账单和成本管理控制面板。您的账单中包含了提供您的账单详情的使用情况报告的链接。要了解有关 AWS 账户 计费的更多信息,请参阅AWS Billing 用户指南

如果您对 AWS 账单、账户和活动有疑问,请联系 AWS Support