My Azure Automation Runbook использует сохраненные учетные данные для получения списка новых групп, нужна альтернатива, которая не использует сохраненные учетные данные

У меня есть требование отключить внешний доступ на сайтах SPOnline, связанных с новыми группами (например, MS Teams, Planner и т. Д.). Когда пользователь Office 365 подготавливает новую команду, планировщик или группу, сайт SPOnline подготавливается в фоновом режиме для хранения файлов для связанной группы. По умолчанию этот «фоновый» сайт SPOnline позволяет внешний обмен контентом.

Я создал модуль Runbook автоматизации Azure, который создает сеанс для Exchange Online с использованием сохраненных учетных данных. Затем я получаю список групп, созданных за последний день.

    $groups = Get-UnifiedGroup -Filter "WhenCreated -gt '$dt'"

Затем я просматриваю список групп, подключаюсь к SPOnline с помощью AppId и AppSecret и отключаю совместное использование.

    Connect-PnPOnline -AppId $appId -AppSecret $appSecret -Url $tenantUrl
    $site = Get-PnPTenantSite -Url $group.SharePointSiteUrl
    Write-Output "Sharing Capability: " $site.SharingCapability

    if($site.SharingCapability -ne "Disabled")
    {
        #Set-PnPTenantSite -Url $site.Url -Sharing Disabled
        Write-Output "Disabling external sharing"
    }
    else
    {
        Write-Output "External sharing already disabled"
    }

Моя проблема в том, что наша производственная среда использует систему PCS для управления паролями к учетным записям. Это потребует дополнительных сценариев для доступа к PCS, проверки пароля, обновления сохраненных учетных данных, а затем выполнения работы, которую я хочу сделать.

Я могу получить список групп непосредственно из Azure AD, но возвращенные объекты не имеют свойств WhenCreated и SharePointSiteURL. Без этих двух частей информации я не могу ограничить свой сценарий прошлым днем ​​или изменить настройку в SharePoint.

Моя цель - изучить любую альтернативу, которая позволит мне получить список новых групп и связанный URL-адрес сайта SPOnline без использования сохраненных учетных данных в службе автоматизации Azure. Любые идеи?

Спасибо за уделенное время.


person KenSchae    schedule 09.01.2019    source источник
comment
Используйте учетную запись Azure RunAs и предоставьте этой учетной записи требуемый доступ к ресурсам: gotoguy.blog/2018/07/11/ Учетная запись запуска от имени Azure - отличный способ выполнять безопасную аутентификацию с помощью сертификатов и имени участника-службы без необходимости хранить имя пользователя и пароль в объекте учетных данных.   -  person Nick.McDermaid    schedule 10.01.2019


Ответы (1)


Обычно у вас есть только 4 варианта:

  1. учетные данные жесткого кода
  2. использовать переменные + сертификаты (вы можете сделать их защищенной строкой, чтобы они были зашифрованы)
  3. использовать запуск от имени учетной записи (позволяет использовать сертификаты)
  4. использовать учетные данные + сертификаты (почти то же, что и переменные)
person 4c74356b41    schedule 10.01.2019
comment
Спасибо за ваш отзыв. Это вывод, к которому я постоянно натыкаюсь, но надеялся, что что-то упустил. - person KenSchae; 10.01.2019
comment
Хорошо, в этом случае я предлагаю вам принять этот ответ :) - person 4c74356b41; 10.01.2019