你好,我正在阅读这个指南: https://github.com/imoglobe/opsworks-cookbooks/blob/master/user/README.md 但它没有提到将数据包和 JSON 格式的用户列表一起放在食谱中的什么位置。我进行了一些搜索,得到的答案是针对常规厨师的,而不是 AWS opsworks 厨师。有人能给我指明正确的方向吗?我相信这是一个简单的答案。谢谢
答案1
如果你只是想管理登录用户,那么 OpsWorks 有内置支持允许 IAM 用户登录堆栈内的实例。
回到你的实际问题 - OpsWorks 对数据包的支持有限。首先,根本不支持数据包Chef 11.10 之前版本。
在 Chef 10.10 中您可以使用数据包但数据只能通过自定义 JSON在堆栈设置中:
您无法通过将数据包添加到菜谱存储库来创建数据包。您必须使用自定义 JSON。
...
您可以使用自定义 JSON 创建数据包,以将一个或多个属性添加到堆栈配置和部署 JSON [:opsworks][:data_bags] 属性。
这尚未测试,但你的自定义可能看起来像这样:
{
"opsworks": {
"data_bags": {
"users": {
{
"id": "hsolo",
"comment": "Han Solo",
"home": "/opt/hoth/hsolo",
"ssh_keys": ["123...", "456..."]
}
}
}
}
}
你可以大概[:opsworks][:data_bags][:users]
还可以使用来自 S3 的 JSON 文件在 Chef 配方中在编译时设置密钥(请参阅读取并解析 JSON 文件以用于菜谱在这篇博文中),尽管我还没有尝试过。