sops 加密文件编辑器介绍

发布时间: 更新时间: 总字数:1509 阅读时间:4m 作者:IP:上海 网址

sops是一个加密文件的编辑器,支持YAMLJSONENVINIBINARY格式,用AWS KMS、GCP KMS、Azure Key Vault、age和PGP进行加密。本文将重点介绍如何安装、使用。

介绍

  • sops是一款管理私密信息的、简单且灵活的工具。

安装

https://github.com/mozilla/sops/releases 下载二进制可执行文件进行安装

mv sops-v3.7.3.darwin.amd64 sops
chmod +x sops
mv sops /usr/local/bin
sops --help

使用

help

sops--help

使用PGP key加密

  • 什么是 GPG 以及如何生成参考 GPG 使用介绍
  • 配置 sops 使用的 GPG 命令,默认为 gpg
$ ~/.bashrc
SOPS_GPG_EXEC = 'gpg'
  • sops 通过 .sops.yaml 文件 .sops.yaml 配置加密规则,下面示例是 password 的信息加密,而且指定 gpg 的 fingerprint
$ cat << EOF > .sops.yaml
creation_rules:
  - encrypted_regex: '^(pwd|password)$'
    pgp: 'B5A1B728A2FD170FE0E6C4E2D6B71988603A67D2'
EOF
  • secrets.yaml 要加密的文件
$ cat << EOF > secrets.yaml
pwd: Pwd
password: Password
EOF
  • 加密
$ sops -e secrets.yaml
[PGP]	 WARN[0000] Deprecation Warning: GPG key fetching from a keyserver within sops will be removed in a future version of sops. See https://github.com/mozilla/sops/issues/727 for more information.
pwd: ENC[AES256_GCM,data:RC+j,iv:HWFwKyq2ijBFA3txl+LXtuHqvMlnbSs/sRve7Cty8q4=,tag:G/nzBqCJQNowhLMDjD0GIw==,type:str]
password: ENC[AES256_GCM,data:Sca2XL19AH0=,iv:rZkseHfZ5MyXtV54KJ21JZQqDstd/BN1UNdU1ykPggY=,tag:BV3EXRMWkapjTU4sQ6r7NQ==,type:str]
sops:
    kms: []
    gcp_kms: []
    azure_kv: []
    hc_vault: []
    age: []
    lastmodified: "2023-01-01T05:47:57Z"
    mac: ENC[AES256_GCM,data:yXUvvTofaGlyCGpGW7D9T4+FKwTv0bBNmJBqrhHQ01w57Tb0Ht6+8JwMbk/DHf1N7kewSronn6GZ0XnaBtqpp4DX69Q9VKTmE9kcNd7hSXjvHNUGNKoIxXsfhMVRQiBInGXjpFbuSvOHyrEYztlJ3xtRNVAMudC8FVverW42IEM=,iv:w9Ui7DXky1bTyk8X1t+Riwu4UCVctePYHJKuIejEWqk=,tag:axyu4boweQ5lrMudRGTH4g==,type:str]
    pgp:
        - created_at: "2023-01-01T05:47:54Z"
          enc: |-
            -----BEGIN PGP MESSAGE-----

            wcFMA5mU9xa5BTF6ARAAia4VyI5QsX8dnKJt3lq/HJiTcwtVfqGjEZXSJE+AjxwS
            f7IbuI/HeEOE5qeUIN8SEK1bYFmKIFxR5jMf0Azyf1+GRq5Fo65f4n22FD+EE0n2
            TcI54YtEgty+UG3nZgDrZ4fOc/xRV6veF0pverdVCkR8tAAEYHDcUt4cKFs7CgTf
            eZ5R70wJMrRGblLFG0BwK5lOcATFtEJD/66Gmz+1Fm3LWKo3Roo4fpRRzsjN34VJ
            veFHHizgTR5z+t0e9/eX3oh9l/utBUDdt3uNK51+PenYpFH2B/trPS7bvG5YfWW1
            yGbfkbzuANwpu1AJCihBtwHpfB6SOEMljAC2nKnedFdf3vO6tmM4QnPXb3qB5UhG
            SEMmAokPopFUrcJyGAKolBC6OHQBt7nklkEzWlMX3tZ0n2I8Fkbvg0rsD8pKxEfV
            GzurzXqbnauSMqtqbOrkZ97SoJPSuKmPHoi9DcxsOhZ67Mms9StiuTfMMSybib45
            i5iBaKFo2rF/YvucOKEuAHNZrinqf45S30h5MWYM9/QUB6tmOF9aHFC+2FW0DCT+
            FMp6Elv9RlacSoxkY5hRdW3qSFsMPQnSQx1dNxvPiUt5myTItlJyP0+OfWhdtOQf
            ZG24bH5sZKE/C/fuW0s1CNgEmn7vGTZ7Go9a23f4D5F+mX0lLmjho2tPoMQP11zS
            UQHQxvkbD9P2z12eYDBfbqUInpbx+W8DO4tHRmGS1lnupB+z5uzidHw81U7uESEF
            YhjdM0mPIybZqdpQ+7RXOa8kVTWrsRid6+8i97rjvbUIEg==
            =xPpO
            -----END PGP MESSAGE-----
          fp: B5A1B728A2FD170FE0E6C4E2D6B71988603A67D2
    encrypted_regex: ^(pwd|password)$
    version: 3.7.3

示例

age 文件加密

age 是是一个简单、现代、安全的文件加密工具。

  • 安装
# mac
brew install age

# ubuntu 22+
apt install age
  • 加密
sops --encrypt --age age1yt3tfqlfrwdwx0z0ynwplcr6qxcxfaqycuprpmy89nr83ltx74tqdpszlw test.yaml > test.enc.yaml
本文总阅读量 次 本站总访问量 次 本站总访客数