Расширенные возможности при создании VOMS proxy
Одним из главных свойств VOMS сервиса является возможность создавать группы и роли для пользователей, что позволяет
администратору ВО дифференциировать привилегии и права пользователей внутри ВО. Пользователи, если они уже принадлежат определённой
группе или им назначена определённая роль, могут запрашивать их при создании proxy, используя команду voms-proxy-init
.
Используя этот механизм, информация будет подписана VOMS сервером и добавлена в атрибуты proxy; сервисы, управляющие ресурсами,
смогут распознать их при назначении пользователю соответствующих прав.
Синтаксис
Запрос на группу/роль выполняется пользователями при помощи добавления опции --voms
в команду voms-proxy-init
voms-proxy-init --voms YourVO:/YourVO/Desired-Group
в случае запроса группы;
voms-proxy-init --voms YourVO:/YourVO/Role=Desired-Role
в случае запроса роли;
voms-proxy-init --voms YourVO:/YourVO/Desired-Group/Role=Desired-Role
в случае смешанного запроса (группа + роль).
Давайте рассмотим подробнее несколько примеров:
Запрос группы
Предположим, Вы хотите создать voms proxy для ВО gilda, запрашивающий членство в группе generic-users. В этом случае необходимо запустить команду:
[catania49@glite-tutor catania49]$ voms-proxy-init --voms gilda:/gilda/generic-users Cannot find file or dir: /home/catania49/.glite/vomses Your identity: /C=IT/O=GILDA/OU=Personal Certificate/L=CATANIA/CN=CATANIA49/Email=tony.calanducci@ct.infn.it Enter GRID pass phrase: Creating temporary proxy ........................................... Done Contacting voms.ct.infn.it:15001 [/C=IT/O=INFN/OU=Host/L=Catania/CN=voms.ct.infn.it] "gilda" Done Creating proxy ............................................................... Done Your proxy is valid until Wed Mar 14 04:37:13 2007 [catania49@glite-tutor catania49]$
Конечно, это не сработает, если Вы не зарегистрированы в ВО gilda или если Вы не включены в группу generic-users.
Можно проверить, что команда выполнилась успешно, запустив команду voms-proxy-info
.
$ voms-proxy-info -all subject : /C=IT/O=GILDA/OU=Personal Certificate/L=CATANIA/CN=CATANIA49/Email=tony.calanducci@ct.infn.it/CN=proxy issuer : /C=IT/O=GILDA/OU=Personal Certificate/L=CATANIA/CN=CATANIA49/Email=tony.calanducci@ct.infn.it identity : /C=IT/O=GILDA/OU=Personal Certificate/L=CATANIA/CN=CATANIA49/Email=tony.calanducci@ct.infn.it type : proxy strength : 512 bits path : /tmp/x509up_u6086 timeleft : 11:59:51 === VO gilda extension information === VO : gilda subject : /C=IT/O=GILDA/OU=Personal Certificate/L=CATANIA/CN=CATANIA49/Email=tony.calanducci@ct.infn.it issuer : /C=IT/O=INFN/OU=Host/L=Catania/CN=voms.ct.infn.it attribute : /gilda/generic-users/Role=NULL/Capability=NULL attribute : /gilda/Role=NULL/Capability=NULL timeleft : 11:59:37
Запрос роли
Если Вы зарегистрированы в ВО gilda и хотите при создании proxy получить роль GenericRole, то необходимо выполнить команду
voms-proxy-init --voms gilda:/gilda/Role=GenericRole
[catania49@glite-tutor catania49]$ voms-proxy-init --voms gilda:/gilda/Role=GenericRole Cannot find file or dir: /home/catania49/.glite/vomses Your identity: /C=IT/O=GILDA/OU=Personal Certificate/L=CATANIA/CN=CATANIA49/Email=tony.calanducci@ct.infn.it Enter GRID pass phrase: Creating temporary proxy ............................................ Done Contacting voms.ct.infn.it:15001 [/C=IT/O=INFN/OU=Host/L=Catania/CN=voms.ct.infn.it] "gilda" Done Creating proxy .......................................................... Done Your proxy is valid until Wed Mar 14 05:12:57 2007
Можно проверить выполнение команды через voms-proxy-info -all
.
[catania49@glite-tutor catania49]$ voms-proxy-info -all subject : /C=IT/O=GILDA/OU=Personal Certificate/L=CATANIA/CN=CATANIA49/Email=tony.calanducci@ct.infn.it/CN=proxy issuer : /C=IT/O=GILDA/OU=Personal Certificate/L=CATANIA/CN=CATANIA49/Email=tony.calanducci@ct.infn.it identity : /C=IT/O=GILDA/OU=Personal Certificate/L=CATANIA/CN=CATANIA49/Email=tony.calanducci@ct.infn.it type : proxy strength : 512 bits path : /tmp/x509up_u6086 timeleft : 11:58:11 === VO gilda extension information === VO : gilda subject : /C=IT/O=GILDA/OU=Personal Certificate/L=CATANIA/CN=CATANIA49/Email=tony.calanducci@ct.infn.it issuer : /C=IT/O=INFN/OU=Host/L=Catania/CN=voms.ct.infn.it attribute : /gilda/Role=GenericRole/Capability=NULL attribute : /gilda/Role=NULL/Capability=NULL attribute : /gilda/generic-users/Role=NULL/Capability=NULL timeleft : 11:57:56
Группа+Роль
Вы можете заметить, что в обоих случаях, когда запрашивалась роль или группа, дополнительная часть строки значения
опции --voms
всегда начиналась с /gilda
. Это из-за того, что группа с именем, совпадающим с
названием ВО является группой по умолчанию, к которой придлежат все зарегистрированные члены ВО. Несмотря на это, даже
если это является значением по умолчанию - она должна быть всегда указана в командной строке. Как следствие этого, запросы
:/gilda/Role=GenericRole
и
:/gilda/generic-users/Role=GenericRole
различны, как Вы можете проверить сами, выполнив обе команды и сравнив первые атрибуты, добавленные при создании proxy. В первом случае запрашивается роль для группы по умолчанию, а во втором - роль внутри группы generic-users. Как нетрудно заметить, общий синтаксис команды /group/subgroup1/..../Role.
Конечно, для того чтобы всё работало правильно, запросы должны соответствовать привилегиям, назначенным Вам администратором ВО.
Ниже приведён пример запроса роли для подгруппы: Вы можете сравнить вывод команды voms-proxy-info
и увидеть
разницу с выводом, полученным в предыдущем параграфе:
[catania49@glite-tutor catania49]$ voms-proxy-init --voms gilda:/gilda/generic-users/Role=GenericRole Cannot find file or dir: /home/catania49/.glite/vomses Your identity: /C=IT/O=GILDA/OU=Personal Certificate/L=CATANIA/CN=CATANIA49/Email=tony.calanducci@ct.infn.it Enter GRID pass phrase: Creating temporary proxy .................................. Done Contacting voms.ct.infn.it:15001 [/C=IT/O=INFN/OU=Host/L=Catania/CN=voms.ct.infn.it] "gilda" Done Creating proxy ........................................ Done Your proxy is valid until Wed Mar 14 05:58:38 2007 [catania49@glite-tutor catania49]$ [catania49@glite-tutor catania49]$ voms-proxy-info -all subject : /C=IT/O=GILDA/OU=Personal Certificate/L=CATANIA/CN=CATANIA49/Email=tony.calanducci@ct.infn.it/CN=proxy issuer : /C=IT/O=GILDA/OU=Personal Certificate/L=CATANIA/CN=CATANIA49/Email=tony.calanducci@ct.infn.it identity : /C=IT/O=GILDA/OU=Personal Certificate/L=CATANIA/CN=CATANIA49/Email=tony.calanducci@ct.infn.it type : proxy strength : 512 bits path : /tmp/x509up_u6086 timeleft : 11:59:51 === VO gilda extension information === VO : gilda subject : /C=IT/O=GILDA/OU=Personal Certificate/L=CATANIA/CN=CATANIA49/Email=tony.calanducci@ct.infn.it issuer : /C=IT/O=INFN/OU=Host/L=Catania/CN=voms.ct.infn.it attribute : /gilda/generic-users/Role=GenericRole/Capability=NULL attribute : /gilda/Role=NULL/Capability=NULL attribute : /gilda/generic-users/Role=NULL/Capability=NULL timeleft : 11:59:36