Vault:基本チュートリアルのポリシー

4395 ワード

六、策略
ポリシーは、ユーザーがアクセスできるコンテンツを制御し、ライセンスとポリシーは同じフォーマットで、すべての認証方法が認証をポリシーにマッピングします.
ポリシーのフォーマットと作成
ポリシーはHCLで記述されますが、jsonと互換性があります.
# Normal servers have version 1 of KV mounted by default, so will need these
# paths:
path "secret/*" {
  capabilities = ["create"]
}
path "secret/foo" {
  capabilities = ["read"]
}

# Dev servers have version 2 of KV mounted by default, so will need these
# paths:
path "secret/data/*" {
  capabilities = ["create"]
}
path "secret/data/foo" {
  capabilities = ["read"]
}

このポリシーの下で、ユーザは、secret/を除いて、secret/fooに任意のパスワードを書き込むことができる.
この例をmy-policy.hclに保存します.vault policy fmt my-policy.hclを使用してポリシーを自動的にフォーマットします.
ポリシーファイルをアップロードできます.
$ vault policy write my-policy my-policy.hcl

コマンド・ラインにポリシーを記述するには、次の方法を使用します.
vault policy write my-policy -<# Normal servers have version 1 of KV mounted by default, so will need these
# paths:
path "secret/*" {
  capabilities = ["create"]
}
path "secret/foo" {
  capabilities = ["read"]
}

# Dev servers have version 2 of KV mounted by default, so will need these
# paths:
path "secret/data/*" {
  capabilities = ["create"]
}
path "secret/data/foo" {
  capabilities = ["read"]
}
EOF

また、vault policy listを使用してポリシーのリストを表示し、vault policy read my-policyを使用してポリシーの内容を読み取ることもできます.
これらのポリシーをテスト
tokenを作成し、ポリシーに割り当てます.
$ vault token create -policy=my-policy
Key                  Value
---                  -----
token                8203710c-5e40-480f-dff0-751ff7198220
token_accessor       829f0db4-c958-08a6-e445-9a57c0845122
token_duration       768h
token_renewable      true
token_policies       ["default" "my-policy"]
identity_policies    []
policies             ["default" "my-policy"]

ログインしてテストします.
認証方法へのポリシーのマッピング
vaultでは単一のポリシー権限があり、authでは複数のアイデンティティ認証メソッドを有効にすることができ、任意のアイデンティティ認証メソッドをこれらのポリシーにマッピングする必要があります.$ vault write auth/github/map/teams/default value=my-policyを使用してポリシーを書き込みます.