我正在遵循本教程,但我不知道为什么在运行某些 Vault 命令时会收到这些权限错误
vault kv put secret/hello foo=world
Error making API request.
URL: GET http://127.0.0.1:8200/v1/sys/internal/ui/mounts/secret/hello
Code: 403. Errors:
* permission denied
Run Code Online (Sandbox Code Playgroud)
欲了解更多信息...
vault status
Key Value
--- -----
Seal Type shamir
Initialized true
Sealed false
Total Shares 1
Threshold 1
Version 1.8.4
Storage Type inmem
Cluster Name vault-cluster-fc4492f9
Cluster ID 87956902-532d-dcfd-5e9a-9f1d36207ef4
HA Enabled false
Run Code Online (Sandbox Code Playgroud)
还有我的Vault包的版本
vault --version
Vault v1.8.4 (925bc650ad1d997e84fbb832f302a6bfe0105bbb)
Run Code Online (Sandbox Code Playgroud)
我已经导出了 Token 和地址,所以我不知道下一步要做什么来解决这个问题。谁能帮我吗?提前致谢。
从 UI 中我可以访问http://127.0.0.1:8200/ui/vault/但在 CLI 中仍然遇到相同的问题。我什至尝试了保管库身份验证登录,但没有任何变化。
我将此Vault docker 映像用于我的本地测试环境。但它仅将所有秘密存储在内存中。因此,如果我重新启动计算机,那么我的所有测试秘密都会消失,我每次都要手动重新创建它们。我该如何解决这个问题?
我的.env
文件:
COMPOSE_PROJECT_NAME=vault
VAULT_DEV_ROOT_TOKEN_ID=myroot
VAULT_ADDR=http://127.0.0.1:8200
Run Code Online (Sandbox Code Playgroud)
我的docker-compose.yml
文件:
version: "3.8"
services:
vault:
env_file:
- .env
networks:
- public
image: vault
restart: unless-stopped
ports:
- 8200:8200
cap_add:
- IPC_LOCK
container_name: "${TARGET_ENVIRONMENT}_${COMPOSE_PROJECT_NAME}_vault"
volumes:
- vault-logs:/vault/logs
- vault-file:/vault/file
labels:
- "traefik.enable=true"
- "traefik.http.routers.vault.service=vault"
- "traefik.http.routers.vault.entrypoints=https"
- "traefik.http.routers.vault.rule=Host(`vault.${HOST_URL}`)"
- "traefik.http.routers.vault.tls=true"
- "traefik.http.routers.vault.tls.certresolver=letsEncrypt"
- "traefik.http.services.vault.loadbalancer.server.port=8200"
volumes:
vault-logs:
vault-file:
networks:
public:
external: true
Run Code Online (Sandbox Code Playgroud) 我无法在 Supabase 中创建或编辑表。它显示错误消息“无法创建 pg.columns:必须是事件触发器 pgsodium_trg_mask_update 的所有者”。我认为这与supabaseVault的启动有关,但我的设置仪表板上暂时没有Vault功能。
我正在使用 supabase 的免费套餐。
我尝试删除Vault和pgsodium触发器,因为它们是新的,但仍然无法创建表。我什至无法删除 pgsodium 扩展。我正在寻找一种方法来创建密钥或禁用此功能,并使 SUPABASE 像以前一样工作,并且我应该能够创建表。
我创建了一个具有策略的用户:
$ vault token create -renewable -policy=admin_policy Key Value
--- -----
token s.kG0Kdb8d2DSOUHv3AMzw5tdO
token_accessor Do57Fg9DpiMv1j6t3oysZoz9
token_duration 900h
token_renewable true
token_policies ["admin_policy" "default"]
identity_policies []
policies ["admin_policy" "default"]
Run Code Online (Sandbox Code Playgroud)
现在我想向令牌添加策略。我该怎么做呢?
或者我创建了用户:
vault write auth/userpass/users/test3 password=test -policy=admin_policy
Success! Data written to: auth/userpass/users/test3
Run Code Online (Sandbox Code Playgroud)
现在我想向用户添加一个策略:
vault write auth/userpass/users/test3 password=test -policy=admin_policy -policy=crm_sales_policy
Success! Data written to: auth/userpass/users/test3
Run Code Online (Sandbox Code Playgroud)
但一切都没有改变。
简而言之,在我放置docker-compose down
并重新部署它之后,我正在努力将保存在本地计算机的保管库容器中的数据保留下来docker-compose up -d
,数据丢失了。我将向您展示我的.yml
看起来如何非常简单:
version: '3.7'
services:
vault_dev:
image: vault:latest
volumes:
- vault-file:/vault/file
ports:
- "8200:8200/tcp"
environment:
VAULT_DEV_ROOT_TOKEN_ID: 'root'
VAULT_DEV_LISTEN_ADDRESS: '0.0.0.0:8200'
cap_add:
- IPC_LOCK
container_name: vault_dev
entrypoint: "vault server -dev"
volumes:
vault-file: {}
Run Code Online (Sandbox Code Playgroud) 我已将所有配置详细信息添加到 Vault 中。您可以在下面的附图中看到详细信息。这遵循特定的路径,即kv/unistad/dev/workflow/camunda/1.0
但是,当我尝试使用Vault.NET和以下 nuget 包读取此信息时
Install-Package Vault
Run Code Online (Sandbox Code Playgroud)
我的代码看起来像这样:
var endpoint = "http://openblue-bridge.com:32270";
var token = "s.inklpUdNxet1ZJtaCLMpEIPA";
var vaultClient = new VaultClient(new Uri(endpoint), token);
string project = "unistad";
string environment = "dev";
string appVersion = "1.0";
var secretPath = $"kv/{project}/{environment}/workflow/camunda/{appVersion}";
// Use client to read a key-value secret.
var secrets = await vaultClient.Secret.Read< Dictionary<string, string>> (secretPath);
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,出现以下错误:
版本化 K/V 秘密引擎的路径无效。请参阅 API 文档以了解要使用的适当 API 端点。如果使用 Vault CLI,请使用“vault kv get”执行此操作。
我不知道如何修复这个错误。任何帮助将非常感激。
作为示例获取架构的方法,secretproviderclasses.secrets-store.csi.x-k8s.io
我将使用命令kubectl describe crd secretproviderclasses.secrets-store.csi.x-k8s.io
并得到结果:
Name: secretproviderclasses.secrets-store.csi.x-k8s.io
Namespace:
Labels: <none>
Annotations: controller-gen.kubebuilder.io/version: v0.9.0
helm.sh/resource-policy: keep
API Version: apiextensions.k8s.io/v1
Kind: CustomResourceDefinition
Metadata:
Creation Timestamp: 2022-10-11T15:27:15Z
Generation: 1
Managed Fields:
API Version: apiextensions.k8s.io/v1
Fields Type: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.:
f:controller-gen.kubebuilder.io/version:
f:spec:
f:conversion:
.:
f:strategy:
f:group:
f:names:
f:kind:
f:listKind:
f:plural:
f:singular:
f:scope:
f:versions:
Manager: helm
Operation: Update
Time: 2022-10-11T15:27:15Z
API Version: apiextensions.k8s.io/v1
Fields Type: FieldsV1
fieldsV1:
f:status:
f:acceptedNames:
f:kind:
f:listKind:
f:plural:
f:singular:
f:conditions:
k:{"type":"Established"}:
.:
f:lastTransitionTime:
f:message:
f:reason:
f:status: …
Run Code Online (Sandbox Code Playgroud) vault ×8
docker ×2
consul-kv ×1
kubernetes ×1
kubernetes-custom-resources ×1
nomad ×1
postgresql ×1
spring-vault ×1
supabase ×1