EGEE-III INFSO-RI-222667 Enabling Grids for E-sciencE www.eu-egee.org EGEE and gLite are registered trademarks Proxy Management with the gLite API Virginia.

Slides:



Advertisements
Presentaciones similares
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Advertisements

E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Prácticas Autorización y Autenticación Juan.
Características Generales y Entornos de Desarrollo
El mecanismo básico de interacción entre el usuario y un sitio web esta dado por el uso de formularios html. El server envía un formulario que el browser.
Configurar un curso (Función del profesor) Editar el nombre, el nombre corto y el informe (que se muestra en la portada) Escoger la formato del curso y.
Jorge de Nova Segundo UD4: Instalación y administración de servicios Web Seguridad del protocolo HTTP.
Jorge de Nova Segundo UD 6:
BASE DE DATOS OBJETO RELACIONAL
Curso de Seguridad Informática
Cetis No. 119 Profa. Graciela Prado Becerra
Implementación de procedimientos almacenados. Introducción a los procedimientos almacenados Creación, ejecución, modificación y eliminación de procedimientos.
Proyecto e-CA: Organización Virtual y Testbed Susana Sánchez Expósito José Ruedas Sánchez II Reunión de e-Ciencia Andaluza 16-17, Octubre 2008.
Multiplique su productividad con el uso de Tablas en AutoCAD®
CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho.
• SQL Server Integration Services SSIS
Especialista en Business Intelligence Integration Services SSIS (Sesión 5) Microsoft SQL Server 2008 R2 (Nov.2013) Suscribase a o.
SQL Server Integration Services SSIS
• SQL Server Integration Services SSIS
Presentación Asignatura POF030 Semana 1. Contenido En forma general, los conceptos que se estudiarán en la asignatura son: – Procedures – Functions –
OBJETO REQUEST. El objeto Request Por qué el objeto request Funcionamiento Colecciones: – Transferencia de variables por URL –Transferencia de variables.
• SQL Server Integration Services SSIS
Programación por capas: Capa de Clases
Programación Orientada a Objetos en Java
Servidor de Batalla Naval.
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
JSP COOKIES. cookies  Las cookies son datos guardados por los navegadores a instancias del servidor.  Los sitios Web las utilizan con propósitos diversos:
Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
PL/SQL Francisco Moreno Universidad Nacional.
SQL SERVER APLICADO (SSA010) Ariel Alexis Fierro Sáez DuocUC.
If anidados y Switch Prof. Lillian Bras.
Especialista en Business Intelligence Integration Services SSIS Transformaciones (Parte 2) Microsoft SQL Server 2008 R2 Suscribase a
El lenguaje de programación Java

Patrones Creacionales
Aprenda MySQL en 120 minutos Tutorial. Dirigido a...
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
1 Web Services. 2 Definición de XML Web Services Los servicios XML Web Services son los elementos fundamentales en la evolución hacia la computación distribuida.
Servlets Servlets son módulos que extienden a servidores orientados a request/response, como por ejemplo Servidores Web “java-enabled”. Un servlet puede.
Cuentas de usuarios y grupos en windows 2008 server
Programación Orientada a Objetos
Teoría de Sistemas Operativos Sistemas Archivos de Red
Al igual que un equipo no puede trabajar sin un sistema operativo, una red de equipos no puede funcionar sin un sistema operativo de red. Si no se dispone.
PROCEDIMIENTOS ALMACENADOS Es una consulta almacenada en la base de datos en un servidor. Los P.A. Mejoran el Rendimiento Disminuyen el tráfico. Los P.A.
Confidential // Neoris 1 Confidential // Do Not Reproduce without prior written permission from Neoris Servlets.
¿QUE SON LAS ACTUALIZACIONES?  Las actualizaciones son adiciones al software que pueden evitar problemas o corregirlos, mejorar el funcionamiento del.
Gestión de sistemas operativos de red
Las variables de entorno forman un conjunto de valores dinámicos que normalmente afectan el comportamiento de los procesos en una computadora.
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
Taller de Inteligencia de Negocios SQL Server Integration Services SSIS Semana 2.
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo Uso de Procedimiento y Funciones Conceptos básicos.
• SQL Server Integration Services SSIS
• SQL Server Integration Services SSIS
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
18/02/2016Diego Alberto Rincón Yáñez, Pontificia Universidad Javeriana, 1.
Notario electrónico Consejería de Justicia y Administración Pública Dirección General de Organización, Inspección y Calidad de los Servicios Antonio Pedro.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Guía rápida de instalación de Sakai Dr. David Roldán Martínez ASIC, Universidad Politécnica de Valencia.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Architecture of the gLite Data Management.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks The gLite Information System Virginia Martín-Rubio.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Introducción al Middleware gLite Antonio.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Diseño de tipos: clase PolinomioEntero Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 8 Versión
Taller de Inteligencia de Negocios SQL Server Integration Services SSIS Sesión 2.
Hands on Security, Authentication and Authorization Virginia Martín-Rubio Pascual RedIRIS/Red.es Curso Grid y e-Ciencia.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Architecture of the gLite Data Management.
The gLite Information System
The gLite Information System
Transcripción de la presentación:

EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Proxy Management with the gLite API Virginia Martín-Rubio Pascual RedIRIS gLite tutorial for users and applications developers de Octubre de 2009 Madrid

Enabling Grids for E-sciencE EGEE-III INFSO-RI Planning 1.Introducción 2.Descripción del API 1.Estructuras 2.Variables 3.Funciones más importantes 3.Ejemplo publicado en el wiki de GILDA 1.Compilación del ejemplo 2.Ejecución del ejemplo Introducción a gLite

Enabling Grids for E-sciencE EGEE-III INFSO-RI Introducción (1/2) -El API para la gestión del VOMS está disponible tanto para C como para C++. Los paquetes que lo proporcionan son: glite-security-voms-api-c.x.y.z glite-security-voms-api-cpp.x.y.z -Este API permite realizar las siguientes funciones: Buscar información contenida en un VOMS proxy. Contactar con el servidor VOMS y obtener las extensiones VOMS. Pero entre las funciones de este API no se encuentra la de crear un proxy que incluya unas determinadas extensiones VOMS.

Enabling Grids for E-sciencE EGEE-III INFSO-RI Introducción (2/2) VOMS CC API Documentation by doxygen: wm/voms/VOMS_CC_API/html/index.html Guía para desarrolladores sobre el API de C++ para VOMS: VOMS C++ API (wiki de GILDA, ejemplos):

Enabling Grids for E-sciencE EGEE-III INFSO-RI Estructuras de datos Struct data: contiene los datos sobre un único atributo, almacenando sus especificaciones en términos de: groups, roles y capabilities. -group: tiene el formato /nombreVO/nombreGrupo. -role: indica si el usuario tiene algún papel especial dentro del grupo, de no ser así su valor sería NULL. -capabilities: capacidades que tiene el usuario por el hecho de pertenecer a un grupo y por tener un rol determinado, si no tiene ningún rol su valor sería NULL. Struct contactdata: muestra la información que utiliza el cliente (UI) para contactar con el servidor VOMS. -host: nombre del servidor VOMS. -contact: asunto del certificado del servidor VOMS. -port: puerto del servidor VOMS en el que este está escuchando. -vo: nombre de la VO a la que está sirviendo el servidor VOMS.

Enabling Grids for E-sciencE EGEE-III INFSO-RI Estructuras de datos Struct voms: agrupa conjuntamente toda la información que puede ser recogida en un único AC (Attribute Certificate). Se pueden modificar localmente sus campos públicos sin alterar el contenido del correspondiente AC que es de ámbito privado. Datos públicos: -user: DN del usuario que aparece en su certificado. -userca: nombre de la Autoridad Certificadora que ha emitido el certificado de usuario. -server: DN del servidor VOMS según aparece en su certificado. -voname: nombre de la VO a la que pertenecen este AC. -uri: URI del seridor VOMS en el formato fqdn:puerto. -date1, date2: fechas de inicio y de fin de vida del VOMS proxy. -std: contiene una estructura data (group, role, capabilities). Datos privados: -AC ac ; -X509 holder ; NOTA: Debido a que un usuario puede pertenecer a varias VOs a la vez, se definirá un vector de estas estructuras de datos para almacenar tantos ACs como VOs a las que pertenezca el usuario.

Enabling Grids for E-sciencE EGEE-III INFSO-RI Clase vomsdata Struct vomsdata: recoge en un mismo lugar toda la información presente en una extensión VOMS. Datos públicos: -vector data: vector de estructuras voms, en cada una de ellas estará almacenada la información sobre las credenciales VOMS de cada VO a la que pertenezca el usuario. -workvo: nombre de la VO con la que se ha iniciado el VOMS proxy (voms-proxy-init --vo nombreVO). FUNCIONES: -bool vomsdata::LoadSystemContacts(std::string dir= “”): carga los URIs de los servidores VOMS almacenados en el directorio indicado como parámetro en el vomsdata. -std::vector FindByVO(std::string vo): devuelve un vector con los servidores VOMS que sirven a una determinada VO. -void vomsdata::SetLifetime (int lifetime): establece un tiempo de vida para el certificado (que posteriormente se obtendrá con Contact). -bool Contact(std::string hostname, int port, std::string servsubject, std::string command): contacta con un servidor VOMS para obtener un certificado (equivalente a voms-proxy-init). -bool vomsdata::ContactRaw ( std::string hostname, int port, std::string servsubject, std::string command, std::string &raw, int &version): igual que Contact pero sin iniciar un proceso de verificación del certificado recibido. -cbool vomsdata::Retrieve(X509 *cert, STACK OF(X509) *chain, recurse type how = RECURSE CHAIN): extrae las extensiones VOMS de un certificado pasado como parámetro.

Enabling Grids for E-sciencE EGEE-III INFSO-RI Funciones AddTarget() : vomsdatavomsdata Contact() : vomsdatavomsdata ContactRaw() : vomsdatavomsdata DefaultData() : vomsdatavomsdata Export() : vomsdatavomsdata FindByAlias() : vomsdatavomsdata FindByVO() : vomsdatavomsdata Import() : vomsdatavomsdata ListTargets() : vomsdatavomsdata LoadSystemContacts() : vomsdatavomsdata LoadUserContacts() : vomsdatavomsdata operator=() : vomsvoms Order() : vomsdatavomsdata ResetOrder() : vomsdatavomsdata ResetTargets() : vomsdatavomsdata Retrieve() : vomsdatavomsdata ServerErrors() : vomsdatavomsdata SetLifetime() : vomsdatavomsdata SetVerificationType() : vomsdatavomsdata voms() : vomsvoms vomsdata() : vomsdata, vomsvomsdatavoms voms() : vomsvoms

Enabling Grids for E-sciencE EGEE-III INFSO-RI Variables cap : datadata contact : contactdatacontactdata custom : vomsvoms data : vomsdatavomsdata date1 : vomsvoms date2 : vomsvoms error : vomsdatavomsdata extra_data : vomsdatavomsdata fqan : vomsvoms group : datadata host : contactdatacontactdata nick : contactdatacontactdata port : contactdatacontactdata role : datadata serial : vomsvoms server : vomsvoms serverca : vomsvoms siglen : vomsvoms signature : vomsvoms std : vomsvoms type : vomsvoms uri : vomsvoms user : vomsvoms userca : vomsvoms version : voms, contactdatavomscontactdata vo : contactdatacontactdata voname : vomsvoms workvo : vomsdatavomsdata

Enabling Grids for E-sciencE EGEE-III INFSO-RI EJEMPLOS DEL WIKI DE GILDA:

Enabling Grids for E-sciencE EGEE-III INFSO-RI Ejemplos del API C++ para VOMS 1. Comprobar que está el paquete instalado: ~]$ rpm -qa | grep -i glite-security-voms-api glite-security-voms-api-c slc4.i386 glite-security-voms-api-cpp slc4.i386 glite-security-voms-api-noglobus slc4.i386 glite-security-voms-api slc4.i Descargar el paquete de ejemplos: ~]$ wget 3. Descomprimir el paquete de ejemplos: ~]$ tar -xzf voms-api-examples.tar.gz 4. Entrar en el directorio creado: ~]$cd /home/madrid03/voms-API 5. Ejecutar script de inicialización de variables de entorno: voms-API]$./set-env-vomsapi.sh 6. Compilar ejemplos: voms-API]$ make

Enabling Grids for E-sciencE EGEE-III INFSO-RI Ejemplos del API C++ para VOMS -Browse Attribute Certificates (AC): (mirar voms-show-ext.cpp) voms-API]$./voms-api-show-ext Used proxy is /tmp/x509up_u Attribute Certificate retrieved from proxy /tmp/x509up_u12306 ************************************************************************* Belonging vo is gilda Server subject is /C=IT/O=INFN/OU=Host/L=Catania/CN=voms.ct.infn.it User subject is /C=IT/O=GILDA/OU=Personal Certificate/L=MADRID/CN=MADRID03 2 sets of attributes retrieved from this AC group is /gilda role is NULL group is /gilda/generic-users role is NULL *************************************************************************

Enabling Grids for E-sciencE EGEE-III INFSO-RI Ejemplos del API C++ para VOMS -Create a proxy with VOMS extensions: (mirar voms-create-proxy.cpp) voms-API]$./voms-api-create-proxy gilda Proxy file is /tmp/x509up_u504 Initializing proxy credential descriptor... Enter CERTIFICATE pass phrase: Private key succesfully loaded PCD correctly initialized Creating temporary proxy to contact VOMS server... X509_USER_PROXY succesfully set to /tmp/x509up_u504 System contacts loaded Voms server voms.ct.infn.it successfully contacted trying to put obtained AC into proxy VOMS Proxy successfully created !! End test