
Инструментарий для оценки состояния и конфигурации клиента Azure AD
Если вы являетесь сотрудником Microsoft или партнером, выполняющим оценку для заказчика, пожалуйста, обратитесь к Wiki, раздел Руководство по оценке.
Если вы столкнулись с какими-либо ошибками, пожалуйста, обратитесь к разделу FAQ в конце этого документа.
Install-Module AzureADAssessment -Force -Scope CurrentUser
## If you have already installed the module, run the following instead to ensure you have the latest version.
Update-Module AzureADAssessment -Force -Scope CurrentUser
Для оценки требуется создать собственное приложение в вашем клиенте.
https://login.microsoftonline.com/common/oauth2/nativeclientСбор данных из Azure AD можно выполнять с любого клиента, имеющего доступ к Azure AD. Однако сбор данных из гибридных компонентов, таких как AD FS, AAD Connect и т.д., лучше выполнять локально на этих серверах. Сбор данных AAD Connect необходимо выполнять как на основном, так и на промежуточном серверах.
Убедитесь, что у вас есть авторизованные учетные данные для доступа к следующим рабочим нагрузкам:
При первом подключении вам будет предложено дать согласие на разрешения, необходимые для оценки. Для предоставления согласия потребуется администратор.
Выполните следующие команды, чтобы создать пакет со всеми данными Azure AD, необходимыми для проведения оценки.
## Authenticate using a Global Admin or Global Reader account.
Connect-AADAssessment -ClientId "AppId of app created in the previous step"
## Export data to "C:\AzureADAssessment" into a single output package.
Invoke-AADAssessmentDataCollection
Выходной пакет будет назван по следующему шаблону: AzureADAssessmentData-<TenantDomain>.aad
Если команда сбора данных не завершится успешно, попробуйте запустить её снова с параметром SkipReportOutput.
Invoke-AADAssessmentDataCollection -SkipReportOutput
На каждом сервере с гибридными компонентами установите тот же модуль и выполните команду Invoke-AADAssessmentHybridDataCollection.
## Export Data to "C:\AzureADAssessment" into a single output package.
Invoke-AADAssessmentHybridDataCollection
Выходной пакет будет назван по следующему шаблону: AzureADAssessmentData-<Svc>-<ServerName>.zip
После завершения сбора данных передайте выходные пакеты тому, кто проводит оценку. Пожалуйста, не вносите никаких изменений в созданные файлы, включая имя файла.
Если вы самостоятельно формируете и проверяете результаты, пожалуйста, обратитесь к Wiki, раздел Руководство по оценке.
Для сбора данных из гибридных компонентов (таких как AAD Connect, AD FS, AAD App Proxy) вы можете экспортировать переносимую версию этого модуля, которую можно легко скопировать на серверы без подключения к интернету.
## Export Portable Module to "C:\AzureADAssessment".
Export-AADAssessmentPortableModule "C:\AzureADAssessment"
На каждом сервере с гибридными компонентами скопируйте файл модуля "AzureADAssessmentPortable.psm1" и импортируйте его там.
## Import the module on each server running hybrid components.
Import-Module "C:\AzureADAssessment\AzureADAssessmentPortable.psm1"
## Export Data to "C:\AzureADAssessment" into a single output package.
Invoke-AADAssessmentHybridDataCollection
## If you would like to specify a different directory, use the OutputDirectory parameter.
Invoke-AADAssessmentDataCollection "C:\Temp"
Invoke-AADAssessmentHybridDataCollection "C:\Temp"
Если вы предпочитаете использовать собственную регистрацию приложения (субъект-службу) для целей автоматизации, вы можете подключиться, используя свой ClientId и сертификат, как в примере ниже. Ваша регистрация приложения должна включать разрешения приложения Directory.Read.All, Policy.Read.All и AuditLog.Read.All для MS Graph, чтобы оценка была полной. После добавления убедитесь, что вы предоставили согласие администратора на эти разрешения для субъекта-службы.
## Connect using Service Principal identity with app permissions.
Connect-AADAssessment -ClientId <ClientId> -ClientCertificate (Get-Item 'Cert:\CurrentUser\My\<Thumbprint>') -TenantId <TenantId>
Вы должны создать регистрацию приложения в своем клиенте и указать ClientId при запуске Connect-AADAssessment. Конфигурация приложения по умолчанию должна работать, если вы укажете правильный URI перенаправления для вашей облачной среды. Например, URI перенаправления "Мобильные и настольные приложения" https://login.microsoftonline.us/common/oauth2/nativeclient.
## Example connecting to USGov cloud environment using user delegated permissions.
Connect-AADAssessment -ClientId <ClientId> -CloudEnvironment USGov -TenantId <TenantId>
## Example connecting to USGov cloud environment using app permissions.
Connect-AADAssessment -ClientId <ClientId> -ClientCertificate (Get-Item 'Cert:\CurrentUser\My\<Thumbprint>') -CloudEnvironment USGov -TenantId <TenantId>
Выполните следующую команду, чтобы обновить PowerShellGet до последней версии, прежде чем пытаться снова установить модуль AzureADAssessment. Вариант 1 — это одна команда, выполняющая скрипт (https://aka.ms/Update-PowerShellGet), а вариант 2 требует нескольких команд и возможного устранения неполадок.
### Option 1: Run the following command to download and execute a script to update PowerShellGet. Note: Navigate to this URL in a web browser to see the contents of the script in GitHub.
iex $(irm 'https://aka.ms/Update-PowerShellGet')
### Option 2: Run the following commands individually.
## Update Nuget Package and PowerShellGet Module
Install-PackageProvider NuGet -Scope CurrentUser -Force
Install-Module PowerShellGet -Scope CurrentUser -Force -AllowClobber
## Remove old modules from existing session
Remove-Module PowerShellGet,PackageManagement -Force -ErrorAction Ignore
## Import updated module
Import-Module PowerShellGet -MinimumVersion 2.0 -Force
Import-PackageProvider PowerShellGet -MinimumVersion 2.0 -Force
<Path> cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170., необходимо разрешить выполнение локальных скриптов.## Set globally on device
Set-ExecutionPolicy RemoteSigned
## Or set for just for current PowerShell session.
Set-ExecutionPolicy RemoteSigned -Scope Process
Сертификат подписи для MSAL.PS меняется на использование процесса подписания кода Microsoft. Если вы видите следующую ошибку: PackageManagement\Install-Package : Authenticode issuer 'CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US' of the new module 'MSAL.PS' with version 'x.x.x.x' from root certificate authority 'CN=Microsoft Root Certificate Authority 2011, O=Microsoft Corporation, L=Redmond, S=Washington, C=US' is not matching with the authenticode issuer 'CN=Jason Thompson, O=Jason Thompson, L=Cincinnati, S=Ohio, C=US' of the previously-installed module 'MSAL.PS' with version 'x.x.x.x' from root certificate authority 'CN=DigiCert Assured ID Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US'. If you still want to install or update, use -SkipPublisherCheck parameter., вы можете решить эту проблему с помощью следующей команды.
Install-Module MSAL.PS -SkipPublisherCheck -Force
Если вы используете PowerShell Core (т.е. PowerShell 6 или 7) и в вашем клиенте действует политика условного доступа, требующая соответствующего требованиям (Compliant) или гибридного устройства, присоединенного к Azure AD (Hybrid Azure AD Joined), вход в систему может быть невозможен.
Чтобы обойти эту проблему, используйте Windows PowerShell (вместо PowerShell 6 или 7). Чтобы запустить Windows PowerShell, перейдите в Пуск > Windows PowerShell.
Когда вы откроете шаблоны PowerBI, вам будет предложено указать папку, в которой находятся извлеченные данные (csv и json). После выбора PowerBI загрузит данные. При этом PowerBI может сообщать об ошибках, связанных с перекрестными ссылками на источники данных:
Query '*' (step '*') references other queries or steps, so it may not directly access a datasource. Please rebuild this data combination.
Чтобы обойти это, настройте параметры файла PowerBI на игнорирование параметров конфиденциальности:
| Файл/папка | Описание |
|---|---|
build | Скрипты для упаковки, тестирования, подписания и публикации модуля. |
src | Исходный код модуля. |
tests | Тестовые скрипты для модуля. |
.gitignore | Определяет, что игнорировать при коммите. |
README.md | Этот файл README. |
LICENSE | Лицензия для модуля. |
Этот проект приветствует вклад и предложения. Большинство вкладов требует вашего согласия с Лицензионным соглашением участника (CLA), подтверждающим, что вы имеете право и действительно предоставляете нам права на использование вашего вклада. Подробнее см. на https://cla.opensource.microsoft.com.
Когда вы отправляете запрос на включение (pull request), бот CLA автоматически определит, нужно ли вам предоставить CLA, и соответствующим образом оформит PR (например, проверка статуса, комментарий). Просто следуйте инструкциям бота. Это потребуется сделать только один раз во всех репозиториях, использующих наше CLA.
Этот проект принял Правила поведения для проектов с открытым исходным кодом Microsoft. Для получения дополнительной информации см. Часто задаваемые вопросы о правилах поведения или свяжитесь с [email protected] по любым дополнительным вопросам или комментариям.
Более подробные рекомендации и советы по участию см. на странице Участие.