当前位置: 首页 > 知识库问答 >
问题:

如何在访问 AWS 服务时处理 IAM 凭证轮换

左丘元徽
2023-03-14

我们配置了一个API网关来接收外部调用,将对象放入我们的S3桶。当尝试用Java编程时,我们必须获得访问密钥和秘密访问密钥,并将其附加到对AWS的请求中。

我们调用API网关的服务(Salesforce)驻留在AWS服务的外部,我们使用的IAM用户的访问密钥和秘密访问密钥每月轮换一次,这意味着,在最糟糕的情况下,我们必须手动获取这些密钥并将它们复制到特定位置。

这似乎不是一个优雅的解决方案,有经验的人能提供更好的方法吗?

共有1个答案

华凡
2023-03-14

AWS IAM允许同时激活两个访问密钥。这允许长时间旋转。

例如:

  • 访问密钥 1 正在使用中,并存储在 Salesforce 中
  • 月底:
    • 生成第二个访问密钥
    • 两个密钥均有效
    • 新密钥将复制到 Salesforce 中

    这允许更长的“过渡期”,而不必同时在两个系统中执行更新。

    上述AWS过程可以通过API调用执行。如果外部系统还允许通过API进行凭证更新,则整个操作可以自动化。

 类似资料:
  • null 根据AWS文档,您应该始终为EC2创建角色,并根据您的需求为角色分配策略。 向一个角色授予多个服务访问权限是否存在安全问题?我问这个问题的原因是,使用EC2元数据,您可以在此时使用该角色获得分配给EC2实例的accesskey信息。EC2经常刷新密钥。 任何反馈或输入。

  • 我有一个关于在Lambda函数中运行的跨帐户IAM问题。(我知道人们可能会使用STS,但这个软件包真的不值得保护,我不想通过链接帐户) 账户“一”。 账户“B” Lambda是只读的,但是我相信boto3不会将凭据写入~/. aws,如果我使用boto3.client(不是会话)。不过我也把AWS_CONFIG_FILE设为 /tmp以防万一。它仍然失败。我怀疑我的提议是不可能的,因为LAMBDA

  • 我试图使用AWS CodePipeline为我们的CICD流程构建一个管道。我点击“创建管道”,为第一个面板提供一个名称并使用默认值。在下一个面板上,在选择BitBucket(beta)作为源提供商时,我得到以下访问异常: AccessDeniedException:用户:arn:aws:iam::280945876345:用户/罗杰无权执行:codestar连接:资源上的列表连接:arn:aws

  • 因此,我正在使用spring boot应用程序,我希望从该应用程序访问AWS资源,我知道如何通过I am凭据和STS凭据访问AWS资源,我正在寻找一个通过spring boot应用程序使用以下临时AWS凭据的示例或方法。 AWS_SECRET_ACCESS_KEY AWS_ACCESS_KEY AWS_SESSION_TOKEN AWS_SESSION_ID 注意:我尝试过通过BasicSessi

  • 我是K8s的新手“需要帮助” 现在的问题是。- 如何在k8s AWS中旋转私人容器服务,这些服务是私人的,我只能访问?

  • 我在ECS fargate上运行java应用程序,并在fargate任务中添加了一个角色来执行s3操作。在我的java进程中,我已经开始使用aws sdk的DefaultCredentialsProviderChain.java来获取凭证并创建s3客户端。我面临的问题是理解下面提到的问题: < li >链中的哪个类(在DefaultCredentialsProviderChain.java)从关联