Как я могу управлять несколькими администраторами с амулетом?

Я справляюсь с некоторым развертыванием с амулетом. Однако я не остров, у меня есть коллеги, которые также хотят управлять общими средами.

Я знаю, что могу использовать следующую строку файла конфигурации в ~/.juju/environments.yaml предоставлять людей доступ к моей среде амулета:

authorized-keys: [and then put their ssh IDs in here]

Что другие лучшие практики доступны для управления несколькими средами с несколькими системными администраторами?

7
задан 23 August 2012 в 06:56

1 ответ

Амулет действительно не в это время, оптимизированное для нескольких администраторов. В частности, некоторые проблемы безопасности, которые в настоящее время замечаются в Амулете, становятся более явными при работе с несколькими администраторами. Однако с некоторыми протестами, это может все еще остаться полезной опцией для доверяемого - и таким образом вероятный маленький - группа администраторов.

Имея это в виду, давайте посмотрим на соответствующие элементы конфигурации в ~/.juju/environment.yaml файл.

authorized-keys объект используется в начальной загрузке среды для определения общедоступных ключей SSH для пользователя человечности на узле начальной загрузки (машина 0, на котором ZooKeeper работает), и все впоследствии настроенные узлы. Просто список авторизовал один открытый ключ на строку. Это будет похоже на следующее:

authorized-keys: |
    ssh-rsa AAAblahblahZZZZ user@domain
    ecdsa-sha2-nistp256 AAAAfoobarZZZZ= user2@domain

Этот подход предпочтителен для использования authorized-keys-path - или его значение по умолчанию (~/.ssh/) - который только подходит для одного администратора, учитывая, что необходимо было бы затем совместно использовать ключи SSH (не делают этого!). Проще говоря, это - просто ограничение как authorized-keys-path реализован.

Затем, облачные поставщики определяют свои определенные учетные данные безопасности, которые затем использует Амулет. Как пример, давайте смотреть на EC2, конкретно AWS. Для AWS два ключа используются для определения доступа: access-key и secret-key, соответствие переменным среды AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY (это значения по умолчанию если не указанный в файле конфигурации). Проблема здесь для нескольких администраторская среда - или даже единственная администраторская среда - то, что эта информация копируется в ZooKeeper и с готовностью видима в узле ZK /environment. Посмотрите ошибку Амулета № 907094.

В примере AWS определенная степень управления может быть обеспечена на Ваших ключах доступа с помощью Идентификационных данных AWS и управления доступом FAQ (поиск этого), но в настоящее время нет никакого механизма, чтобы предоставить более мелкомодульное управление данному администратору в среде Амулета.

Один дополнительный шаблон, замеченный в нашем собственном использовании, особенно в тестировании, стоит отметить: среда Амулета ("управление"), настроенное на данном узле для управления другими средами Амулета; просто разверните очарование амулета, чтобы иметь, это настроило. Это берет в качестве опции конфигурации environment.yaml использоваться. Дополнительные администраторы могут затем быть позже авторизованы как ubuntu пользователь путем ручного добавления их ключей к ~ubuntu/.ssh/authorized-keys.

Это позволяет, чтобы единственная точка управляла некоторыми из этих проблем при уменьшении головной боли. Это не делает ничего для обращения к некоторым проблемам безопасности, упомянул ранее - у Вас все еще должно быть довольно глубокое доверие Ваших других администраторов.

Амулет будет повторно синхронизировать environments.yaml к узлу ZK /environment после использования определенных команд (juju add-unit, juju constraints-get, juju constraints-set, juju deploy, juju terminate-machine). На практике это не будет ужасно полезно - за исключением его реального намеченного использования поддержки ограничений. Однако это может помочь минимизировать потребность обновить файлы авторизованных ключей как любые недавно настроенные машины после того, как синхронизация получит это; Вы затем просто были бы ответственны за обновление более ранних настроенных машин.

В то время как я по этому вопросу, это стоит отметить как и где в ~ubuntu/.ssh/authorized-keys на самом деле используются:

  • Все команды управления Амулетом, за двумя исключениями, используют туннель SSH для экземпляра ZooKeepeer для управления или информация о поиске от среды Амулета. (juju bootstrap и juju destroy-environment непосредственно работа с базовым облачным поставщиком API.), Таким образом, определенно необходимо сохранить authorized-keys на машине 0 текущих.

  • juju ssh и juju scp позвольте работать с машиной непосредственно, и они также должны иметь текущий authorized-keys то, что необходимо будет считать обновление в нескольких администраторским случаем. Эти команды значением по умолчанию используют ubuntu пользователь на целевой машине.

3
ответ дан 21 October 2019 в 12:52

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

Похожие вопросы: