AWS 云安全相关实际操作。
AWS Key Management Service
一、创建一个客户管理的密钥
- 进入 AWS KMS 控制台
- 选择客户管理的密钥并点击创建密钥
- 填写密钥信息
- 选择密钥类型(对称、非对称)
- 选择密钥来源(KMS、外部、自定义密钥库)
- 填写别名
- 填写描述
- 设置标签
- 配置密钥管理员(选择 IAM 用户或角色)
- 定义密钥使用权限
可以指定其他 AWS 账户使用此密钥。
- 审核和编辑密钥策略
- 点击完成
- 等待密钥创建完成查看详情
- 为密钥添加 IAM 用户
- 之后这个 IAM 用户就可以使用这个密钥来加密或解密自己的数据




AWS Key Management Service 加密和解密
一、通过 AWS CLI 使用创建的客户管理密钥进行加密和解密
- 在 AWS CLI 中登录拥有该密钥的用户:
aws configure
- 尝试列出所有 KMS 中的所有密钥:
由于没有相关 IAM 权限因此失败:aws kms list-keys

- 在 IAM 控制台为用户添加 KMS 的列出命令 ListKeys 权限:

- 再次列出密钥:
aws kms list-keys
- 在 KMS CLI 命令列表页找到 encrypt 和 decrypt 命令
- 加密:
aws kms encrypt \ --key-id xxxxxxxxxxxxxxxxxxx \ --plaintext "Hello World" \ # 只要加密后的内容,不要 KeyId 和加密方式 --query CiphertextBlob \ # 返回结果不被引号包围 --output text \ # Base64 解码后输出到 encrypttest文件 | base64 --decode > encrypttest
CiphertextBlob:加密后的信息,经过 Base64 编码后的内容
- 解密:
aws kms decrypt \ # 刚刚生成的 encrypttest 文件,需要加上前缀 fileb:// --ciphertext-blob fileb://encrypttest --query Plaintext \ --output text \ | base64 --decode