我试图在S3中的Gitlab备份中添加KMS加密。我知道这是可以使用S3管理的密钥,但有一个选择使用KMS替代吗?
gitlab_rails['backup_upload_connection'] = {
'provider' => 'AWS',
'region' => 'eu-west-1',
'aws_access_key_id' => 'AKIAKIAKI',
'aws_secret_access_key' => 'secret123'
# If using an IAM Profile, don't configure aws_access_key_id &
aws_secret_access_key
# 'use_iam_profile' => true
}
gitlab_rails['backup_upload_remote_directory'] = 'my.s3.bucket'如果我添加gitlab_rails['backup_encryption'] = 'AES256',它将使用S3托管密钥。我一直无法在官方文件中找到有关这方面的任何信息。
如果这是不可能的,有替代的解决方案,但它将是方便的,如果可以在这里处理。
发布于 2019-10-14 13:53:35
警告:使用Omnibus GitLab 12.3和Amazon 2验证的,如果不进行修改,可能无法工作。
从GitLab 12.3开始,AWS不支持备份上传。
对于AWS,您需要使用这样的脚本(以root或sudo的形式运行)在运行gitlab-backup create之后上传备份:
aws s3 cp $(find /var/opt/gitlab/backups -type f -name '*_gitlab_backup.tar' |
sort -r | head -n1) "s3://{YOUR_BACKUP_BUCKET_NAME}/" \
--sse aws:kms --sse-kms-key-id 'alias/your-cmk-alias'如果您愿意,也可以直接使用KMS键ID。
确保您的实例IAM角色具有:
如果希望实例能够从s3:GetObject运行自动还原,请包括以下内容:- S3来自存储备份的桶路径- KMS :将解密到用于加密备份的KMS密钥的
备选方案: SSE-C
如果你想用SSE代替,你可以。
下面是一个示例,通过运行在S3上的GitLab对EC2进行SSE备份:
gitlab_rails['backup_upload_connection'] = {
'provider' => 'AWS',
'region' => 'ca-central-1',
'use_iam_profile' => true
}
gitlab_rails['backup_upload_encryption'] = 'AES256'
gitlab_rails['backup_upload_encryption_key'] = '{YOUR_SSE_C_KEY_BASE64_ENCODED}'
gitlab_rails['backup_upload_remote_directory'] = '{YOUR_BACKUP_BUCKET_NAME}'发布于 2018-08-09 06:52:07
ssekms_key_id可用于在上传对象时指定KMS键。正式的文档在这里,并可能帮助您处理任何其他需求。
https://stackoverflow.com/questions/51672004
复制相似问题