iT邦幫忙

2026 iThome 鐵人賽

DAY 10
0

前幾天我們已經使用Vault進行基礎的密鑰管理,今天要來理解在Vault裡一個相當重要的概念 - Policy。

何謂Policy

先來看一下官方文件上的這段文字:

Everything in Vault is path-based, and policies are no exception. Policies provide a declarative way to grant or forbid access to certain paths and operations in Vault.

在前幾天的文章中不難看出在 Vault的世界中,Credential 的存放基本上都是以路徑為基礎,而 Policy 則是在 Vault 中,控制著是否有權限去存取特定路徑的Credentials。

而HCL(Hashicorp Configuration Language) 就如同其他的IaaS(Infrastucture as a service) 語言 Ansible等,是用來配置policy的語言。

首先,我們先建立一個HCL腳本:

path "secret/data/myapp" {
  capabilities = ["read"]
}

從HCL可以很直觀的看出我們正在對Path進行一些控管。
https://ithelp.ithome.com.tw/upload/images/20260922/201289251znPUj60Y9.png

接著將 Policy 寫入 Vault:

vault policy write myapp-read myapp-read.hcl

https://ithelp.ithome.com.tw/upload/images/20260922/20128925BqgxTeUilo.png

成功寫入可以查看目前有哪些Policy存在並讀取:

grantli@xxxx:~$ vault policy list
default
default-ceiling
myapp-read
root
vault policy read myapp-read

https://ithelp.ithome.com.tw/upload/images/20260922/20128925YCA2LJrRDf.png

在 capabilities 裡 HCL 支援對應的操作如 create、read、update delete、list、sudo 及 deny 操作。

到這裡,權限管理的概念儼然已成型,到這邊,我想你們一定跟我有一樣的疑惑,權限有了,那然後呢?

接下來:

建立token,Assign對應的Policy

vault token create -policy="myapp-read"

https://ithelp.ithome.com.tw/upload/images/20260922/20128925xRPCYtRf5F.png

沒錯! 我們要做的便是建立對應權限的 token 或是之後會提到的 App Role來進行管理。

這邊只是先提到一些Concept。


上一篇
Day 9. KV v1 vs KV v2:Destroy、metadata 與 Secret Recovery
下一篇
Day 11. Token Authentication:Token、TTL 與 Lease
系列文
身分驗證你我他 ─ 使用 HashiCorp Vault 與 Terraform 打造 Secret 與 Identity 實驗室 共 14 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言