Сценарий для развертывания контроллера домена Active Directory, AD FS и рабочей станции в домене.
Сценарий написан для курса "Настройка безопасной среды в Yandex.Cloud".
Предполагаем, что приступая к выполнению заданий практикума у вас уже есть доступ в Yandex Cloud, вы знаете идентификатор своего облака (cloud-id) и идентификатор каталога (folder-id) в вашем облаке где в процессе выполнения заданий практикума будут создаваться облачные ресурсы.
Для развёртывания рабочего окружения установим инструмент Yandex Cloud CLI (yc)
на свой компьютер (подробная инструкция).
Для загрузки рецепта Terraform установите git по инструкции.
Установите инструмент Terraform
на свой компьютер (если он уже не установлен) по инструкции.
Распакуйте архив и скопируйте файл terraform.exe в каталог C:\Windows\System32
Для корректной установки всех необходимых ресурсов Terraform создайте в домашнем каталоге (/home/<username>
- для MacOS и Linux, C:\Users\Administrator\AppData\Roaming
- для Windows) файл .terraformrc
(для Windows terraform.rc
) с содержимым:
provider_installation {
network_mirror {
url = "https://terraform-mirror.yandexcloud.net/"
include = ["registry.terraform.io/*/*"]
}
direct {
exclude = ["registry.terraform.io/*/*"]
}
}
- Откроем в новой вкладке браузера консоль облака и, слева внизу, выберем
Учетная запись
и выйдем из всех текущих аккаунтов облака. В результате на экране должна показаться страница с кнопкойВойти в аккаунт на Яндексе
. Закроем эту страницу. - Откроем в новой вкладке ссылку где будет предложено авторизоваться в Яндекс ID
- Введём имя и пароль пользователя для учётной записи Яндекс ID, после чего произойдёт перенаправление в консоль Yandex Cloud
- Перейдём по ссылке для получения OAuth Token. Значение token будет выглядеть примерно так
AQAAAAAABQ0pAATrwPdubkJPerC4mJyaRELWbUY
- Сохраним полученное значение Token в переменной окружения (для Windows – PowerShell, MacOS и Linux – bash)
$env:YC_TOKEN="<ваш OAuth Token>"
export YC_TOKEN=<ваш OAuth Token>
Создадим профиль в yc для работы с облаком
yc config profile create security
yc config set cloud-id <cloud-id>
yc config set folder-id <folder-id>
yc config set token $YC_TOKEN
yc config profile create security
yc config set cloud-id <cloud-id>
yc config set folder-id <folder-id>
yc config set token $env:YC_TOKEN
где вместо <cloud-id>
нужно указать идентификатор своего облака, а вместо <folder-id>
нужно указать идентификатор каталога в облаке. Идентификаторы можно получить из консоли облака через веб интерфейс.
git clone https://github.com/Sayanaro/YandexCloud-Prcticum-Security-Course.git
cd YandexCloud-Prcticum-Security-Course
Сценарий разворачивает контроллер домена Active Directory + ADFS, рабочую станцию ws и инстанс интернет-магазина OpenCart.
Имена виртуальных машин задаются переменными в файле terraform.tfvars
. Остальные переменные заданы в файле variables.tf
в параметрах по умолчанию.
⚠ ВНИМАНИЕ: не изменяйте имя домена.
Изменение имени домена Active Directory в сценарии с yp-lab.edu на любое другое приведет к ошибке при конфигурировании стенда.
Для начала зададим переменные окружения:
- Запустите консоль PowerShell
- Выполните:
yc config profile activate security
$env:YC_TOKEN = "ваш OAuth токен"
$env:YC_CLOUD_ID=$(yc config get cloud-id)
$env:YC_FOLDER_ID=$(yc config get folder-id)
- Запустите консоль bash
- Выполните:
yc config profile activate security
export YC_TOKEN="ваш OAuth токен"
export YC_CLOUD_ID=$(yc config get cloud-id)
export YC_FOLDER_ID=$(yc config get folder-id)
Инициализируйте Terraform:
terraform init
terraform apply
Сценарий попросит ввести пароль администратора. Пароль должен быть не менее 8 символов, содержать строчные и заглавные буквы, минимум одну цифру 0-9 и минимум один спецсимвол (@#$%&*/:;"',.?+=-_).
Спустя 25 минут окружение будет настроено и готово к работе.
Дальнейшая работа будет проводиться на ВМ ws для демонстрации создания федерации.
Логин администратора домена: [email protected]