我的总体目标:我尝试了几件事并阅读了相关的 AWS 文档,但无法弄清楚如何编写 S3 存储桶策略以仅允许访问特定的 IAM 角色和 Cloudfront 源访问身份 (OAI),并拒绝其他所有人。
到目前为止我尝试过的: 1. 我找到了这个博客,它展示了如何限制 s3 存储桶对特定 IAM 角色的访问:https : //aws.amazon.com/blogs/security/how-to-restrict-amazon- s3-bucket-access-to-a-specific-iam-role/ 2.基于上述博客,我编写了以下存储桶策略。此策略仅允许 MY_IAM_ROLE 允许对名为“myBucket”的存储桶进行所有操作:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::myBucket",
"arn:aws:s3:::myBucket/*"
],
"Condition": {
"StringNotLike": {
"aws:userId": [
"MY_IAM_ROLE_USER_ID:*"
]
}
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
我的问题: 如何在单个策略声明中组合 (1) aws:IAM 角色/用户的用户 ID 和 (2) OAI ID?
使用OpenID Connect将Firebase设置为AWS IAM身份提供程序时出现以下错误.
我们在处理您的请求时遇到以下错误:请检查.well-known/openid-provider of provider:https: //securetoken.google.com/
<Project ID
>是否有效.
AWS IAM身份提供商设置需要两个输入参数,我在其中插入以下内容:
提供商URL:https://securetoken.google.com/<Firebase Project ID
>
受众:<Firebase Client ID
>
为了解决这个错误,我<Provider URL
在浏览器中打开了http:// > /.熟知/ openid-configuration,并注意到JSON响应有Issuer和jwks_uri字段.我相信这些JSON字段表明Firebase OpenID Connect Provider URL有效.
知道如何避免上述错误并成功设置AWS IAM身份提供商吗?
Google Cloud Functions 模拟器仅在 Node 6 上受支持:https : //github.com/GoogleCloudPlatform/cloud-functions-emulator
注意:模拟器仅支持 Node v6.xx,不支持 Node v8.xx 或 Python。”
但是,Node 6 已弃用 Google Cloud Functions:https : //cloud.google.com/functions/docs/concepts/nodejs-6-runtime
Node.js 6 运行时已被弃用。为确保您的函数位于受支持的 Node.js 版本上,请将它们迁移到 Node.js 8 或 Node.js 10。2020 年 4 月 22 日之后,将阻止使用 Node.js 6 的函数部署。在此之后继续使用 Node.js 6 的 Cloud Functions 可能会被禁用。”
我如何在本地运行函数(为 Node 8 编写)?