- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Terraform 创建 AKS(Azure Kubernetes 服务),并且想为 AKS 节点的“linux_profile”设置 ssh_key。
我发现的使用 terraform 创建 AKS 的唯一相关教程是 this它使用“~/.ssh/id_rsa.pub”中的本地文件。
resource "azurerm_kubernetes_cluster" "k8s" {
name = var.cluster_name
location = azurerm_resource_group.k8s.location
resource_group_name = azurerm_resource_group.k8s.name
dns_prefix = var.dns_prefix
linux_profile {
admin_username = "ubuntu"
ssh_key {
key_data = file(var.ssh_public_key)
}
}
# lots of other configuration
}
我想使用由 keyvault 管理的 key ,因此我不必在本地管理任何 secret 。为此,我使用此代码创建了一个 key 保管库(为了清楚起见,我删除了有关“access_policies”的部分)
resource "azurerm_key_vault" "example-keyvault" {
name ="example-keyvault"
location = data.azurerm_resource_group.rg.location
resource_group_name = data.azurerm_resource_group.rg.name
enabled_for_disk_encryption = true
tenant_id = data.azurerm_client_config.current.tenant_id
soft_delete_enabled = true
purge_protection_enabled = false
sku_name = "standard"
tags = merge(var.tags, {environment = terraform.workspace})
}
我使用以下代码在此 keystore 中创建了一个 key :
resource "azurerm_key_vault_key" "ssh_key_linux_profile"
{
name = "ssh_key_linux_profile"
key_vault_id = azurerm_key_vault.example-keyvault.id
key_type = "RSA"
key_size = 2048
key_opts = [
"decrypt",
"encrypt",
"sign",
"unwrapKey",
"verify",
"wrapKey",
]
}
我正在尝试找到一种方法来告诉 terraform 使用该 key 的公共(public)组件作为“ssh_key”的“key_data”。我尝试了以下方法:将“azurerm_key_vault_key”导入到我当前的范围中:
data "azurerm_key_vault_key" "ssh_key_linux_profile" {
name = "ssh_key_linux_profile"
key_vault_id = azurerm_key_vault.example-keyvault.id
}
然后访问 key 的公共(public)部分:
...
ssh_key {
key_data = data.azurerm_key_vault_key.ssh-key-linux-profile.e
}
...
我现在已经弄清楚“e”只是“公共(public)指数”,因此只是公钥的一小部分。对应terraform documentation没有给我任何提示:-/
我可以使用 azure cli 实际下载该 key
az keyvault key download --vault-name "example-keyvault" -n ssh-key-linux-profile -e PEM -f mykey.pem
有什么方法可以告诉 terraform 使用这个 key 吗?
更新:我找到了这个reddit threat遇到了同样的问题,但也无法解决。
最佳答案
也许您可以在本地创建 SSH 公钥,然后将它们存储在 Azure Key Vault key 中。然后您可以使用数据源获取 secret 值作为 ssh key :
data "azurerm_key_vault_secret" "example" {
name = "ssh-key-linux-profile"
key_vault_id = data.azurerm_key_vault.existing.id
}
...
ssh_key {
key_data = data.azurerm_key_vault_secret.example.value
}
...
这是在 Azure Key Vault 中存储 SSH 公钥的正确且简单的方法。
关于azure - 使用 Terraform 使用 Key Vault 维护的 RSA key 创建 AKS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66475048/
我目前正在学习保险库。我知道什么是 secret 引擎等以及它是如何工作的。但我没有找到任何关于 vault write 之间差异的信息。和 vault kv put .在我看来,这些命令做同样的事情
我已经在 k8s (AKS) 中安装了 vault 集群,现在我尝试使用 vault CLI 连接到该集群 问题是我找不到任何信息或文档。 我下载了 vault.exe,但是我在哪里配置它以连接到集群
我已经在 k8s (AKS) 中安装了 vault 集群,现在我尝试使用 vault CLI 连接到该集群 问题是我找不到任何信息或文档。 我下载了 vault.exe,但是我在哪里配置它以连接到集群
我在 docker 中运行Vault,如下所示: $ docker run -it --rm -p 8200:8200 vault:0.9.1 我已经打开了金库的密封: $ VAULT_ADDR=
我在 docker 中运行Vault,如下所示: $ docker run -it --rm -p 8200:8200 vault:0.9.1 我已经打开了金库的密封: $ VAULT_ADDR=
有没有办法在 SourceGear Vault Client 中查看已删除文件的内容和历史记录?我找到的唯一方法是取消删除文件,查看文件,然后再次删除文件。 我目前正在使用 Vault 4.1.2。
Vault 代理 v1.4.2 服务在 systemctl 下运行时无法呈现模板和创建文件。 但是相同的模板渲染按预期使用保险库代理服务中使用的命令工作 /opt/vault/bin/vault ag
是否可以列出存储在保险库后端的所有角色?我似乎找不到任何关于如何这样做的引用。 从文档中,似乎可以通过 auth/approle/role/my-role 列出给定角色名称的角色。 ,例如,但我没有看
我已经开始使用 Hashicorp 的 Vault 来管理 secret ,并且对 Vault 的日常密封有一些疑问。我的工作流程有两个身份验证后端;特定用户可以通过写入权限访问 Vault 以添加新
我无法理解 secret 列表的工作原理。我有具有路径权限的策略。 path "sys/mounts/*" { capabilities = ["create", "read", "update",
我们使用带有 Consul 的 Hashicorp Vault 作为存储,我们希望为 Vault 实现强大的备份和恢复策略。 我们特别希望在构建新的 Vault 服务器时备份所有 Vault 数据并使
我正在使用 Hashicorp Vault 和 java springVault,尝试生成几个键值对。执行此操作的最佳方法(或Vault API)是什么?理想情况下,此键值对是在 Vault 内生成的
我正在寻找更好的 secret 轮换解决方案,发现 Vault 动态 secret 是一个很好的解决方案。通过启用 secret 引擎,比如数据库,应用程序/服务可以租用动态 secret 。 我注意
这是official docs关于保管库提供商,事情是: provider "vault" { version = "2.10.0" address = "..." } 我确实设置了 VAUL
在 Docker 容器中运行时,vault -autocomplete-install失败。 $ docker run --privileged -ti vault:latest -autocompl
我只是在尝试新的 Vault UI .我希望能够使用用户名和密码登录。如何从命令行创建新用户以便我可以使用用户名和密码登录? 最佳答案 像这样创建一个新用户: vault write auth/use
我们已经为一台服务器安装并配置了 Hashicorp Vault AppRole 身份验证,通过存储 role_id和 secret_id在服务器上的本地文件中,我们可以让服务器上的代码从文件中读取值
我在本地安装了 Vault。我能够启动本地开发服务器并根据此官方教程 https://learn.hashicorp.com/vault/ 将一些 secret 写入/读取到 Vault kv 中 然
我正在使用 spring-cloud-vault 从 vault 服务器检索版本控制的 kv。当我使用 environemnt.getSecret("key1") 时,它仅返回最新版本的 key ,例
我不知道我是否做错了什么。 但这是我的配置。 // payload.json { "plugin_name": "postgresql-database-plugin", "allowed_r
我是一名优秀的程序员,十分优秀!