HashiCorp Vault Policy 權限設定

Vault 有網頁版的 CLI,叫做 Vault Web REPL provides ,但是功能比較簡陋,所以平時在使用時還是會在指令視窗中執行指令。

登入

在使用 CLI 時需要先登入:
    
vault login
    

如果不是預設的位置,可以使用 -address 參數來指定:
    
vault login -address "https://192.168.0.60:8200"
    

在登入時如果出現憑證錯誤的問題:
    
vault login -address "https://192.168.0.60:8200"
Token (will be hidden):
Error authenticating: error looking up token: Get "https://192.168.0.60:8200/v1/auth/token/lookup-self": tls: failed to verify certificate: x509: cannot validate certificate for 192.168.0.60 because it doesn't contain any IP SANs
    

可以使用 -tls-skip-verify 參數暫時跳過驗證:
    
login -address "https://192.168.0.60:8200" -tls-skip-verify
    

查看指定的 Policy:
    
vault policy read my-policy
path "*" {
  capabilities = [ "create", "read", "update", "list" ]
}
    

查看指定的 kv Secret:
    
vault kv get jenkins/docker-registry
======== Secret Path ========
jenkins/data/docker-registry

======= Metadata =======
Key                Value
---                -----
created_time       2025-02-20T06:07:18.502592074Z
custom_metadata    <nil>
deletion_time      n/a
destroyed          false
version            1

====== Data ======
Key         Value
---         -----
password    my-pwd
username    my-user
    

上面可以看到雖然 kv Secret 名稱是 jenkins/docker-registry ,但是寫在 policy 時 path 要寫成 jenkins/data/docker-registry ,且路徑後面不可以多加斜線
範例:
    
path "jenkins/data/docker-registry" {
  capabilities = [ "create", "read", "update", "list" ]
}
    

文章撰寫中...請稍後...

參考資料:
HashiCorp Vault Policies

留言