【问题标题】:AWS IAM - Safely concatenate generated Access Key ID and Secret Access KeyAWS IAM - 安全地连接生成的访问密钥 ID 和秘密访问密钥
【发布时间】:2018-03-22 17:19:13
【问题描述】:

我想将我的访问密钥 ID 和秘密访问密钥连接在一起,以便我可以使用 Azure Key Vault 轻松轮换凭据。我无法找出生成的访问密钥 ID 或秘密访问密钥不会使用哪些字符来将它们分隔在连接的字符串中。使用分号还是冒号安全吗?

编辑:https://docs.aws.amazon.com/IAM/latest/APIReference/API_AccessKey.html 表示访问密钥 ID 可以包含任何非空格字符,尽管我不确定生成的 ID 在实践中是否受到更多限制。不幸的是,没有为秘密访问密钥提供指导。空格是合理的分隔符吗?

【问题讨论】:

    标签: amazon-web-services aws-iam


    【解决方案1】:

    亚马逊实际上在this article中提供了用于搜索访问密钥和秘密访问密钥的正则表达式,我们可以用它来判断使用了哪些字符:

    搜索访问密钥 ID:(?<![A-Z0-9])[A-Z0-9]{20}(?![A-Z0-9])。在英语中,这个正则表达式表示:Find me 20 个字符的大写字母数字字符串,其前后没有任何大写字母数字字符。

    搜索秘密访问密钥:(?<![A-Za-z0-9/+=])[A-Za-z0-9/+=]{40}(?![A-Za-z0-9/+=])。在英语中,这个正则表达式表示:查找 40 个字符、base-64 的字符串,它们的前后都没有任何 base 64 字符。

    因此访问密钥中的字母和数字以及那些加上字符/+= 可能会出现在密钥中。这意味着分号或冒号将是安全的分隔符选择。

    【讨论】:

    • “所以字母、数字和字符 /+= 可以出现在任一键中。” 我不明白您是如何得出访问键的结论的- id,即[A-Z0-9]{20}。只有密钥是 Base64。
    • 很公平,我的意思是在摘要中描述组合的组合。我已经澄清了那句话。
    • 完美。感谢您的更新,并在带有正则表达式的帖子中找到了很好的发现。
    猜你喜欢
    • 1970-01-01
    • 2017-03-23
    • 1970-01-01
    • 2020-03-24
    • 2021-12-25
    • 1970-01-01
    • 2017-10-02
    • 1970-01-01
    • 2020-11-28
    相关资源
    最近更新 更多