Vault Komutları

Kurulum

https://vaultproject.io/downloads.html sayfasından ilgili Vault projesi indirilip arşiv içerisindeki ikili dosya çalıştırılabilir PATH dizinine konur.

Kurulum doğru olup olmadığını doğrulamak için komut satırına aşağıdaki komut yazılır

$ vault

Vault Sunucusunu Başlat

Production sunucuda kullanacaksanız kendi dokümanına göre TLS’i aktif edin.

$ cat config.hcl
backend "file" {
path = "vault"
}

listener "tcp" {
address = "127.0.0.1:8200"
tls_disable = 1
}
$ vault server -config=config.hcl

Vault Sunucusu Adresini Belirt

$ export VAULT_ADDR='http://127.0.0.1:8200'

Yapılan İşlemleri Kayıt Altına Al

$ vault audit-enable file path=~/vault/vault_audit.log

Sır İşlemleri

Sır Yazma

  • Güvenli olmayan şekilde:
$ vault write secret/hello value=world excited=yes
Success! Data written to: secret/hello
  • Dosyadan okuyarak yazma:
$ cat data.json
{ "value": "itsasecret" }

$ vault write secret/password @data.json

Sır Okuma

$ vault read secret/hello
Key Value
lease_id secret/hello/d57fe039-1eef-9f4a-f3c9-63e2b29002b8
lease_duration 2592000
excited yes
value world

Sır Silme

$ vault delete secret/hello
Success! Deleted 'secret/hello'

Bölümleri Listele

$ vault mounts

Bölümler

Bölüm Ekle

$ vault mount -path=bolum_adi generic

Bölüm Sil

$ vault unmount generic/
Successfully unmounted 'generic/'!

Kimlik Doğrulama

Token ile Kimlik Doğrulama

  • Token oluşturma
$ vault token-create -policy=root
6c38f603-6441-2161-c543-ee15b7206563
  • Token silme
$ vault token-revoke 6c38f603-6441-2161-c543-ee15b7206563
Revocation successful.
  • Token ile kimlik doğrula
$ vault auth d08e2bd5-ffb0-440d-6486-b8f650ec8c0c
Successfully authenticated! The policies that are associated
with this token are listed below:

root

GitHub ile Kimlik Doğrulama

  • GitHub’ı etkinleştir
$ vault auth-enable github
Successfully enabled 'github' at 'github'!
  • İstenilen GitHub organizasyonunu sisteme ekle, owners takımını root politikası hakları ile yetkilendir.
$ vault write auth/github/config organization=pivotus
Success! Data written to: auth/github/config

$ vault write auth/github/map/teams/owners value=root
Success! Data written to: auth/github/map/teams/owners
  • GitHub token ile kimlik doğrulama

Token üretmek için: Kişisel erişim token’ı

$ vault auth -method=github token=e6919b17dd654f2b64e67b6369d61cddc0bcc7d5
Successfully authenticated! The policies that are associated
with this token are listed below:

root
  • GitHub tokenlarını sil
$ vault token-revoke -mode=path auth/github
  • GitHub yetkilendirmeyi devre dışı bırak
$ vault auth-disable github
Disabled auth provider at path 'github'!

Erişim Kontrol Politikaları

Örnek Politika Formatı

acl.hcl:

path "sys" {
policy = "deny"
}

path "secret" {
policy = "write"
}

path "secret/foo" {
policy = "read"
}

Politika Yazma

Secret isminda politika oluşturmak için:

$ vault policy-write secret acl.hcl
Policy 'secret' written.

Politika Testi

$ vault token-create -policy="secret"
d97ef000-48cf-45d9-1907-3ea6ce298a29

$ vault auth d97ef000-48cf-45d9-1907-3ea6ce298a29
Successfully authenticated! The policies that are associated
with this token are listed below:

secret
$ vault write secret/bar value=yes
Success! Data written to: secret/bar

$ vault write secret/foo value=yes
Error writing data to secret/foo: Error making API request.

URL: PUT http://127.0.0.1:8200/v1/secret/foo
Code: 400. Errors:

* permission denied

GitHub Takımına Politika Tanımla

$ vault write auth/github/map/teams/foobar value=secret
Success! Data written to: auth/github/map/teams/foobar

Referans

Daha detaylı anlatım için tıklayın

comments powered by Disqus