Используйте Lucidscale для импорта данных облачной инфраструктуры из AWS и генерации текста в документе Lucidscale.
Lucidscale доступен для Lucid Suite корпоративный аккаунт в качестве дополнительной покупки с помощью Акселератор облака. Чтобы узнать больше об Акселераторе облака, обратитесь к нашей обзорной статье Акселератор облака .
Поддерживаемые регионы, ресурсы и линии AWS
Полный список поддерживаемых регионов, ресурсов и линий AWS, доступных в Lucidscale, см. в нашей статье «Поддерживаемые регионы, ресурсы и линии AWS» .
Импортируй инфраструктуру AWS
Вы можете импортировать данные облачной инфраструктуры AWS одним из четырех следующих способов:
-
Доверенный доступ: предоставьте роль IAM для разных учетных записей с соответствующими политиками. Эта роль может быть задана со следующими областями разрешений:
- Импорт с помощью доступа на уровне учетной записи для импорта одной индивидуальной учетной записи
Импорт с помощью доступа на уровне организации для импорта всех учетных записей AWS из одного организационного подразделения или всей организации
- Импорт с помощью доступа на уровне учетной записи для импорта одной индивидуальной учетной записи
- Одноразовая авторизация: ввод учетных данных для пользователя IAM с прикрепленными соответствующими политиками
- Загрузка файла: выполните скрипт Python, предоставленный Lucid, в настроенном профиле AWS CLI, который собирает данные локально в виде файла JSON, а затем предоставьте сгенерированный файл.
Ознакомьтесь со следующей таблицей, чтобы получить подробную информацию о каждом методе и определить, какой из них лучше всего подходит для вашего варианта использования.
| Способ импорта | Описание | Охват |
Типы поддержки ресурсов* |
Обновление данных** |
| Доверенный доступ: на уровне организации. | Зарегистрируйте в Lucid роль IAM для кросс-учетной записи на уровне организации для безопасного и долгосрочного повторного использования. | Централизованное управление импортом всех учетных записей в организации или подразделении AWS с помощью регистрации одного учетного удостоверения. |
(1) и (2)
|
Автоматический и ручной |
| Доверенный доступ: на уровне учетной записи | Зарегистрируйте роль IAM на уровне учетной записи в Lucid для безопасного долгосрочного повторного использования. | Зарегистрируйте учетные данные для каждой индивидуальной учетной записи AWS. | (1) и (2) | Автоматический и ручной |
| Одноразовое разрешение | Загрузите файл ключа пользователя IAM или учетных данных в Lucid. | Разовый доступ к индивидуальной учетной записи AWS. |
(1) и (2) |
Вручную Для обновления данных повторно введите учетные данные ключа доступа. |
| Загрузка файла | Запустите скрипт Python, предоставленный Lucid, в настроенном профиле AWS CLI, а затем загрузите сгенерированный JSON-файл в Lucid. | До 50 учетных записей в одном файле JSON. | (1) Только |
Вручную Обновите данные, отправив только что созданный файл JSON. |
*Тип ресурса 1 — это все сопоставленные ресурсы, перечисленные в разделе «Поддерживаемые ресурсы». Тип ресурса 2 — это облачный инвентарь: широкий спектр неотображенных ресурсов, которые вы можете вручную разместить в своих документах.
**В центре данных пользователям доступна функция автоматического обновления источников данных по заданному расписанию (ежедневно, еженедельно, ежемесячно, ежегодно). Обновление данных вручную также выполняется одним щелчком мыши через центр обработки данных.
При импорте с доверенным доступом Lucid сохраняет эти учетные данные, чтобы вы могли обновить свои данные или начать новый импорт без повторного ввода информации. Такая емкость позволяет Lucid выполнять автоматическое обновление данных. Учетные данные можно удалить на вкладке учетных данных AWS Data Hub. Lucid не хранит учетные данные пользователя IAM для повторного использования в будущем, ограничивая одноразовую авторизацию только ручным обновлением.
Если вы работаете с очень большой средой, уменьшите объем импортируемых данных или сократите количество вызовов API, которые Lucid выполняет к AWS. Lucid поддерживает до 50 одновременных импортов учетных записей на одного пользователя. После завершения каждого импорта вы можете начать новый.
Заметка: Импорт AWS GovCloud разрешен только клиентами Lucid GovSuite. Коммерческая среда Lucid не может получить доступ к AWS GovCloud через роли кросс-учетной записи.
Доверенный доступ (роль для разных учетных записей)
Доверенный доступ использует межсистемные роли IAM, поэтому Акселератор облаков может получить доступ только для чтения, чтобы импортировать метаданные учетных записей и создавать источники данных. Существует два диапазона доверенного доступа:
- На уровне организации (рекомендуется для организаций AWS с несколькими учетными записями)
- Импорт на уровне учетной записи (импорт данных из одной учетной записи)
Данное руководство содержит подробные пошаговые инструкции для обоих методов и включает в себя несколько вариантов реализации инфраструктуры как кода: Terraform, автоматизация CloudFormation и ручное создание IAM.
Доверенный доступ: на уровне организации.
Чтобы централизованно управлять импортом инфраструктуры во всей организации AWS, выполните следующие действия.
Для начала проверьте следующие предварительные условия:
- Выбранный бастионный аккаунт не должен быть уже зарегистрирован в Lucid в качестве бастиона для другого импорта.
- Для инициирования регистрации на уровне организации требуется пользователь, имеющий доступ к центру данных Lucid.
Затем перейдите в центр данных Lucid и выберите способ создания ресурсов IAM.
- Откройте главную страницу Lucid.
- Нажмите на «Центр данных» в нижней части левой панели навигации.
- Выберите Импортировать данные AWS.
- Выберите «Доверенный доступ».
- В разделе «Область действия учетных данных» выберите «Подключиться к организации AWS».
- Выберите один из вариантов автоматической настройки разрешений:
- Используйте шаблоны CloudFormation.
- Используйте модуль Terraform.
Примечание: Если вы используете среду Lucid GovSuite, для создания ресурсов используйте метод 2 (Terraform). В настоящее время метод CloudFormation доступен только для коммерческих сред AWS. Более подробную информацию можно найти в разделе часто задаваемых вопросов (FAQ) ниже.
Метод 1: Использование CloudFormation для автоматической настройки разрешений в AWS Organization.
Используйте унифицированный шаблон CloudFormation от Lucid для автоматической настройки всех необходимых ролей и разрешений IAM в вашей организации AWS в рамках одного развертывания.
Примечание: В соответствии с рекомендациями AWS, мы рекомендуем использовать в качестве учетной записи-бастиона учетную запись делегированного администратора, а не учетную запись управления. Учетная запись администратора должна использоваться только для задач, требующих явных привилегий учетной записи администратора.
требования
- Учетная запись развертывания: Этот шаблон необходимо развернуть из учетной записи с правами доступа на уровне организации для (1) создания и управления CloudFormation StackSets и (2) создания и управления политиками делегирования на основе ресурсов. Как правило, это либо учетная запись управления организацией, либо учетная запись делегированного администратора для CloudFormation StackSets.
-
Бастионный аккаунт (рекомендуется): Используйте в качестве бастионного аккаунта аккаунт участника, не являющегося администратором. Этот аккаунт будет координировать импорт данных внутри вашей организации.
- Бастионная учетная запись (альтернативная): Вы можете использовать учетную запись управления в качестве бастионной, но это противоречит рекомендациям AWS и должно использоваться только в том случае, если этого требуют политики вашей организации. Если вы выберете этот вариант, шаблон CloudFormation будет обрабатывать создание роли бастиона непосредственно в учетной записи управления.
- Условия использования учетной записи: Учетная запись-бастион не должна была ранее использоваться в качестве бастионной учетной записи в Lucid.
Параметры
- BastionAccountId: это 12-значный идентификатор учетной записи AWS, который вы хотите использовать для управления доверенным доступом третьих лиц. Lucid возьмет на себя роль кросс-учетной записи в этой «учетной записи-бастионе» для координации импорта.
- BastionRootOrOrganizationalUnitId: это идентификатор организационного подразделения (OU) (например, ou-xxxxxxxxxx) или корня (например, r-xxxx), которое содержит выбранный вами BastionAccountId.
-
MembersRootOrOrganizationalUnitId: этот параметр управляет областью учетной записи в вашей организации AWS, из которой Lucid может импортировать данные о ресурсах.
- Чтобы разрешить импорт из всех учетных записей в вашей организации, используйте идентификатор корня вашей организации (например, r-xxxx).
- Если вы хотите разрешить импорт только для учетной записи, вложенной в одно конкретное организационное подразделение (OU), используйте идентификатор этого конкретного подразделения (например, ou-xxxxxxxxxx).
Инструкция
Чтобы настроить разрешения автоматически с помощью CloudFormation, выполните следующие действия:
- От WS:
- Укажите идентификатор вашей учетной записи-бастиона (если используется подход делегированного администрирования).
- Укажите идентификаторы организационного подразделения или корневые идентификаторы для параметров, перечисленных выше.
- В Lucid нажмите кнопку «Запустить шаблон CloudFormation» , чтобы открыть шаблон в консоли AWS.
- Вы будете перенаправлены на страницу создания стека CloudFormation, где шаблон будет предварительно загружен.
- Установите для параметра UseManagementAccountAsBastion значение «false» (рекомендуется) или «true».
- При использовании делегированного администрирования (UseManagementAccountAsBastion = “false”) укажите:
- BastionAccountId: Выбранный вами идентификатор учетной записи бастиона.
- BastionRootOrOrganizationalUnitId: Организационное подразделение или корневой узел, содержащий учетную запись бастиона.
- При использовании делегированного администрирования (UseManagementAccountAsBastion = “false”) укажите:
- Установите параметр “MembersRootOrOrganizationalUnitId”, чтобы управлять областью импорта.
- Установите для параметра “CreateOrgResourcePolicy” значение “true” (по умолчанию), если в вашей организации отсутствует политика ресурсов.
- Если в качестве основного хранилища используется учетная запись управления, вы можете установить для этого значения значение «false».
- Если в вашей организации уже существует политика ресурсов, установите для этого значения значение «false», чтобы предотвратить сбои при развертывании стека. Вместо этого вручную добавьте следующий объект «Statement» в массив «Statement» в существующей политике ресурсов вашей организации (это добавит объект к вашей существующей политике, а не заменит ее). Обязательно замените указанный идентификатор вашей учетной записи в Bastion на настоящий идентификатор вашей учетной записи:
{
«Сид»: «Заявление»,
"Эффект": "Разрешить",
«Директор»: {
"AWS": [
"arn:aws:iam::<YOUR_BASTION_ACCOUNT_ID>:root"
]
},
"Действие": [
"организации:СписокУчетныхЗаписей",
"organizations:ListAccountsForParent",
"организации:СписокДетей",
"organizations:ListParents",
"organizations:ListRoots",
"организации:ОпишитеПолитику",
"организации:Опишите организационную единицу",
"организации:ОпишитеОрганизацию",
"organizations:DescribeAccount",
"организации: ListOrganizationalUnitsForParent"
],
"Ресурс": "*"
}
- При желании можно настроить параметры BastionRoleName и MemberRoleName.
- Нажмите «Создать стек» и дождитесь завершения развертывания.
- Шаблон автоматически:
- Создайте роль "Бастион" в выбранной вами учетной записи бастиона.
- Используйте StackSets для создания ролей участников в целевых учетных записях.
- Настройте политики ресурсов организации для делегированного доступа (если используется делегированное администрирование).
- Включите автоматическое развертывание для будущих учетных записей, добавляемых в организацию.
- Шаблон автоматически:
- В консоли AWS IAM вашей учетной записи-бастиона перейдите в раздел «Роли».
- Найдите роль бастиона (имя по умолчанию: `lucid-import-bastion-role` или ваше собственное имя).
- Скопируйте ARN роли.
- Вернитесь на вкладку Lucid data hub и прокрутите вниз до раздела «Добавьте роль кросс-учетной записи в Lucid».
- Вставьте ARN роли бастиона в поле «ARN роли бастиона».
- Если вы использовали пользовательское имя роли участника (MemberRoleName), обновите поле «Имя роли учетной записи участника» (Member account role name), чтобы оно соответствовало вашему имени.
- При желании можно изменить отображаемое имя учетных данных для идентификации этого соединения.
- Нажмите «Далее », чтобы зарегистрировать роль кросс-учетной записи в Lucid.
- Выберите роль и нажмите кнопку Далее.
- Перейдите к шагам по импорту учетных записей и созданию документов.
Примечание: Этот шаблон CloudFormation настроен на использование наборов стеков с разрешениями, управляемыми службой. В настоящее время мы не поддерживаем настройку CloudFormation с использованием наборов стеков с самостоятельно управляемыми правами доступа.
Метод 2: Использование Terraform для автоматической настройки разрешений в AWS Organization.
Подмодули
-
Подмодуль org-read-delegation: Настраивает учетную запись-бастион с делегированными правами администратора для сканирования структуры вашей организации AWS. (Впоследствии Люсид возьмет на себя роль в этом защищенном аккаунте для выполнения импорта).
- Это необходимо развернуть в учетной записи управления или в учетной записи участника, которому делегированы полномочия по управлению политиками для организаций.
- Если политика делегирования на основе ресурсов уже существует, развертывание завершится неудачей. Вместо добавления этого подмодуля, вручную добавьте разрешения из предоставленной Lucid политики JSON, ссылка на которую приведена здесь, к вашей существующей политике на основе ресурсов.
- Если политика делегирования на основе ресурсов уже существует, развертывание завершится неудачей. Вместо добавления этого подмодуля, вручную добавьте разрешения из файлаmain.tf модуляк существующей политике на основе ресурсов.
-
Подмодуль bastion-role: создает основную роль IAM в вашей учетной записи-бастионе, которую будет использовать Lucid.
- Задайте параметр external_id, используя уникальное значение «Внешний идентификатор», скопированное со страницы настройки импорта AWS в вашей учетной записи Lucid.
-
Подмодуль import-role создает роль IAM, которая будет развернута в учетных записях участников для чтения данных ресурсов.
- Модуль создает роль в учетной записи участника, которую может принять на себя учетная запись-бастион — модуль не может автоматизировать этот процесс для учетных записей участников. Этот модуль необходимо развернуть в каждой учетной записи участника, из которой вы хотите импортировать данные, в том числе при добавлении новых учетных записей в вашу организацию в будущем. Следуйте стандартным процедурам вашей организации, чтобы применять код из этого модуля к вновь добавленным учетным записям.
Инструкция
Во-первых, убедитесь, что у вас настроен Terraform для учетной записи, в которую вы будете добавлять модули terraform Lucid.
Подробнее: Инструкции см. в этом руководстве Get Started - AWS из документации Terraform. Предоставленная ссылка приведет вас к выходу из справочного центра Lucid, и мы не можем гарантировать точность контента.
Затем настройте и разверните модуль Terraform от Lucid, выполнив следующие действия:
- Для настройки прав доступа к модулю Terraform от Lucid нажмите «Просмотреть в реестре Terraform» или перейдите непосредственно по этой ссылке.
- На странице реестра модулей нажмите на « Подмодули». Вы настроите каждый из трех необходимых подмодулей из раскрывающегося списка (org-read-delegation, bastion-role и import-role) в своем main.tf.
- Следуйте инструкциям в разделе «Использование» на странице сведений каждого подмодуля, чтобы добавить модуль в код конфигурации Terraform.
- Разверните свой код Terraform и подождите, пока будут созданы включенные ресурсы из модуля Lucid.
- В консоли AWS IAM в учетной записи бастиона скопируйте ARN созданной роли lucid-import-bastion-role (или ее пользовательское имя). Кроме того, вы можете вывести этот ARN из конфигурации Terraform.
Наконец, добавьте свою новую роль IAM в Lucid.
-
Вернитесь на вкладку Lucid data hub и прокрутите вниз до раздела «Добавьте роль кросс-учетной записи в Lucid».
- Введите учетную запись роли бастиона ARN в поле "Роль бастиона ARN".
- Если при настройке первого шаблона CloudFormation/модуля Terraform вы использовали пользовательское имя роли участника (MemberRoleName), обновите поле "Имя роли учетной записи участника" этим значением.
- (Дополнительный) Обновите предварительно заполненное значение для параметра "Отображаемое имя учетных данных", чтобы оно представляло роль бастиона, используемую для координации импорта. Это отображаемое имя будет использоваться в концентраторе данных Lucid, чтобы вы могли идентифицировать учетные данные для дальнейшего использования и управления.
- Нажмите «Далее» , чтобы зарегистрировать роль для работы с другими учетными записями в Lucid.
- Выберите роль и нажмите кнопку Далее.
- Перейдите к шагам по импорту учетных записей и созданию документов.
Доверенный доступ: на уровне учетной записи
Для импорта инфраструктуры AWS для индивидуальных учетных записей с помощью межучетной роли IAM выполните следующие действия.
Шаг 1: Создайте новый кросс-аккаунт.
Для регистрации новой роли IAM для разных учетных записей (т.е. учетных данных для импорта) для выбранной вами учетной записи выполните следующие действия:
- Перейдите на главную страницу сайта Lucid.
- В левой части страницы, в нижней части навигационного меню, нажмите на кнопку «Центр данных» .
- Выберите Импортировать данные AWS.
- Выберите «Доверенный доступ».
- В области учетных данных выберите «Подключиться к индивидуальным учетным записям AWS».
- Выберите предпочтительный способ регистрации новых учетных данных (например, Роль AWS IAM):
- Использование модуля Terraform
- Использование шаблона CloudFormation
- Создать вручную
Здесь вы выберете предпочтительный способ создания новых учетных данных для межсистемных ролей: автоматически с помощью модуля Terraform (выберите Terraform), автоматически с помощью стека CloudFormation (выберите CloudFormation) или вручную с использованием ролей и политик IAM (выберите «Создание вручную»). Выполните шаг 1 для выбранного вами метода, затем перейдите к шагу 2 для добавления роли для разных учетных записей в Lucid.
Способ 1. Использование Terraform для автоматического создания роли индивидуального аккаунта AWS.
Во-первых, убедитесь, что ваша среда Terraform настроена с использованием учетных данных AWS, обладающих достаточными правами для создания и управления ролями IAM в учетной записи AWS, где вы планируете развернуть роль импорта Lucid. Для получения более подробной информации обратитесь к документации Terraform «Начало работы с AWS» .
Далее перейдите к шагу 1 процесса настройки Lucid, чтобы сконфигурировать и развернуть модуль Terraform для Lucid.
- После выбора опции Terraform для импорта на уровне учетной записи в Lucid, получите доступ к модулю для настройки разрешений AWS, нажав «Просмотреть в реестре Terraform», или напрямую получите доступ к модулю import-role в реестре Terraform здесь.
- На странице Readme модуля import-role найдите и следуйте инструкциям в разделе «Импорт на уровне, отличном от организационного» в подразделе «Использование», чтобы добавить модуль в ваш конфигурационный код Terraform.
- Для работы этого подмодуля требуется значение external_id. Чтобы получить значение для этого внешнего идентификатора, вернитесь на вкладку Lucid и нажмите «Копировать» рядом с указанным внешним идентификатором на шаге 1 настройки Lucid.
- Разверните свой код Terraform и подождите, пока будут созданы включенные ресурсы из модуля Lucid.
- Перейдите в консоль AWS IAM в учетной записи AWS, где вы развернули роль, найдите роль lucid-import-account-role (или ваше пользовательское имя роли) и скопируйте ее ARN со страницы «Сводка». В качестве альтернативы, выведите этот ARN из вашей конфигурации Terraform.
Способ 2. Использование CloudFormation для автоматического создания роли индивидуального аккаунта AWS.
Для автоматического создания новой роли с помощью CloudFormation выполните следующие действия:
- Войдите в консоль AWS, используя учетную запись, которую вы хотите импортировать.
- В Lucid нажмите кнопку «Запустить CloudFormation» , чтобы открыть новую вкладку браузера. Оставьте вкладку Lucid открытой, чтобы вернуться к ней позже.
- В консоли AWS нажмите «Создать стек».
- После создания стека перейдите на вкладку «Ресурсы» в консоли AWS и выберите «LucidscaleImportRole» (или ваше пользовательское имя CrossAccountRole). Скопируйте ARN роли.
- Перейдите к шагам по регистрации вашей роли в разных учетных записях в центре данных.
Способ 3. Использование консоли AWS IAM для создания роли индивидуального аккаунта AWS вручную.
Для создания новой роли вручную в консоли AWS IAM выполните следующие действия:
- В разделе «Шаг 1: Начните создание роли» выберите «Создать роль ».
- Ты перейдёшь в свой аккаунт AWS. Оставь вкладку браузера Lucid открытой, чтобы ты мог вернуться к ней позже.
- Lucidscale автоматически сгенерирует уникальный внешний идентификатор, связанный с твоим аккаунтом Lucidscale. Это соответствует рекомендациям AWS по безопасности.
- Добавить политику «Только для чтения»:
- В AWS нажмите «Далее» , чтобы перейти к шагу получения разрешений.
- На странице «Добавить разрешения» найдите и выберите политику «Только для чтения» . Этот параметр включен по умолчанию в Lucid и необходим для корректного отображения всех ресурсов в созданных вами документах Lucidscale.
- Добавить пользовательские разрешения:
- Вернитесь на вкладку Lucid и перейдите к пункту "3". Добавьте пользовательские разрешения и нажмите «Скопировать разрешения », чтобы скопировать текстовый файл JSON.
- Откройте новую вкладку или окно и перейдите в консоль AWS IAM, в левой панели навигации выберите «Политики».
- На странице «Политики» нажмите «Создать политику».
- На странице «Создать политику» перейдите на вкладку JSON и вставьте скопированный файл во вкладку JSON в консоли AWS.
- Нажми кнопку Далее: Теги.
- Если хочешь, добавь к политике теги и нажми кнопку Next: Обзор.
- Дай политике название и описание.
- Нажми кнопку Создать политику.
- Прикрепить пользовательскую политику к роли:
- На предыдущей вкладке AWS, где ты создавал новую кросс-аккаунтную роль, нажми кнопку refresh и найди название только что созданной политики.
- Выберите полис и нажмите «Далее».
- Дайте роли название и описание. При желании добавьте к роли теги.
- Нажмите «Создать роль».
Шаг 2: Добавьте роль для работы с другими учетными записями в Lucid.
Получив ARN роли выбранным вами способом (Terraform, CloudFormation или ручное создание), вернитесь к настройке импорта AWS в Lucid, чтобы завершить шаг 2:
- Вставьте скопированный ARN роли в поле «ARN роли» предоставленной формы на шаге 2 настройки импорта AWS в Lucid.
- При необходимости обновите предварительно заполненное значение поля «Отображаемое имя учетных данных». Это отображаемое имя будет использоваться в разделе «Центр данных > AWS > Учетные данные», чтобы вы могли найти учетные данные для дальнейшего использования и управления, и будет представлять собой роль, используемую для координации импорта выбранной вами учетной записи AWS в рамках межсистемного взаимодействия.
- Нажмите «Далее» , чтобы зарегистрировать роль для работы с другими учетными записями в Lucid, затем выберите роль учетных данных и снова нажмите «Далее» .
- Перейдите к выбору учетных записей AWS для импорта данных и создания документов.
Загрузка файла
Для импорта инфраструктуры AWS с помощью загрузки JSON-файла выполните следующие действия:
- На главной странице Lucid в левом навигационном меню нажмите «Центр данных» .
- В правом верхнем углу выберите пункт «Импорт данных AWS» .
- Выберите «Загрузка файла».
- Загрузите или скопируйте предоставленные Lucid права доступа к профилю со вкладки «Центр данных Lucid».
- Настройте AWS CLI, создав именованный профиль, включающий эти разрешения.
- На вкладке «Центр данных Lucid» загрузите или скопируйте скрипт Python.
- Выполните скрипт Python в интерфейсе командной строки AWS. Будет сгенерирован файл aws.json.
- На вкладке «Центр данных Lucid» выберите «Выбрать файл» и загрузите файл aws.json.
- За один раз можно импортировать до 50 учетных записей. Если в загруженном файле их больше 50, разделите его на несколько файлов JSON перед импортированием.
- Нажмите «Далее».
- Укажите псевдоним для каждой учетной записи, которую вы хотите импортировать.
- Выберите «Импортировать учетные записи AWS».
Описание скрипта загрузки файлов AWS
Скрипт импорта awscliscript.py, предоставленный Lucid. Для этого требуется настроить именованный профиль в интерфейсе командной строки. Именованный профиль — это набор настроек и учетных данных, которые можно применить к команде AWS CLI. Подробные инструкции по созданию профиля AWS см. в документации AWS по настройке файлов конфигурации и учетных данных в AWS CLI.
При выполнении команды `aws configure` введенные учетные данные будут сохранены в профиле с именем `default`. Если у вас несколько учетных записей, мы рекомендуем создать для них именованные профили. Например, если у меня есть две учетные записи, preprod и prod, и я храню их учетные данные в виде двух отдельных профилей, то я могу легко описать экземпляр EC2 в preprod, выполнив команду aws ec2 describe-экземпляр --profile preprod. Затем, чтобы описать экземпляр в продакшене, я могу изменить аргумент profile на aws ec2 describe-экземпляр -- profile prod.
требования
- Python: версии 3.0-3.9. Убедитесь, что при установке выбран параметр "Добавить Python в PATH".
- AWS CLI: установлен и настроен.
- `botocore`: Версия 1.27.77. Установите с помощью pip3 install botocore==1.27.77.
Параметры
- -p, --profile [ОБЯЗАТЕЛЬНО]
- Указывает имя используемого профиля AWS. Эту опцию можно повторить для импорта данных из нескольких профилей.
- -r, --regions [ОБЯЗАТЕЛЬНО]
- Указывает один или несколько регионов AWS, из которых следует импортировать ресурсы. Этот параметр должен соответствовать предыдущему параметру --profile.
- -c, --count
- Выводит JSON-файл, содержащий количество ресурсов. При использовании этого флага сгенерированный JSON-файл не подходит для импорта в Lucidscale.
- -а, --аноним
- Анонимизируйте выходные данные, хешируя все строки.
- -o, --output
- Указывает имя файла для сгенерированного выходного JSON-файла.
Пример
python3 awscliscript.py --profile preprod --regions us-east-1 us-west-1
Приведенная выше команда запускает скрипт и генерирует данные для ресурсов в профиле предварительной обработки, расположенных в регионах us-east-1 и us-west-1.
Примечание: Lucidscale - AWS был разработан на основе botocore версии 1.27.77. Однако, если у вас уже установлена другая версия, импорт всё равно должен работать. Если это не поможет, попробуйте запустить скрипт в виртуальной среде Python, что позволит вам управлять отдельной установкой пакетов для разных проектов. После запуска скрипта вы можете удалить виртуальное окружение. Инструкции по созданию виртуальной среды Python можно найти в этом пользовательском меню Python.
Используй Data Hub для управления данными и учетными данными инфраструктуры AWS
Импортировать учетные записи и создавать документы
Для импорта учетных записей AWS и создания документов Lucid выполните следующие шаги:
- Выберите учетные записи, которые вы хотите импортировать в Data Hub.
- Нажмите «Далее».
- Следуя инструкциям, подробно описанным в конце этого раздела в подразделе «Настройка учетной записи с использованием межучетной роли», вы можете указать регионы, которые хотите импортировать.
- Нажмите Import AWS account record.
Чтобы визуализировать учетную запись AWS после завершения импорта, выполните следующие действия.
- Вернуться в Центр данных.
- Выберите «Создать новый документ».
- Выберите импортированную учетную запись и нажмите кнопку Выбрать учетную запись.
- Просмотрите подробности и добавьте фильтры, чтобы исключить ненужные ресурсы.
- Выберите «Создать документ AWS».
Документ Lucidscale будет сгенерирован в фоновом режиме в вашей учетной записи Lucid. Мы уведомим вас о создании запроса через всплывающее окно со статусом, которое появится в правом нижнем углу страницы.
Вы можете открыть документ из всплывающего окна состояния, которое появляется сразу после создания нового документа. Документ (а также ранее созданные документы) также будут сохранены и доступны в разделе «Документы» на вашей домашней странице Lucid после его создания.
Доступ к импортированным учетным записям
После импорта вашей учетной записи AWS она будет отображаться в списке источников данных с именем учетной записи, указанным вами в разделе «AWS: Импортированные учетные записи» в Центре данных. В этом разделе вы также можете нажать кнопку «+ Новая учетная запись», чтобы импортировать новую учетную запись в Центр данных.
Учетные записи, перечисленные в этом разделе, являются источниками данных, которые можно использовать для создания новых документов Lucidscale. Источники данных («Учетные записи») содержат метаданные учетных записей AWS, используемые для создания документов Lucidscale. Поле «Последнее обновление» указывает, когда ваш источник данных был в последний раз обновлен с учетом любых изменений в вашей подключенной учетной записи AWS.
Вы можете импортировать одну и ту же учетную запись AWS несколько раз. Каждый импорт создает независимый источник данных, который существует параллельно со всеми ранее импортированными версиями этой учетной записи. Нет необходимости удалять существующий источник данных перед повторным импортом той же учетной записи — оба источника будут сосуществовать в Центре данных и могут использоваться для создания документов независимо друг от друга.
После выбора учетной записи из списка, содержимое облачного хранилища каждой учетной записи можно увидеть в правой части экрана. Этот список позволяет увидеть полное количество каждого типа ресурсов, импортированных перед созданием документа. Вы также можете загрузить CSV-файл со списком ресурсов и данными подсчета непосредственно из Центра данных, нажав кнопку «Загрузить CSV».
В инвентаризации перечислены все ресурсы, к которым можно получить доступ с помощью политики разрешений, прикрепленной к роли межучетной записи. Если вы решите использовать функцию «Создать новую роль автоматически» в нашем шаблоне CloudFormation Stack, все ресурсы в вашей учетной записи, доступные в соответствии с политикой AWS ReadOnlyAccess , будут отображаться в инвентаризации. Если роль создается вручную с помощью настраиваемой политики, в инвентаризации будут отображаться только типы ресурсов, указанные в прикрепленной политике разрешений.
Щёлкнув по меню стремяточками, отображаемому рядом с учетной записью, вы увидите шесть возможных вариантов: Создать новый документ, Обновить учетную запись из AWS, Запланировать обновление, Редактировать ресурсы, Переименовать учетную записьи Удалить учетную запись.
При создании нового документа начнется отображение инфраструктуры AWS, связанной с учетной записью, в виде схемы в рабочем пространстве нового документа. Документ будет сгенерирован в фоновом режиме на вашей домашней странице Lucid, и мы уведомим вас о завершении его отображения через модальное окно состояния, которое появится в правом нижнем углу страницы.
Функция «Обновить учетную запись из AWS и запланировать обновление» позволяет вручную или автоматически обновлять данные учетной записи AWS, импортированные в Data Hub, чтобы отразить любые изменения в подключенной учетной записи AWS. Новые документы, созданные из учетной записи после обновления, будут отражать изменения в подключенной учетной записи AWS.
Подробнее: Для импортированных облачных источников данных автоматически включены запланированные обновления. Вы можете изменить это в любое время в центре обработки данных. Для получения дополнительной информации об обновлении учетных записей из AWS обратитесь к нашей статье «Обновление и синхронизация данных в Lucidscale» .
Функция «Редактировать ресурсы» позволяет редактировать ресурсы, включенные в каждый набор данных. Выберите этот параметр, чтобы открыть модальное окно, в котором вы сможете добавлять или удалять любые ресурсы из существующих наборов данных. После завершения выбора нажмите «Сохранить и обновить учетную запись». Это гарантирует обновление набора данных и обновление документов, ссылающихся на этот набор данных, до самой актуальной информации.
Rename Account позволяет тебе изменить имя выбранного набора данных.
Удаление учетной записи удаляет импортированную учетную запись из Lucid Data Hub, и все документы, созданные на основе этой учетной записи, потеряют возможность обновления данных из AWS. Обратите внимание, что удаление учетной записи не является обязательным условием для ее повторного импорта — новый импорт той же учетной записи можно инициировать в любое время, нажав кнопку «+ Новая учетная запись».
Примечание: Опции, отображаемые выше, будут отличаться в зависимости от метода импорта, который ты использовал для аккаунта. Опция update доступна только при импорте ролей кросс-аккаунтов AWS. Импорт IAM и CLI не поддерживают эту опцию.
Делись и удаляй сохраненные учетные данные
Раздел Saved Credentials в "Data Hub > AWS" lпредставляет собой кросс-аккаунт роли, которые ты можешь использовать для импорта аккаунтов AWS в Data Hub. В этом разделе нажми + New Cross-account role , чтобы добавить новый набор учетных данных, которые можно использовать для импорта учетной записи AWS.
Ты также можешь поделиться созданными тобой межаккаунтными ролями с другими пользователями. Если ты нажмешь на меню с тремя точками, изображенное на учетной записи, ты увидишь две потенциальные опции: Поделиться учетными данными и Удалить учетные данные.
Функция «Предоставить учетные данные» открывает модальное окно, где вы можете предоставить другому пользователю вашей учетной записи Lucid доступ к роли в другой учетной записи, указав его адрес электронной почты. Предоставление ему доступа к учетным данным позволит ему импортировать связанную учетную запись AWS в Data Hub и создавать документы Lucidscale. После предоставления доступа к учетным данным другому пользователю вы можете отозвать его доступ, нажав на крестик рядом с его адресом электронной почты в том же модальном окне.
Удаление учетных данных снимает роль межсистемного взаимодействия с Data Hub. После удаления учетных данных все учетные записи, которые ранее были импортированы с использованием этих учетных данных,а также документы, созданные на основе этих учетных записей,потеряют возможность обновлять данные из AWS.
Подробнее: Вы можете делиться учетными данными только в том центре данных, который принадлежит вам. Импортировать учетные записи и создавать документы могут только пользователи с соответствующими правами доступа. Для получения более подробной информации ознакомьтесь с нашей статьей«Управление учетными данными, их использование и безопасность в Lucidscale» .
Информация о безопасности
Межаккаунтские роли
Кросс-аккаунт роли - это предпочтительный метод от AWS для предоставления стороннего доступа к твоей учетной записи. Этот метод позволяет Lucidscale безопасно хранить учетные данные, которые позволяют тебе легко обновлять диаграмму. Смотри эти ресурсы для получения дополнительной информации:
- Как использовать внешний идентификатор при предоставлении доступа к твоим ресурсам AWS третьей стороне
- Предоставление доступа к аккаунтам AWS, принадлежащим третьим лицам
Принудительная внешняя идентификация
Следуя лучшим практикам безопасности, предоставляемым AWS, Lucid следит за тем, чтобы внешние идентификаторы оставались уникальными в базе данных Lucid. Поэтому Lucid предоставляет пользователю уникальный внешний идентификатор и запрещает пользователю вводить свой собственный внешний идентификатор.
Безопасный, ограниченный доступ для пользователей IAM
Мы запрашиваем ограниченное разрешение уровня "описать" для созданного тобой IAM-пользователя. Пользователь IAM, созданный с такими правами, не может изменять настройки в твоей инфраструктуре AWS или читать данные в твоих базах данных. Мы используем пользователя IAM только для чтения структурных метаданных твоей инфраструктуры AWS.
Альтернатива сценарию CLI
Если вы хотите просмотреть и контролировать действия, которые мы выполняем во время сканирования инфраструктуры AWS, вы можете загрузить и использовать предоставленный нами скрипт на Python вместо создания пользователя IAM. В этом сценарии ваши учетные данные IAM никогда не будут переданы в Lucidscale, и вы сможете просмотреть как код, который будет выполняться в вашей среде, так и результирующие метаданные, прежде чем загружать метаданные в Lucidscale. Импортированный JSON-файл будет доступен в Lucid Data Hub для использования при создании документов Lucidscale.
Безопасное хранение документов.
Lucidscale хранит импортированные из AWS метаданные и сгенерированные документы, используя стандартные отраслевые методы защиты конфиденциальных данных. Импортированные данные AWS встраиваются в документ Lucidscale, поэтому вы можете контролировать доступ к данным, используя стандартные разрешения доступа Lucid. Для получения дополнительной информации о том, как мы защищаем ваши документы, пожалуйста, обратитесь к нашей странице «Безопасность контента» или свяжитесь с нашей командой продаж.
Отсутствие хранения ключей доступа
Lucidscale не будет хранить твои учетные данные AWS IAM после выполнения первоначального сканирования твоей инфраструктуры AWS. Твои учетные данные будут переданы на наши серверы с использованием стандартных методов шифрования. Клиенты могут договариваться о протоколах шифрования вплоть до AES-256. Мы можем хранить Cross-Account Role, которая дает нам только "описать и перечислить" доступ к твоей среде.
Часто задаваемые вопросы
Как Lucidscale получает доступ к нашей среде AWS? Какой уровень доступа у Lucidscale?
Рекомендуемый метод от Lucidscale и AWS - через Cross-Account Role. Мы предоставляем политику, которая дает нам доступ "описать и перечислить" к твоей среде, чтобы мы могли получить инвентаризацию ресурсов. Учетные данные, хранящиеся в Lucid, могут быть доступны только твоей учетной записи Lucid. Этот метод импорта позволит тебе обновлять данные из учетной записи одним действием. Политика разрешений, которую мы предоставляем, позволяет тебе точно определить, какие данные роль Cross-Account будет иметь доступ для запроса у AWS.
Если ты используешь наш метод IAM-пользователя, учетные данные вообще не хранятся, а используются один раз и отбрасываются. Как правило, наши пользователи используют этот метод импорта вместе с временными учетными данными AWS, так как этот метод не позволяет дополнительно обновлять данные.
У нас также есть метод с использованием скрипта python, который ты можешь запустить через интерфейс командной строки (CLI), который генерирует JSON-файл. После генерации JSON-файла пользователи могут просмотреть его содержимое и при желании удалить данные перед импортом. Затем пользователи могут загрузить этот JSON-файл в Lucidscale и не вводить в Lucidscale никакую учетную информацию.
Как взаимодействуют коммерческий Lucidscale и Lucidscale for Gov при импорте через кросс-аккаунт роли?
Хотя функциональность продукта одинакова для каждого из них, AWS по-разному настраивает безопасность для этих двух сред. Роли AWS IAM и политики на основе ресурсов делегируют доступ между учетными записями только в пределах одного раздела. Lucid GovSuite находится в отдельном разделе AWS, и поэтому не может импортировать данные AWS через кросс-аккаунтную роль из аккаунтов AWS, не относящихся к GovCloud. Перекрёстные роли аккаунтов, рекомендуемый нами метод импорта, разрешают доступ только к аккаунтам одного типа - так, если ты находишься в коммерческой среде Lucid, ты можешь получить доступ и импортировать коммерческие аккаунты облака AWS с помощью перекрёстной роли аккаунтов, а если ты находишься в среде Lucid GovSuite, ты можешь получить доступ и импортировать аккаунты AWS GovCloud с помощью перекрёстной роли аккаунтов.
Мы поддерживаем возможность импорта коммерческих аккаунтов AWS в Lucidscale for Gov через IAM-пользователя или JSON, созданный с помощью нашего CLI-скрипта.
К каким API имеет доступ Lucidscale?
В основном мы используем конечные точки API describe и list.
Можешь ли ты выбрать, какие метаданные (поля и значения, отображаемые на панели "Данные") будут импортированы? Если нет, то какие метаданные импортируются?
Нет, в настоящее время ты не можешь выбирать, какие метаданные будут импортированы. Однако в будущем мы планируем создать некоторую возможность для этого. Импортируются все метаданные из вызова API описания.
Оставьте отзыв об этой статье
Хотите поделиться мнением об этой статье? Расскажи нам о своем опыте здесь.