Обзор служб идентификационных данных
Для использования Identity Services APIs важно знать, как работают идентификационные данные, и как они могут использоваться. Следующая глава описывает различные типы идентификационных данных и объясняет, как использовать их в OS X. Это также объясняет APIs, доступный для использования идентификационных данных в Ваших приложениях.
Что такое идентификационные данные?
Когда большинство людей думает об учетной записи пользователя, они думают о корневом каталоге. Однако учетная запись пользователя намного более сложна, чем это.
Учетная запись пользователя или пользователь, работает подобным образом на дебетовую карту. Вы обычно думаете о своей дебетовой карте как о методе к закупаемым изделиям. Когда Вы переходите к хранилищу, Вы находите то, что Вы хотите купить и вручить его кассиру вместе с Вашей дебетовой картой. Кассир сканирует карту и удостоверяется Ваши соответствия Номера контакта, что банк имеет на файле. Принятие его делает, Вы получаете свои элементы и выходите.
Учетная запись пользователя на компьютере работает подобным способом. Когда Вы регистрируете в компьютер, компьютер просит имя пользователя и пароль. Имя пользователя походит на номер дебетовой карты, оно указывает, кто Вы. Пароль походит на Ваш Номер контакта, потому что оказывается, что Вы - то, кто Вы говорите, что Вы. После того, как Вы будете утверждены, компьютер может предоставить Вам доступ к Вашим файлам.
Когда Вы используете свою дебетовую карту, но что действительно происходит? Когда кассир сканирует карту, номер дебетовой карты отправляется банку. Банк имеет информацию о Вас, такую как Ваше имя, день рождения, номер социального страхования и баланс. Банк тогда говорит кассиру, допустима ли карта, таким образом, он знает, можно ли купить изделие. Основанием учетной записи является действительно информация, хранившая на компьютерах в Вашем банке, не самой карте.
Почти таким же способом пользователь определяется его идентификационными данными, которые являются записью, содержащей информацию о пользователе. Каждые идентификационные данные сохранены в доверяемом каталоге, известном как полномочия идентификационных данных. Ваше имя пользователя отправляется в полномочия идентификационных данных, и Ваша запись найдена. Затем если Ваши соответствия пароля, что на записи, можно получить доступ к какому-либо файлу, к которому идентификационные данные имеют доступ.
Каждые идентификационные данные содержат следующие требуемые атрибуты:
Универсально уникальный идентификатор (UUID)
Полное имя (должно быть уникальным по всей системе),
POSIX ID (UID для пользователя, GID для группы)
Уникальное имя в масштабе всей системы (имя POSIX)
Кроме того, идентификационные данные могут содержать следующие дополнительные атрибуты:
Корневой каталог (только для пользователей)
Альтернативные названия, известные как псевдонимы
Адрес электронной почты
Изображение
Можно отредактировать эти атрибуты с помощью предпочтительной области Учетных записей в Установках системы Щелчком управления по пользователю. Посмотрите рисунок 1-1.
Списки управления доступом
Существенно, идентификационные данные используются для управления, у кого есть доступ к файлам и службам. При просмотре панели Get Info на файле в Средстве поиска Вы видели раздел Ownership и Permissions (рисунок 1-2). Этот раздел выводит на экран то, что пользователи доступа и группы имеют к файлу или папке. Эти полномочия (никакой доступ, только для чтения, или, не читал и пишет) сохранены в списке управления доступом (ACL). Каждая папка и файл на Вашем компьютере имеют связанный ACL. Таким образом можно создать очень определенные, специализированные права доступа для файлов на компьютере.
Каждая служба совместного использования (например, SSH или AFP) на Вашем компьютере также имеет ACL. ACL, связанный со службой, упоминается как список управления доступом к службам или SACL. Возможность создать и настроить ACLs и SACLs с пользователями и группами помогает подать очень безопасные, очень корректируемые заявки.
Типы идентификационных данных
Идентификационные данные могут представлять или пользователя или группу:
Пользователь является идентификационными данными, имеющими учетные данные аутентификации. Существует две формы учетных данных: традиционный пароль и сертификат. Пользователь может быть добавлен к ACLs для доступа к файлам или службам. Существует четыре различных типов пользователей: администраторы, стандарт, дочерний элемент и совместное использование. Список пользовательских типов и их функций доступен на рисунке 1-3.
Группа является идентификационными данными, имеющими другие идентификационные данные как элементы. Группы могут быть добавлены к ACLs и обеспечить мощный способ управлять полномочиями. Группа может содержать неограниченное количество элементов.
Архитектура API
Существует два уровня к Identity Services APIs: Идентификационные данные Core Services на базе С API и платформа Сотрудничества Объективная на базе С. Идентификационные данные Core Services API состоит из трех Базовых Основанных на основе объектов, позволяющих Вам создавать, управляйте и удалите пользователей и группы: объект идентификационных данных, объект запроса идентификационных данных и объект полномочий идентификационных данных. Платформа Сотрудничества является рядом классов обертки для Идентификационных данных Core Services объекты API. Кроме того, это предоставляет поддержку пользовательского интерфейса для приложений.
Объект идентификационных данных (CSIdentity
) представляет идентификационные данные в полномочиях идентификационных данных и содержит атрибуты того пользователя или группы. Требуемые атрибуты являются полным именем, именем POSIX, UUID и POSIX ID. Из этих атрибутов, имени POSIX, UUID и POSIX ID может все быть автоматически сгенерирован API. Пользовательские идентификационные данные также включают информацию аутентификации (пароль и/или сертификат), и идентификационные данные группы имеют список элементов. Эти атрибуты могут быть установлены и получили использование надлежащих методов, и пользователь или группа, представленная объектом идентификационных данных, могут быть сохранены в базе данных полномочий идентификационных данных с помощью метода фиксации. Каждое инстанцирование класса идентификационных данных представляет одного пользователя или группу. Объекты идентификационных данных не ограничиваются совместным использованием пользователей, но могут также использоваться для доступа к типичным пользователям.
Объект запроса идентификационных данных (CSIdentityQuery
) позволяет приложению искать базу данных полномочий идентификационных данных пользователей и группы и контролировать их для изменений. Это обеспечивает методы для поиска идентификационных данных по имени, UUID, POSIX ID, справочные данные или текущий пользователь. Кроме того, объект запроса идентификационных данных может зарегистрироваться, чтобы быть уведомленным для изменений в идентификационных данных. Например, если у Вас есть объект идентификационных данных, представляющий группу, можно использовать объект запроса идентификационных данных уведомить Вас, когда изменяется состав группы.
Объект полномочий идентификационных данных (CSIdentityAuthority
) представляет репозиторий идентификационных данных. Каждая система OS X содержит локальные полномочия идентификационных данных, хранящие идентификационные данные, локальные для системы. При первом создании пользователя в совершенно новой системе OS X пользовательские идентификационные данные сохранены в локальных полномочиях идентификационных данных. Полномочия идентификационных данных могут также существовать на сервере сетевого каталога. Объект полномочий идентификационных данных может представлять или местные власти, ограниченные сетью полномочия или обоих.
Для визуального представления как CSIdentity
объекты и CSIdentityQuery
объекты взаимодействуют с полномочиями идентификационных данных, видят рисунок 1-4.
Платформа Сотрудничества позволяет Вам идентификационным данным доступа с Objective C APIs. Это также содержит элемент пользовательского интерфейса Средства выбора Идентификационных данных. CBIdentity
и CBIdentityAuthority
APIs обеспечивает доступ только для чтения к атрибутам CSIdentity
и CSIdentityAuthority
объекты.
Платформа Сотрудничества также имеет методы для преобразования между CSIdentity
объекты и CBIdentity
объекты. Если у Вас есть a CSIdentity
возразите и хотите использовать его в Какао, используйте identityWithCSIdentity:
метод фабрики классов для создания a CBIdentity
объект от тех же идентификационных данных. Точно так же, если у Вас есть a CBIdentity
возразите и хотите использовать его в C, используйте CSIdentity
метод на идентификационных данных возражает для возврата a CSIdentity
объект от тех же идентификационных данных.
Отношение Средства выбора Идентификационных данных с Identity Services походит на Людей отношение Средства выбора с Адресной книгой. Так же, как Люди Средство выбора является элементом пользовательского интерфейса для выбора лица от Адресной книги, Средство выбора Идентификационных данных является элементом пользовательского интерфейса для выбора идентификационных данных. Средство выбора Идентификационных данных является листом или модальным диалоговым окном, позволяющим кому-то выбирать пользователей в системе и способствовать записям Адресной книги в совместное использование пользователей. Этим управляет a CBIdentityPicker
объект. Больше информации о Средстве выбора Идентификационных данных доступно в Использовании Средства выбора Идентификационных данных. Иерархия классов платформы Сотрудничества может быть замечена на рисунке 1-5.
С глубоким пониманием структуры идентификационных данных Вы сочтете APIs намного проще использовать, и более мощный.