Игра в песочнице и автоматизация в OS X
Q: Как делает влияние игры в песочнице мое scriptable приложение, приложение AppleScript или действие Automator в OS X?
A: Как объяснено в Руководстве по проектированию Тестовой среды приложения, непоигравшее в песочнице приложение имеет полные права пользователя, который выполняет то приложение и может получить доступ к любым ресурсам, к которым может получить доступ пользователь. Если то приложение или платформы, против которых это соединяется, содержат дыры в системе безопасности, атакующий может потенциально использовать те дыры для взятия под свой контроль того приложения. При этом атакующий получает возможность сделать что-либо, что может сделать пользователь.
Поигравшее в песочнице приложение, с другой стороны, имеет ограниченный доступ к ресурсам. Вместо того, чтобы иметь свободное господство OS, поигравшее в песочнице приложение должно запросить права на ресурсы, в которых это нуждается. Посмотрите Дающую право Ключевую Ссылку. Путем ограничения доступа к ресурсам этим способом Тестовая среда приложения обеспечивает последнюю строку защиты против хищения, повреждения или удаления пользовательских данных, если атакующий успешно использует дыры в системе безопасности в приложении или платформах, это соединяется против.
Поскольку, играя в песочнице предельное взаимодействие с файлами и папками и между приложениями в OS X, существует определенное влияние на связанные с автоматизацией приложения, такие как scriptable приложения, приложения AppleScript и действия Automator.
Игра в песочнице приложений OS X, включая приложения Scriptable и приложения AppleScript
Требования
Для соображений безопасности Apple призывает всех разработчиков играть в песочнице свои приложения. Если Вы намереваетесь распределить свое приложение через App Store Mac, игра в песочнице является требованием.
Ограничения
В настоящее время при принятии игры в песочнице в приложении приложение сохраняет возможность к:
События Receive Apple
Отправьте события Apple в себя
Реагируйте на события Apple, которые это получает
Ваше приложение не может, однако, отправить события Apple в другие приложения, если Вы не запрашиваете право целей сценариев или право временного исключения событий яблока. Таким же образом, независимо от того, поигралось ли Ваше приложение в песочнице, любое внешнее поигравшее в песочнице приложение, пытающееся взаимодействовать с Вашим приложением, должно также запросить надлежащие права сделать так.
О правах целей сценариев
Право целей сценариев является запросом для доступа к определенному подмножеству сценариев терминологии, известной как группа доступа, в целевом приложении. Например, Ваше приложение могло бы создать сообщения в Почте. В этой ситуации Ваше приложение запросило бы право на составить группу доступа в Почте. Права целей сценариев предоставляют OS тонкозернистое знание задач межприложения, которые Ваше приложение, как предполагается, выполняет. Это гарантирует, что Ваше приложение делает только, что пользователь ожидает и не используется атакующим для некоторой злонамеренной функции. Для получения дополнительной информации о правах целей сценариев посмотрите То, чтобы позволять Писать сценарий Других Приложений в Дающей право Ключевой Ссылке.
О правах временного исключения событий яблока
Право временного исключения событий яблока необходимо, когда приложение не реализует необходимые группы доступа для терминологии сценариев, Ваше приложение должно использовать. Обратите внимание на то, что этот тип права предназначается, чтобы быть временным, и Ваше приложение не должно планировать использовать его неопределенно. Если приложение Apple не реализует группы доступа, Вам нужно, необходимо зарегистрировать отчет об ошибках, указывающий необходимость в этой поддержке. Если приложение является сторонним приложением, необходимо связаться с разработчиком и запросить, чтобы они реализовали эту поддержку в будущей версии их приложения. Для получения дополнительной информации о правах временного исключения событий яблока, посмотрите Временное исключение События Apple в Дающей право Ключевой Ссылке.
Игра в песочнице действия Automator
Действия Automator являются сменными пакетами, загружающимися и выполняющимися Automator и OS. Действия Automator могут быть установлены в /Library/Automator/ и ~/Library/Automator/. Если Вы - разработчик приложений, действия могут также быть встроены в /Contents/Library/Automator/ каталог в Вашем комплекте приложений. Независимо от того, где установлено Ваше действие и поигралось ли Ваше приложение само в песочнице, выполнения действия в контексте приложения, загружающего его. Когда действия загружаются и выполняются Automator или OS, они выполняются за пределами песочницы и могут получить доступ к любому файлу, папке или приложению, к которому может получить доступ пользователь.
Методы наиболее успешной практики для представления Scriptable и приложений AppleScript к App Store Mac
Гарантируйте, что Ваше приложение придерживается всех текущих инструкций по анализу и требований. См. Инструкции по Анализу App Store Mac.
Если Ваше приложение должно взаимодействовать с файлами или папками в стандартных расположениях вне песочницы Вашего приложения, запросите надлежащие права. Посмотрите Доступ Включения к Файлам в Стандартных Расположениях в Дающей право Ключевой Ссылке.
Если вообще возможный и запрашивают надлежащее право, если Ваше приложение должно взаимодействовать с файлами или папками в других расположениях вне песочницы Вашего приложения, позволить пользователю выбирать их. Посмотрите Включающий Выбранный пользователями Доступ к файлу в Дающей право Ключевой Ссылке.
Если Ваше приложение отправляет события Apple в другие приложения, избегите запрашивать временные права, если Вы не должны абсолютно делать так. Например, вместо того, чтобы использовать Средство поиска для взаимодействия с файлами или папками попытайтесь использовать методы, предоставленные NSFileManager. Если действительно необходимо взаимодействовать с приложением, и то приложение имеет группы доступа для взаимодействий, которые выполняет приложение, запросите право целей сценариев. Иначе, запросите право временного исключения событий яблока. Посмотрите То, чтобы позволять Писать сценарий Других Приложений и Временного исключения События Apple в Дающей право Ключевой Ссылке. Обратите внимание на то, что запрос прав временного исключения событий яблока для Средства поиска и Системных событий, вероятно, приведет к отклонению во время процесса рассмотрения приложения, потому что предоставление доступа к этим процессам дает Вашему приложению свободное господство над большой частью операционной системы. Для задач системного уровня используйте другие методы, как обсуждено выше.
При представлении приложения в Подключении iTunes перечислите любые права запросы приложения и обеспечьте выравнивание по ширине подробной информации, почему они необходимы.
Общие ресурсы игры в песочнице
Игра в песочнице ресурсов для автоматизации
Временное исключение события Apple в дающей право ключевой ссылке
Включение сценариев других приложений в дающей право ключевой ссылке
Привратник и подписание апплетов в информации о версии AppleScript
Игра в песочнице и рабочие сценарии в информации о версии AppleScript
Sandboxing и Scriptability в информации о версии AppleScript
Технические вопросы и ответы QA1802: принятие целей сценариев для создания почты
История версии документа
| Дата | Примечания |
|---|---|
| 05.02.2015 | Новый документ, предоставляющий информацию о как, играя в песочнице влияние scriptable приложение, приложение AppleScript или действие Automator в OS X. |