Что следует указать для «repoOwners» в политике федеративных учетных данных управляемой идентификации?

Я настроил Федерацию идентификации рабочей нагрузки. В основном вот так:

var applicationRegistrationDisplayName = 'GitHub Actions Application Deployer.'
var githubOIDCProvider = 'https://token.actions.githubusercontent.com'
var microsoftEntraAudience = 'api://AzureADTokenExchange'
var applicationRegistrationName = 'app-deployer'
resource GithubActionsApplication 'Microsoft.Graph/[email protected]' = {
  uniqueName: applicationRegistrationName
  displayName: applicationRegistrationDisplayName

  resource githubFederatedIdentityCredential '[email protected]' = {
    name: '${GithubActionsApplication.uniqueName}/githubFederatedIdentityCredential'
    audiences: [microsoftEntraAudience]
    description: 'Identity for application to deploy the  root infrastructure.'
    issuer: githubOIDCProvider
    subject: GitHubActionsFederatedIdentitySubject
    }
}

resource githubActionsServicePrincipal 'Microsoft.Graph/[email protected]' = {
    displayName: applicationRegistrationDisplayName
    appId: GithubActionsApplication.appId
}

Затем я добавил Федеративные учетные данные управляемых удостоверений из GitHub должны быть получены от доверенных владельцев репозитория. Определение встроенной политики Azure, поскольку я думал, что мне следует ограничить разрешенные репозитории для любых возможных федеративных удостоверений, пытающихся подключиться.

Однако теперь я не уверен, что следует помещать в массив allowedRepoOwners. Итак, у меня в голове возникают вопросы:

  1. Если у меня есть организация типа https://github.com/<organizationX>, стоит ли мне добавить туда https://github.com/<organizationX> или, может быть, organizationX?
  2. Будет ли это дополнение, например, какого-то управления на уровне группы будет достаточно, чтобы ограничить все репозитории под этим владельцем? Например. репозитории в https://github.com/<organizationX>/<RepoA>, https://github.com/<organizationX>/<RepoB>?

Мне пришло в голову просто попробовать, но я также думаю, как читать подобные определения, чтобы получить подобную информацию. Кроме того, возможно, есть возможность немного улучшить документацию, но я не знаю, где это сделать.

Массив разрешенныхRepoOwners в политике федеративных учетных данных управляемого удостоверения должен содержать имена пользователей GitHub или организации, которым доверяют федеративные учетные данные. Например, если вы хотите ограничить федерацию репозиториями, принадлежащими организации github.com/organizationX , вам следует добавить OrganizationX в массив разрешенныхRepoOwners. Добавление полного URL-адреса github.com/organizationX также должно работать. Добавления организации в массив разрешенныхRepoOwners должно быть достаточно, чтобы ограничить все репозитории под этим владельцем.

Venkat V 15.07.2024 08:23

Кажется, это действительно работает, @VenkatV. Хотите превратить свой комментарий в ответ, чтобы я мог его принять? :)

Veksi 22.07.2024 14:49
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
2
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Что следует указать для «repoOwners» в политике федеративных учетных данных управляемой идентификации?

Массив allowedRepoOwners в Managed Identity Federated Credentials policy, который содержит имена пользователей GitHub или организации, которым доверяют федеративные учетные данные.

Чтобы ограничить федерацию репозиториями, принадлежащими организации, вы можете добавить OrganizationX в массив разрешенныхRepoOwners.

Вот пример: github.com/organizationX

Чтобы ограничить все репозитории под этим владельцем, вы можете добавить организацию в allowedRepoOwners array, этого достаточно, чтобы ограничить все репозитории.

Это будет применяться ко всем репозиториям, принадлежащим organizationX и контролю доступа.

Другие вопросы по теме