TL;DR: 是否可以手动更改用于身份验证后功能配置的 Amplify CloudFormation 模板以授予(例如)IoT AttachPrincipalPolicy权限?
我正在使用 AWS Amplify 和amplifyCLI 来设置一个新项目。总体而言,Amplify 让事情变得非常简单,但我一直有这样的感觉,即在事情变得困难或无法通过 Amplify 控制的项目完成之前,您只能使用 Amplify 走“到目前为止”。
我感兴趣的用例与物联网的设置有关PubSub- AWS 说明涵盖了如何使其工作,但我将其称为“概念验证”,而不是“您应该在接近生产的任何地方使用的东西” -它涉及手动调用aws iot attach-principal-policy --policy-name 'myIoTPolicy' --principal '<YOUR_COGNITO_IDENTITY_ID>'每个 Cognito 身份。
相反,我想做的是,当用户登录网站时,使用身份验证后lambda 函数/事件挂钩来调用AttachPrincipalPolicy(可能首先检查策略是否已附加!)。
也许显然这并不“有效”,我测试过
var iot = new AWS.Iot();
var params = {
policyName: 'myIoTPolicy', /* required */
principal: 'XYZ123XYZ123' /* required */
};
try {
iot.attachPrincipalPolicy(params, function (err, data) {
if (err) console.log(err, err.stack); // an error occurred
else …Run Code Online (Sandbox Code Playgroud) 出于确保图像不被篡改的目的,我想基于图像文件的内容(特别是PNG)创建唯一的哈希.我用谷歌搜索了,我知道基于文件创建一个哈希很有可能,但它似乎考虑了其他图像内容的东西?
例如,为了测试,我创建了一个非常大的PNG文件,其中包含随机颜色/线条/形状等.然后我将文件保存为test1.png.然后我在图像的角落创建了一个像素黑点,并保存为test2.png.
我在两个图像上运行了md5sum,并获得了不同的哈希值(预期).然后我下载了test2.png,删除了单个黑色像素,并将文件保存为test3.png.test3.png和test1.png包含完全相同的图像.
现在,从我的理解PNG应该是无损压缩,所以这不应该是问题(?).关于所有这些,我有点黑暗(你可能会说),所以如果有人能给我任何想法,我会非常感激!