1

我正在尝试使用 Terraform(v1.1.4)在 Github 和我的 id 提供者(Okta)之间设置团队同步。我已经安装了 Github 提供程序,详见此处。我确实创建了一个 Github 应用程序并安装在我的组织上,我尝试过的权限:

  • 对元数据的读取权限
  • 对管理、成员和组织管理的读写访问权限

在我的 terraform 文件中,我正在尝试:

data "github_organization_team_sync_groups" "all_okta_groups" {}

resource "github_team_sync_group_mapping" "main_group_mapping" {
  team_slug        = "example_team_slug"

  dynamic "group" {
    for_each = [for g in data.github_organization_team_sync_groups.all_okta_groups.groups : g if contains(var.teams, g.group_name)]
    content {
      group_id          = group.value.group_id
      group_name        = group.value.group_name
      group_description = group.value.group_description
    }
  }
}

如此处所述

然而,当我尝试做时terraform plan,我得到一个错误

 Error: GET https://api.github.com/user: 403 Resource not accessible by integration []

我想我错过了一些许可或其他东西,请帮忙

4

1 回答 1

0

有一个owner字段需要设置。它被标记为可选,但要使此身份验证方法起作用,您需要将其设置为您的组织名称。对我有用的最终结果提供者配置:

provider "github" {
  owner = "your-org-name"
  app_auth {
    id              = var.app_id
    installation_id = var.installation_id
    pem_file        = var.pem_file_contents
  }
}

您需要的权限可能与我所做的不同,因此请检查这些权限并确保您只授予所需的权限。

参考:https ://registry.terraform.io/providers/integrations/github/latest/docs#argument-reference

于 2022-01-27T22:34:44.363 回答