代码之家  ›  专栏  ›  技术社区  ›  Harry

AWS秘密管理器中的秘密Id

  •  0
  • Harry  · 技术社区  · 5 年前

    我们在AWS环境中部署了完整的应用程序,发现AWS Secret Manager是存储数据库和其他一些组件的机密的正确选择。

    我们的最终目标是不在配置文件/数据库中存储任何凭据。它是使用AWS Secret Manager实现的。

    但当我试图连接AWS Secret Manager以检索机密值时,我发现它需要一个字段,如“ 秘密身份证 “如下所示,我需要在某个位置保护这个秘密id,以便在应用程序中使用它来访问秘密值。

    aws secretsmanager get-secret-value --secret-id tutorials/MyFirstTutorialSecret 
    
    1 回复  |  直到 5 年前
        1
  •  0
  •   Binh Nguyen    5 年前

    如果你想隐藏你的秘密 secret-id ,你最好有另一个安全层。把这些存起来怎么样 秘密身份证 在某处, AWS DynamoDB ?

    |   id   |            secret-id          |
    | abc123 |tutorials/MyFirstTutorialSecret|
    

    然后创建一个定制脚本 (Bash/Python) 只有您和特权用户才能访问哪些内容?

    $MYSECRETID = <Retrieve it from DynamoDB using `id` key>
    aws secretsmanager get-secret-value --secret-id $MYSECRETID
    
        2
  •  0
  •   Foghorn    3 年前

    AWS不允许你想要什么,因为它使用秘密的名称作为ARN的一部分。然而,你可以尝试做一些像@leondkr建议的间接操作,或者使用策略来限制谁甚至可以列出存在的秘密。这可以在IAM或机密资源策略中实现。有关更多信息,请参见此处: https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html 您可能希望限制的权限是secretsmanager:ListSecrets。

    以下是IAM针对该服务采取的行动: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html

    推荐文章