Spec-Zone.ru › OpenJDK 21

Класс ServicePermission

java.lang.Object
java.security.Permission
javax.security.auth.kerberos.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
Возвращает:
действия этого Permission.

newPermissionCollection

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

© 1993, 2023, 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/21/docs/api/java.security.jgss/javax/security/auth/kerberos/ServicePermission.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API