@aws-sdk/客户验证许可
说明
JavaScript 校验Permissions客户端的 AWS SDK 为Node.js, 浏览器和React Industrial 的客户端.
亚马逊验证权限(Amazon Verifered Cervices)是亚马逊网络服务公司提供的一项权限管理服务. 您可以使用校验权限来管理您的应用程序权限, 并根据这些权限授权用户访问 。 应用程序开发人员使用验证权限,可以根据用户,资源和所请求行动的信息授予访问权限. 也可以评价诸如组成员,资源属性,会话上下文等额外信息,如请求时间和IP地址等. 验证权限管理这些权限,允许您为您的应用程序创建并存储授权政策,例如消费者网站和企业业务系统.
验证权限使用Cedar作为政策语言表达您的许可要求. Cedar支持基于角色的访问控制(RBAC)和基于属性的访问控制(ABAC)授权模式.
关于应用程序中配置、管理和使用亚马逊验证权限的更多信息,请参见 亚马逊验证权限用户指南。 。 。 .
关于锡达政策语言的更多信息,请参见: 锡达政策语言指南。 。 。 .
当您写出 Cedar 策略, 引用主线, 资源和动作时, 您可以定义用于其中每个元素的独特标识符 。 我们强烈建议你们遵循这些最佳做法:
-
对所有主标识符和资源标识符使用像普遍独特的标识符(UUID)这样的值.
例如,如果用户
jane离开公司,你后来让别人用这个名字jane,然后该新用户可以自动访问所有仍可参考的政策User::"jane"Cedar无法区分新用户和旧用户。 这既适用于主要标识,也适用于资源标识。 总是使用保证唯一且永不重复使用的识别器.当您使用UUID作为实体时, 我们建议您使用您实体的 // 注释 和 " 友好 " 名称。 这有助于让你的政策更容易理解。 例如:主语:==:"a1b2c3d4-e5f6-a1b2-c3d4-EXAMPLE11111", ///lice
-
不包括个人身份识别、机密或敏感信息,作为你的主要负责人或资源的独特识别特征的一部分. 这些标识符包含在 CloudTrail 线索共享的日志条目中.
一些行动归还了看起来相似但目的不同的结构。 由于产品中加入了新的功能,一个操作的参数中使用的结构可能需要以不同操作中同一参数没有意义的方式改变. 为了帮助您了解每个结构的目的,结构采用下列命名惯例: 名称
-
结尾于
Detail用于Get操作. -
结尾于
Item用于List操作. -
既不使用后缀的参数类型结构在变异(创建并更新)操作中被使用.
安装
要安装此软件包, 请使用您最喜欢的软件包管理器的 CLI :
npm install @aws-sdk/client-verifiedpermissionsyarn add @aws-sdk/client-verifiedpermissionspnpm add @aws-sdk/client-verifiedpermissions
开始
导入
AWS SDK由客户端和命令进行调制.
要发送请求,只需导入 VerifiedPermissionsClient 财务报告和审定财务报表
例如,您需要的命令 ListPolicyStoresCommand数字 :
// ES5 example
const { VerifiedPermissionsClient, ListPolicyStoresCommand } = require("@aws-sdk/client-verifiedpermissions");
// ES6+ example
import { VerifiedPermissionsClient, ListPolicyStoresCommand } from "@aws-sdk/client-verifiedpermissions";
使用量
发出请求:
- 以配置(如证书,区域)为客户端提供证据.
- 见 文件/中心 用于配置细节.
- 见 @aws- sdk/ 配置 附加选项.
- 以输入参数证明命令 .
- 打电话
send操作客户端,以输入方式提供命令对象.
const client = new VerifiedPermissionsClient({ region: "REGION" });
const params = { /** input parameters */ };
const command = new ListPolicyStoresCommand(params);
自动/等待
我们建议使用 等待时 运算符等待通过发送操作返回的承诺如下:
// async/await.
try {
const data = await client.send(command);
// process data.
} catch (error) {
// error handling.
} finally {
// finally.
}
承诺
您还可以使用 承诺连锁。 。 。 .
client
.send(command)
.then((data) => {
// process data.
})
.catch((error) => {
// error handling.
})
.finally(() => {
// finally.
});
合并客户端
归集客户端类别从同套件中导出,但没有"Client"后缀.
VerifiedPermissions 扩展 VerifiedPermissionsClient 并额外支持所有操作,服务员, 和活人作为方法.
这种风格可能从JavaScript v2的AWS SDK中为您所熟悉.
如果你正在捆绑 AWS SDK, 我们建议只使用赤骨客户端(VerifiedPermissionsClient) (中文(简体) ).
更多详情见博客文章:
javaScript 的 AWS SDK 模块包。 。 。 .
import { VerifiedPermissions } from "@aws-sdk/client-verifiedpermissions";
const client = new VerifiedPermissions({ region: "REGION" });
// async/await.
try {
const data = await client.listPolicyStores(params);
// process data.
} catch (error) {
// error handling.
}
// Promises.
client
.listPolicyStores(params)
.then((data) => {
// process data.
})
.catch((error) => {
// error handling.
});
// callbacks (not recommended).
client.listPolicyStores(params, (err, data) => {
// process err and data.
});
解决问题
当服务返回例外时,错误将包括例外信息, 以及响应元数据(如请求编号).
try {
const data = await client.send(command);
// process data.
} catch (error) {
const { requestId, cfId, extendedRequestId } = error.$metadata;
console.log({ requestId, cfId, extendedRequestId });
/**
* The keys within exceptions are also parsed.
* You can access them by specifying exception names:
* if (error.name === 'SomeServiceException') {
* const value = error.specialKeyInException;
* }
*/
}
另见 文档/错误。 。 。 .
获取帮助
请利用这些社区资源获得帮助. 我们使用 GitHub 问题来跟踪错误和特性请求,但处理它们的带宽有限.
- 访问 开发者指南 或者说 API 参考。 。 。 .
- 看看贴有标签的博客文章
aws-sdk-jsaWS 开发者博客. - 问个问题 叠叠流 并贴上标签
aws-sdk-js。 。 。 . - 加入 AWS JavaScript 社区 发光。 。 。 .
- 如果你发现你发现了一个虫子,请 打开一个问题。 。 。 .
为了测试您在Node.js中通用的JavaScript代码,浏览器和反应本地环境, 拜访我们 代码样本 repo。 。 。 .
捐款
此客户端代码是自动生成的. 任何修改在下次修改时都会被覆盖 @aws-sdk/client-verifiedpermissions 软件包正在更新.
为了帮助客户,你可以检查我们 生成客户端脚本。 。 。 .
许可证
此 SDK 分布于 Apache 许可证,2.0版本, (中文(简体) ), 更多信息见LICENSE.