All Projects → Mongey → vault-plugin-secrets-kafka

Mongey / vault-plugin-secrets-kafka

Licence: other
A vault plugin for generating ACLs for dynamic users

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to vault-plugin-secrets-kafka

esque
esque - an operational kafka tool.
Stars: ✭ 22 (+10%)
Mutual labels:  apache-kafka
vault-migrator
migrate vault data between different physical backends
Stars: ✭ 51 (+155%)
Mutual labels:  vault
hcat
Hashicorp Configuration and Templating library (hcat, pronounced hashicat)
Stars: ✭ 89 (+345%)
Mutual labels:  vault
vault
Is a plugin for project management system Redmine. Allows you to store various passwords/keys in one place for the project.
Stars: ✭ 44 (+120%)
Mutual labels:  vault
artifactory-secrets-plugin
HashiCorp Vault Artifactory Secrets Plugin
Stars: ✭ 17 (-15%)
Mutual labels:  vault
nanvault
A standalone CLI tool to encrypt and decrypt files in the Ansible Vault format
Stars: ✭ 33 (+65%)
Mutual labels:  vault
vault-auth-spire
vault-auth-spire is an authentication plugin for Hashicorp Vault which allows logging into Vault using a Spire provided SVID.
Stars: ✭ 37 (+85%)
Mutual labels:  vault
teller
Cloud native secrets management for developers - never leave your command line for secrets.
Stars: ✭ 998 (+4890%)
Mutual labels:  vault
vaultlib
Lightweight Go client library for reading Vault kv secrets
Stars: ✭ 21 (+5%)
Mutual labels:  vault
cryptorious
CLI Password Manager
Stars: ✭ 15 (-25%)
Mutual labels:  vault
concourse-ci-formula
All-in-one Concourse VM with S3-compatible storage and Vault secret manager
Stars: ✭ 26 (+30%)
Mutual labels:  vault
vault-token-helper
@hashicorp Vault Token Helper for macOS, Linux and Windows with support for secure token storage and multiple Vault servers 🔐
Stars: ✭ 74 (+270%)
Mutual labels:  vault
kafka-serialization
Lego bricks to build Apache Kafka serializers and deserializers
Stars: ✭ 122 (+510%)
Mutual labels:  apache-kafka
vault-sidecar-injector
Kubernetes admission webhook for secure, seamless and dynamic handling of secrets in your applications
Stars: ✭ 55 (+175%)
Mutual labels:  vault
vault-consul-swarm
Deploy Vault and Consul with Docker Swarm
Stars: ✭ 20 (+0%)
Mutual labels:  vault
vault-consul-monitoring
Sample project to explore monitoring Vault and Consul with telegraf/influxdb/grafana
Stars: ✭ 52 (+160%)
Mutual labels:  vault
brave-kafka-interceptor
Kafka Interceptor for Zipkin
Stars: ✭ 30 (+50%)
Mutual labels:  apache-kafka
vault-load-testing
Automated load tests for Vault and Consul using the locust.io Python framework
Stars: ✭ 44 (+120%)
Mutual labels:  vault
ansible-vault-editor-idea-plugin
Ansible Vault Editor IntelliJ Plugin with auto encryption/decryption
Stars: ✭ 29 (+45%)
Mutual labels:  vault
offensive-infrastructure
Offensive Infrastructure with Modern Technologies
Stars: ✭ 88 (+340%)
Mutual labels:  vault

[WIP] vault-plugin-kafka-secret

CircleCI

A Vault plugin for generating credentials for Apache Kafka clients.

Generates a dynamic username and ACL that can be used to create a uniq SSL certificate for a Kafka client.

Use this in combination with the vault pki backend.

Pre-Install

🔌 Installation

  • Download the plugin to Vault's plugin directory.
  • Register the plugin with Vault
    • vault write sys/plugins/catalog/vault-plugin-secrets-kafka \
        sha_256="$SHASUM" \
        command="vault-plugin-secrets-kafka"
  • Enable the plugin mount
    • vault secrets enable -path=kafka -plugin-name=vault-plugin-secrets-kafka plugin

🛠 Configure

  • Configure the plugin

    • vault write kafka/config/access address="localhost:9092" ca_certificate="$CA" client_certificate="$CERT" client_key="$PRIVATE_KEY"
    • The client must be capable of writing creating and deleting ACLs.
  • Write a policy

    • {
        "acl": {
          "host": "*",
          "operation": "Read",
          "permission_type": "Allow"
        },
        "resource": {
          "type": "Topic",
          "name": "*",
          "pattern_type_filter": "any"
        }
      }
  • Write the role

    • vault write kafka/roles/read-all-topics policy=$(cat bin/policy.json)
  • Read the credentials, pick the username

    • vault read kafka/creds/read-all-topics
  • Generate a SSL certificate for this client

    •   NAME=$(vault read -field=user kafka/creds/read-all-topics)
        DATA=$(vault write -format=json pki/issue/kafka-clients common_name="$NAME" ttl=$TTL | jq -r .data)
        printf "%s" "$DATA" | jq -r .private_key > private.key
        printf "%s" "$DATA" | jq -r .certificate > client.cert
        printf "%s" "$DATA" | jq -r .issuing_ca  > ca.cert
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].