Abh*_*lik 6 amazon-web-services terraform aws-secrets-manager
AWS 维护一个秘密版本控制系统,如果更新秘密值或轮换秘密,则会创建新版本。
我正在 Terraform 的权限下获取 AWS 中的现有机密。作为步骤 1,我声明了我需要的所有 Terraform 资源:
resource "aws_secretsmanager_secret" "secret" {
name = var.secret_name
description = var.secret_description
kms_key_id = aws_kms_key.main.id
recovery_window_in_days = var.recovery_window_in_days
tags = var.secret_tags
policy = data.aws_iam_policy_document.secret_access_policy.json
}
// AWS secrets manager secret version
resource "aws_secretsmanager_secret_version" "secret" {
secret_id = aws_secretsmanager_secret.secret.id
secret_string = jsonencode(var.secret_name_in_secrets_file)
}
Run Code Online (Sandbox Code Playgroud)
接下来我导入:
terraform import module.<module_name>.aws_secretsmanager_secret.secret
arn:aws:secretsmanager:<region>:<account_id>:secret:<secret_name>-<hash_value>```
Run Code Online (Sandbox Code Playgroud)
terraform import module.<module_name>.aws_secretsmanager_secret_version.secret
arn:aws:secretsmanager:<region>:<account_id>:secret:<secret_name>-<hash_value>|<unique_secret_id aka AWSCURRENT>
Run Code Online (Sandbox Code Playgroud)
发布此文后,我预计 Terraform 计划仅涉及资源策略的更改。但 Terraform 试图销毁并重新创建秘密版本,这对我来说没有意义。
继续执行该计划后,最初与 AWSCURRENT 暂存标签关联的秘密版本,我在上面导入中使用的版本成为 AWSPREVIOUS 暂存标签 ID,并创建了一个新的 AWSCURRENT。
导入 terraform 之前:
{
"Versions": [
{
"VersionId": "initial-current",
"VersionStages": [
"AWSCURRENT"
],
"LastAccessedDate": "xxxx",
"CreatedDate": "xxx"
},
{
"VersionId": "initial-previous",
"VersionStages": [
"AWSPREVIOUS"
],
"LastAccessedDate": "xxxx",
"CreatedDate": "xxxx"
}
],
"ARN": "xxxx",
"Name": "xxxx"
}
Run Code Online (Sandbox Code Playgroud)
TF导入并应用后:
{
"Versions": [
{
"VersionId": "post-import-current",
"VersionStages": [
"AWSCURRENT"
],
"LastAccessedDate": "xxxx",
"CreatedDate": "xxx"
},
{
"VersionId": "initial-current",
"VersionStages": [
"AWSPREVIOUS"
],
"LastAccessedDate": "xxxx",
"CreatedDate": "xxxx"
}
],
"ARN": "xxxx",
"Name": "xxxx"
}
Run Code Online (Sandbox Code Playgroud)
我期望初始电流保留在 AWSCURRENT 阶段部分。为什么 AWS 将我使用 TF 导入的初始 AWSCURRENT 秘密 ID 导入到 AWSPREVIOUS 中,并创建一个新的秘密 ID,因为在值或轮换方面没有任何变化?自从 TF 导入版本以来,我预计这方面不会有任何变化
| 归档时间: |
|
| 查看次数: |
4648 次 |
| 最近记录: |