data "aws_kms_key" "ows_dmp_kms_key" {
  key_id = local.ows_dmp_kms_key_alias_name
}

data "aws_iam_policy_document" "lambda_share_audience_kms_policy_document" {
  statement {
    actions = [
      "kms:DescribeKey",
      "kms:Decrypt",
    ]

    resources = [
      data.aws_kms_key.ows_dmp_kms_key.arn,
    ]
  }
}

resource "aws_iam_policy" "lambda_share_audience_kms_policy" {
  name   = "KMS-${var.environment}-${var.lambda_name}-policy"
  policy = data.aws_iam_policy_document.lambda_share_audience_kms_policy_document.json
}

# Policy to get access to secrets
data "aws_iam_policy_document" "secrets_manager_policy_document" {
  statement {
    actions = [
      "secretsmanager:GetResourcePolicy",
      "secretsmanager:GetSecretValue",
      "secretsmanager:DescribeSecret",
      "secretsmanager:ListSecretVersionIds",
    ]

    resources = [
      "arn:aws:secretsmanager:*:*:secret:${local.google_developer_token_name}-*",
    ]
  }
}

resource "aws_iam_policy" "secrets_manager_policy" {
  name   = "SecretsManager-${var.environment}-${var.lambda_name}-extra-policy"
  policy = data.aws_iam_policy_document.secrets_manager_policy_document.json
}
