Класс ServicePermission

Все реализованные интерфейсы:
Serializable, Guard
public final class ServicePermission
extends Permission
implements Serializable

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

ServicePermission содержит имя принципала службы и список действий, которые определяют контекст, в котором данные могут использоваться.

Имя принципала службы — это каноническое имя KerberosPrincipal , предоставляющего услугу, то есть KerberosPrincipal представляет собой принципал службы Kerberos. Это имя обрабатывается с учётом регистра. Звёздочка может встречаться сама по себе, чтобы обозначить любой принципал службы.

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

Предоставление этого разрешения также подразумевает создание KerberosPrincipal или GSSName без предоставления области Kerberos, если принципал службы в этом разрешении находится в этой области.

Возможные действия:

initiate -              allow the caller to use the credential to
                            initiate a security context with a service
                            principal.

    accept -                allow the caller to use the credential to
                            accept security context as a particular
                            principal.
Например, для указания разрешения на доступ к TGT для начала контекста безопасности разрешение конструируется следующим образом:
ServicePermission("krbtgt/EXAMPLE.COM@EXAMPLE.COM", "initiate");

Для получения билета службы для начала контекста со службой "host" разрешение конструируется следующим образом:

ServicePermission("host/foo.example.com@EXAMPLE.COM", "initiate");

Для сервера Kerberos действие — "accept". Например, разрешение, необходимое для доступа и использования секретного ключа Kerberos-сервиса "host" (telnet и подобных), конструируется следующим образом:

ServicePermission("host/foo.example.com@EXAMPLE.COM", "accept");
С:
1.4
См. также:
Сериализованная форма

Конструкторы

Конструктор Описание
ServicePermission​(String servicePrincipal, String action)

Создаёт новый ServicePermission со специфицированным servicePrincipal и action.

Методы

Модификатор и тип Метод Описание
boolean equals​(Object obj)

Проверяет два объекта ServicePermission на равенство.

String getActions()

Возвращает каноническое строковое представление действий.

int hashCode()

Возвращает значение хэш-кода для данного объекта.

boolean implies​(Permission p)

Проверяет, "подразумевает" ли данный объект разрешения службы Kerberos указанное разрешение.

PermissionCollection newPermissionCollection()

Возвращает объект PermissionCollection для хранения объектов ServicePermission.

Методы, объявленные в классе java.security.Permission

checkGuard, getName, toString

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Конструкторы

ServicePermission

public ServicePermission(String servicePrincipal,
                         String action)

Создаёт новый ServicePermission со специфицированным servicePrincipal и action.

Параметры:
servicePrincipal — имя принципала службы. Звёздочка может встречаться сама по себе, чтобы обозначить любой принципал службы.
action — строка действия

Методы

implies

public boolean implies(Permission p)

Проверяет, "подразумевает" ли данный объект разрешения службы Kerberos указанное разрешение.

Более конкретно, данный метод возвращает true, если выполняются все следующие условия (и возвращает false, если хотя бы одно из них не выполняется):

  • p является экземпляром ServicePermission,
  • действия p являются правильным подмножеством действий данного ServicePermission,
  • имя p равно имени данного ServicePermission, или имя данного ServicePermission равно "*".
Определено в:
implies в классе Permission
Параметры:
p — разрешение для проверки.
Возвращает:
true, если указанное разрешение подразумевается данным объектом, false — в противном случае.

equals

public boolean equals(Object obj)

Проверяет два объекта ServicePermission на равенство.

Определено в:
equals в классе Permission
Параметры:
obj — объект для проверки на равенство с данным объектом.
Возвращает:
true, если obj является ServicePermission и имеет тот же принципал службы и действия, что и данный объект ServicePermission.
См. также:
Object.hashCode(), HashMap

hashCode

public int hashCode()

Возвращает значение хэш-кода для данного объекта.

Определено в:
hashCode в классе Permission
Возвращает:
значение хэш-кода для данного объекта.
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

getActions

public String getActions()

Возвращает каноническое строковое представление действий. Всегда возвращает присутствующие действия в следующем порядке: initiate, accept.

Определено в:
getActions в классе Permission
Возвращает:
действия данного разрешения.

newPermissionCollection

public PermissionCollection newPermissionCollection()

Возвращает объект PermissionCollection для хранения объектов ServicePermission.
Объекты ServicePermission должны храниться таким образом, чтобы их можно было вставлять в коллекцию в любом порядке, но также чтобы метод PermissionCollection implies можно было реализовать эффективным (и согласованным) образом.

Переопределяет:
newPermissionCollection в классе Permission
Возвращает:
новый объект PermissionCollection, подходящий для хранения ServicePermission.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.security.jgss/javax/security/auth/kerberos/ServicePermission.html

Spec-Zone .ru
спецификации, руководства, описания, API