应用 AWS IAM 策略后我应该等待多长时间才能生效?

2023-11-27

我以编程方式添加和删除 AWS IAM 用户策略,但应用这些策略时得到的结果不一致。

例如,这可能会成功,也可能不会成功(我使用的是 Java 1.6.6 SDK):

  1. 从可以从特定存储桶读取数据的用户开始
  2. 清除用户策略(列出策略,然后为每一项调用“deleteUserPolicy”)
  3. 等到用户没有用户策略(调用“listUserPolicies”直到返回空集)
  4. 尝试从存储桶中读取(这应该会失败)

如果我在 #3 和 #4 之间放置一个断点并等待几秒钟,用户将无法从存储桶中读取数据,这正是我所期望的。如果我删除断点,用户可以从存储桶中读取数据,这是错误的。

(当我add策略然后访问资源)

我想知道策略更改何时对组件(S3、SQS 等)产生影响,而不仅仅是对 IAM 系统产生影响。有什么办法可以得到收据或确认吗?或者也许有一定的等待时间?

有没有关于政策应用内部细节的文档?

(仅供参考,我复制了我的问题)


“几乎立即”一词在本文中出现了 5 次IAM FAQ,当然,有些主观。

由于 AWS 是一个全球分布式系统,因此您的更改必须传播,并且整个系统的设计似乎有利于可用性和分区容错性相对于立即一致性。

我不知道您是否考虑过这一点,但完全有可能在流程的第 4 步中看到一系列通过、失败、通过、通过、失败、失败、失败,失败......因为无论是桶还是桶中的对象实际上都不是一个地方的单个事物,正如混合一致性S3 中不同操作的模型,其中新对象是立即一致的,而覆盖和删除最终是一致的……因此策略对存储桶或对象“有影响”或没有“影响”的概念并不完全有意义因为策略的应用本身几乎肯定是一个分布式事件。

要确认此类策略的应用,需要 AWS 公开(至少间接)询问拥有该策略复制副本的每个实体的能力,以查看其是否具有当前版本……这可能是不切实际的,或者至少可以说,在像 S3 这样庞大的系统中,它的规模已经超出了惊人的规模2 万亿个对象,每秒服务超过 110 万个请求的峰值负载.

AWS 官方解答这个论坛帖子提供更多信息:

虽然您对 IAM 实体所做的更改会立即反映在 IAM API 中,但信息可能需要相当长的时间才能在全球范围内得到反映。在大多数情况下,您所做的更改会在一分钟内得到反映。网络状况有时可能会增加延迟,并且某些服务可能会缓存某些非凭证信息,这些信息需要一段时间才能过期并被替换。

对于同时该做什么的随之而来的答案是“再试一次”。

我们建议在轻微的初始延迟后重试循环,因为在大多数情况下,您会看到您的更改很快得到反映。如果您睡觉,在大多数情况下您的代码将等待太长时间,并且对于罕见的异常可能等待的时间不够长。

我们积极监控复制系统的性能。但与 S3 一样,我们只保证最终一致性,而不保证任何特定的上限。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

应用 AWS IAM 策略后我应该等待多长时间才能生效? 的相关文章

  • Terraform - 可选的 SSM 参数查找

    我正在查找 SSM 参数 该参数可能存在也可能不存在 具体取决于传入的变量 data aws ssm parameter server tags name var env number server tags 然后我在本地文件中像下面一样使
  • 为什么我会收到 ElasticBeanstalk::ExternalInitationError?

    我的应用程序基于 RubyOnRails 构建 并使用乘客部署为弹性 beanstalk 应用程序 我尝试向 nginx 服务器添加标头并重新启动它 这是我的配置文件 是 aws elastic beanstalk 中 ebextensio
  • 如何向 boto 中的联合用户授予 s3 存储桶的权限?

    尝试从文档中找出答案 但无法创建可以访问 s3 存储桶的联合用户 首先是进口 gt gt gt from boto s3 connection import S3Connection gt gt gt from boto sts impor
  • 使用 CognitoIdentityServiceProvider 的 adminCreateUser 方法的 AWS Lambda 函数突然失败

    在过去的几天里 我一直在使用 AWS Lambda 函数测试特定流程 并且在 Cognito 用户池中预注册后触发的 lambda 函数工作正常并很好地返回回调函数 但从昨天开始我就看到了以下错误 ntime node modules aw
  • 如何在AWS中从快照创建Windows实例

    我的公司想要在 Amazon Web Service 中拍摄窗口的每日快照 我们可以毫无问题地拍摄快照 但是当我尝试从快照创建实例时 它总是创建一个 Linux ami 所以当服务器启动时 它总是无法通过健康检查 是否可以从快照创建 Win
  • cloudfront 响应状态为 413(请求实体太大)

    我们需要发送大量数据作为 URL 的一部分 Angular 将读取该数据以呈现页面 网址超过 10000 个字符 但 cloudfront 返回以下错误 错误的请求 由 cloudfront CloudFront 生成请求 ID I2fOA
  • 如何使用 aws-cdk 在 EC2 和 RDS 之间创建 DependsOn 关系

    我目前正在使用aws cdk TypeScript 创建一个堆栈 其中包含EC2实例和一个RDS数据库实例 The RDS实例需要在之前设置EC2实例可以启动并且userdata将被执行 我遇到的问题是 我找不到一种方法来定义DepensO
  • Nginx url 限制 502 网关

    我有一个问题 但我接受绕过此功能的其他建议 基本上 我在 get 请求中向我的服务器发送大约 3000 个字符的大行文本 然后服务器将其作为 url 中的参数发送到谷歌翻译 问题 当 url gt 1900 个字符时 Nginx 会抛出 5
  • 无法对 Elastic Beanstalk AWS 上运行 ASP.NET 的网站强制使用 HTTPS(使用经典负载均衡器)

    这样我终于能够成功创建一个https网站了 它只是运行模板 ASP NET Web 项目 我有一个证书 并且该证书已添加到 AWS 中的 ELB 弹性负载均衡器 经典 中 我的环境可以浏览到https www mvc cloudy skie
  • AWS Route 53 - 公共子域无法公开访问?

    我已购买域名company com并创建公共子域sales company com 路由53中的公共托管区域 我将子域映射 创建 A 记录 到内部应用程序负载均衡器 ALB 即该 ALB 只能在我的公司网络内访问 我的理解是公共子域可以映射
  • Rails 4.1 AWS Beanstalk 找不到秘密密钥库

    我正在尝试在 AWS Beanstalk 上上传我的 Rails 项目 我已经运行 eb init eb start 并将数据库设置配置为指向 RDS 在我使用 git aws push 推送并等待 AWS 服务器启动后 提供的链接显示 5
  • 用于移动到冰川的对象的 AWS Lambda

    我正在开发一个 POC 其中我在 S3 上设置了生命周期规则 以便在一定天数后将对象移动到冰川 如果对象具有指定的标签 规则对我来说效果很好 对象通过生命周期规则移动到冰川 存储类型从标准更改为冰川 到目前为止 一切都很好 由于我需要限制用
  • 由 aws API 制作的 HttpRequest 拦截器

    我正在开发一个项目 该项目使用 cognito 作为身份验证服务来保护使用 nodeJS 制作的无服务器休息 API 我已成功关闭未经身份验证的客户端的 API 现在 每当我从 Angular 客户端发出请求时 我都需要在标头中自动注入一个
  • AWS S3从本地主机批量上传php错误

    我在尝试着批次 散装从本地主机 xampp 上传到我的S3 bucket 它似乎适用于大约 6 个项目 然后我收到一条错误消息 cURL 错误说Failed sending network data from http curl haxx
  • Amazon S3 - 一个对象的多个键

    我有一个 S3 存储桶 其中包含超过 1 亿个对象 每个对象像往常一样都有一个唯一的密钥 我想知道是否有办法为其中一些对象分配另一个键 像这样的东西 键1 gt 对象1 键2 gt 对象2 Key3 gt Object2 我想添加这个 我在
  • 如何在亚马逊AWS上加载ena驱动程序?

    我正在尝试在 Ubuntu VM 上加载 ena 驱动程序 根据文档 我的虚拟机有vif低性能驱动程序 ubuntu ip 172 31 14 190 ethtool i eth0 driver vif version firmware v
  • 如何在 Lambda 中将对象上传到 S3?

    似乎无法将对象上传到 Lambda 中的 S3 本地一切正常 日志中没有错误可以显示出了什么问题 代码如下 console log Loading function var AWS require aws sdk var s3 new AW
  • 如何将 AWS CLI 的输出保存在变量中?

    我想将 AWS CLI 的输出保存在变量中 并在另一个 AWS CLI 中使用该变量 我所做的如下 taskarn aws ecs list tasks cluster mycluster service name myService re
  • 在AWS EC2上挂载NVME磁盘

    所以我在每个节点上使用 NVME 磁盘创建了 i3 large 这是我的过程 lsblk gt nvme0n1 检查 nvme 是否尚未安装 sudo mkfs ext4 E nodiscard dev nvme0n1 sudo mount
  • Spark s3 写入(s3 与 s3a 连接器)

    我正在从事一项在 EMR 上运行的作业 它在 s3 上保存了数千个分区 分区为年 月 日 我有过去 50 年的数据 现在 当 Spark 写入 10000 个分区时 使用以下命令大约需要 1 小时s3a联系 它非常慢 df repartit

随机推荐

  • 如何将新的本地分支推送到远程 Git 存储库并对其进行跟踪?

    我如何能 从另一个分支创建本地分支 通过git branch or git checkout b 推送本地分支 到远程存储库 即发布 但使其 可追踪 以便git pull and git push将工作 在 Git 1 7 0 及更高版本中
  • 如何消除错误“'.'”为 MEAN 堆栈运行“npm install”时,不被识别为内部或外部命令?

    从mean io 下载mean stck zip 是否安装了 npm 几分钟后我收到一个错误 请看截图 我该怎么办 npm http 200 https registry npmjs org event emitter event e mi
  • 如何替换图像的颜色?

    我想替换图像的颜色 例如 将所有蓝色变为红色 形状不会变形 当我尝试这个时 我可以通过迭代每个像素来交换颜色 但是交换区域的形状变成平面形状 示例1输入 http www tutorialwiz com tutorials changing
  • Android 从右到左菜单项

    我有一个幻灯片菜单 如图一所示 我需要将其项目标题从右到左对齐 就像幻灯片二一样 我尝试了重力 右但没有用 这是我的代码 menu menu
  • 如何使用 Android 获得最准确的时间?

    我真的不认为这个问题是重复的 类似问题的大多数答案都说使用 System currentTimeMillis 作为最准确的时间 但我注意到并排的两个 Android 设备可能会彼此相差 5 秒或更长时间 或者 更重要的是 实时 我相信 cu
  • “VM初始化期间发生错误;使用 -Xmx3G 无法为对象堆保留足够的空间”

    首先 我有一个 8GB 内存的盒子 所以我怀疑总内存是问题所在 该应用程序在 6GB 或更少内存的机器上运行良好 我试图在 Eclipse 中的运行配置中的 VM Arguments 下使用 Xmx3G 保留 3GB 空间 每次我尝试保留超
  • 如何减小应用程序 (.apk) 的大小

    Help 当我在手机上安装应用程序进行测试时 它显示出巨大的大小 11 35 MB 这是一个非常简单的应用程序 可让用户浏览有趣的事实 我能想到的唯一原因是 drawable 中有 14 个 JPEG 文件 它们用作有趣事实的背景图像 这些
  • 使用不同的值更新多行

    我在我的 MySQL 数据库 users 中得到了这张表 它具有字段 id 和 value 现在我想更新lots of该表中的行带有singleSQL 查询 但许多行应该得到不同的值 目前 我正在使用这个 UPDATE users SET
  • 是否可以在服务器端运行 jQuery?

    我正在研究网页抓取 已经实现了AJAX分页 由于网站是用asp开发的 即扩展名为 aspx的页面 我尝试提交分页表单以从首页以外的其他页面获取数据 但没有取得任何成功 请看这里我用过的代码从所有实现 AJAX 分页的 ASP NET 页面中
  • asp.net MVC 部分视图控制器操作

    我对 Web 应用程序开发非常陌生 我想我应该从最新的技术开始 所以我尝试立即学习 ASP NET 以及 MVC 框架 对于 MVC 专业人士来说 这可能是一个非常简单的问题 我的问题是分部视图是否应该有关联的操作 如果是这样 每当普通页面
  • .NET Xbox 真实帐户 API

    是否有 NET API 可用于从您的 Xbox Live 帐户获取数据 我真正感兴趣的是谁在线 但消息也很酷 某种事件驱动的用户登录通知会很棒 但如果需要的话我会进行轮询 查看Xbox 社区开发者计划
  • 从编码图像和视频中提取 DCT 系数

    有没有一种方法可以轻松地从编码图像和视频中提取 DCT 系数 和量化参数 任何解码器软件都必须使用它们来解码块 DCT 编码的图像和视频 所以我很确定解码器知道它们是什么 有没有办法将它们暴露给使用解码器的人 我正在实现一些直接在 DCT
  • 如何使用 NUnit 3 在 Atlassian Bamboo 中运行 NUnit Runner?

    我在 Atlassian Bamboo 最新版本 中使用 NUnit Runner 和 NUnit 2 但升级到 NUnit 3 后它不再工作 NUnit 3 中的命令行似乎发生了一些变化 有人知道如何使 NUnit 3 在 Atlassi
  • 如何在 iOS、Swift 中自动填充从 firebase 收到的 OTP 代码上的 OTP 文本字段? (无需攻丝)

    我想知道一个自动调用并填充 OTP 文本字段的回调函数 在我从 firebase 收到 OTP 代码后 我已经尝试过 文本字段 contentType onetimecode 但这不是我要找的 这只是将从短信中获取的 otp 代码作为自动完
  • 如何将 TabBar 添加到基于 NavigationController 的 iPhone 应用程序

    我有一个简单的基于 NavigationController 的应用程序 主窗口显示一个 TableView 选择一个项目会加载一个子视图 我使用 Interface Builder 来显示 UI 视图 现在我想向应用程序添加一个 TabB
  • MSAccess - 最小化工具栏功能区 OnLoad()?

    我正在寻找一种可靠的方法来在 OnLoad 事件期间最小化默认的 MSAccess 工具栏功能区 我意识到可以完全隐藏工具栏 但这并不完全是我想要做的 我只是想最小化功能区 DoCmd ShowToolbar Ribbon acToolba
  • 如何将手势识别器从一个视图传递到另一个视图

    我有一个视图 其中包含多个子视图 这些子视图是带有多个按钮的复杂控件 超级视图具有用于点击 滑动等的手势识别器 在某些情况下 当接收到单次或双次触摸时 我希望超级视图将手势识别器传递给子视图进行处理 例如 singletaprecogniz
  • Fortran:动态数组与自动数组避免内存分配

    分析我们的 Fortran 代码之一 有两个子例程占用了大部分计算时间 22 1 和 17 2 在每个例程中 大约 5 的时间花费在分配和释放内存上 这些例程看起来像 MODULE foo CONTAINS SUBROUTINE bar I
  • 颤动动画设计

    如何在 Flutter 中实现类似的动画 尝试了不同的动画与动画位置 看来是失败了 https giphy com gifs XJ1awq5Wr83uJFkLup 你可以试试this使用示例定制交换动画补间序列 final Animatio
  • 应用 AWS IAM 策略后我应该等待多长时间才能生效?

    我以编程方式添加和删除 AWS IAM 用户策略 但应用这些策略时得到的结果不一致 例如 这可能会成功 也可能不会成功 我使用的是 Java 1 6 6 SDK 从可以从特定存储桶读取数据的用户开始 清除用户策略 列出策略 然后为每一项调用