Skip to content

feat(query): flag role + OIDC access misconfigurations between AWS and CI/CD #6702

@joerandazzo

Description

@joerandazzo

Platform

Terraform

Provider

AWS

Description

There is a repository that prompted the ability to search for OIDC role misconfigurations between CI/CD and AWS. I propose a query to check terraform for provisioned loose wild card access or missing sub conditions.

CI/CD Support

  • GitLab CI/CD
  • GitHub Actions
  • CircleCI
  • Bitbucket

Examples:

# Loose wildcard with StringLike to any project
data "aws_iam_policy_document" "assume-role-policy" {
  statement {
    actions = ["sts:AssumeRoleWithWebIdentity"]

    principals {
      type        = "Federated"
      identifiers = [aws_iam_openid_connect_provider.gitlab.arn]
    }
    condition {
      test     = "StringLike"
      variable = "${aws_iam_openid_connect_provider.gitlab.url}:sub"
      values   = "project_path:*:ref_type:branch:ref:*
    }
  }
}
# No sub condition so role can be assumed by anyone that knows the audience.
data "aws_iam_policy_document" "assume-role-policy" {
  statement {
    actions = ["sts:AssumeRoleWithWebIdentity"]

    principals {
      type        = "Federated"
      identifiers = [aws_iam_openid_connect_provider.gitlab.arn]
    }
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    awsPR related with AWS CloudcommunityCommunity contributionfeature requestCommunity: new feature requestqueryNew query featureterraformTerraform query

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions