X.500 e LDAP Liane Tarouco X.500 • X.500 é um protocolo que especifica um modelo para a conexão de Serviços de Diretórios locais a fim de formar um diretório global distribuído Serviços X.500 • X.500 é especificado como um serviço da Camada de Aplicação no mundo OSI, porem o seu projeto não depende significativamente das outras camadas OSI, e ele pode ser visto como um projeto de um Serviço de Diretório de propósito geral. X.500 • O padrão X.500 define o Diretório como uma coleção de sistemas abertos que cooperam para manter uma base de dados lógica com informações sobre um conjunto de objetos do mundo real. • Os usuários do Diretório, incluindo pessoas e programas, podem ler e modificar as informações, ou parte dela, se tiverem permissão para isto Definições • Entrada - Uma entrada é o bloco básico de um banco de dados, ela guarda as informações sobre o objeto de interesse • Objetos - Objetos são associados com entidades do mundo real, sendo identificados pelo seu nome. • Classes de Objetos - Uma classe de objetos identifica objetos que possuem características similares, definindo as informações de interesse para estes objetos Definições • Atributos - Um atributo é um pedaço de informação que descreve algum aspecto de uma entrada • Nomes - Um nome simplesmente denota um objeto, descrevendo o objeto, com o objetivo de tornar mais fácil para as pessoas lembrarem-se deles Definições • Endereço - Um endereço indica a localização de um objeto dentro do Diretório • Rota - Uma rota indica como chegar a um determinado endereço através da estrutura do Diretório Nome distinto • Cada entrada no Diretório X.500 descreve um objeto (uma pessoa, uma rede), que tem um identificador único chamado ND Nome Distinto. • Uma entrada consiste de uma coleção de atributos, sendo que, para uma pessoa, estes atributos podem ser nome, endereço, e-mail, etc. Nomes • Em qualquer discussão sobre nomeação, é importante distinguir entre três conceitos: – um nome denota um objeto; – um endereço indica onde o objeto esta; – uma rota diz como chegar lá. Nomes • A X.500 especifica parcialmente regras para a estrutura dos nomes e os valores que estes nomes ou partes deles podem assumir. Características dos nomes • Eles têm uma ou mais partes denominadas atributos • As partes de um nome têm um relacionamento hierárquico. •A autoridade para atribuir nomes pode ser delegada em qualquer nível de hierarquia Características dos nomes • As regras que governam a definição exata de um nome (os atributos que são usados e os valores que os atributos podem assumir) podem variar em diferentes partes de espaços de nomes. • Todos os objetos que compartilham o mesmo no parental têm nomes distintos relativos diferentes. • Um nome distinto relativo (NDR) é composto de um ou mais atributos associados com o arco do pai para o filho ADI - Árvore de Informação de Diretório As entradas na BID são organizadas em forma de árvore e esta estrutura é denominada Árvore de Informações do Diretório (AID). • Os vértices da árvore representam as entradas. As entradas de mais alta ordem (próximas da raiz) usualmente representam objetos tais como países ou organizações enquanto que entradas de menor ordem representam pessoas ou processos de aplicação. { Country = Brasil, Organization = Empresa Geral de Acessorios, {Division = Auditoria, Estado = RS}, NomePessoal = Francisco Guedes}. O nome distinto que e um pseudonimo para Francisco é: { Country = Brasil, Estado = SP, Organization = Empresa Geral de Acessorios Division = Auditoria, NomePessoal = Francisco Guedes}. Recomendações série X.500 • A série de recomendações X.500 define regras para dar nome a objetos, uma BID Base de Informações de Diretório lógica para guardar informações sobre estes objetos e as entidades de protocolo que cooperam para prover o Serviço de Diretórios. Atributos • A X.520 definiu onze grupos de tipos de atributos: • • • • • Sistema Rotulação Geográficos Organizacionais Explanatórios • • • • • • Endereçamento postal Telecomunicações Preferência Aplicação OSI Relacional Segurança Sistema • Tipos de atributos de sistema denotam a classe de um objeto, um pseudônimo de um objeto, se existe, e uma descrição legível por seres humanos do conhecimento armazenado por um específico ASD (conhecimento de como a BID e distribuída entre os ASDs). Rotulação • Tipos de atributo de rotulação são cadeias de caracteres que as pessoas associam com os objetos. • Exemplos disso incluem nomes comum, tais como "Joao Silva" ou "Modem de Alta Velocidade" ou números seriais. Geográfico • Tipos de atributos geográficos associam uma regiao ou posição geográfica com um objeto. Exemplos incluem país, estado e localidade. Organizacionais • Tipos de atributos organizacionais identificam a organização em que o objeto e afiliado e o papel do objeto naquela organização tal como nome da organização e cargo. Explanatório • Tipos de atributos explanatório fornecem auxílio ao usuário de Diretório. • Por exemplo eles podem descrever o objetivo de um objeto, sugerir critério de pesquisa que pode ser útil numa sub-árvore ou dar a ocupação de uma pessoa. Endereçamento postal • Tipos de atributo de endereçamento postal especificam a informação requerida para a entrega física de um objeto tal como um nome de rua ou uma caixa postal. Telecomunicações • Tipos de atributos de telecomunicações associam um ou mais endereços eletrônicos com um objeto. Exemplos de tais endereços incluem números de telefones, números de telex números de teletex, números de facsimile, endereços X.121, endereços RDSI e informação de enderecamento usada para telegramas. Preferência • Tipos de atributos de preferência especificam a ordem prioritária de escolha do método a ser usado na tentativa de comunicar-se com o objeto (por exemplo correio eletrônico, telefone). Aplicação OSI • Tipos de atributo de aplicação OSI armazenam o endereço de apresentação e o contexto de aplicação de uma entidade de aplicação OSI. Relacional • Tipos de atributo relacional implementam o conceito de grupos e relacionamentos no Diretório. • Exemplos desses atributos incluem membro, proprietário, papel e "veja outros". • Note que o Diretório não inclui mecanismos explícitos para manter a consistência desta informação. Segurança • Tipos de atributo de segurança suportam mecanismos de autenticação que podem ser usados pelo Diretório. Exemplos deste atributo incluem palavra-senha e certificações. Protocolos • Existem dois protocolos usados pelo Diretório. – O Protocolo de Acesso ao Diretório (PAD) é usado em interações entre um AUD e um ASD. – Protocolo do Sistema de Diretórios (PSD) é usado em interações entre dois ASD Procedimentos • O AUD interage com o Diretório comunicando-se com um ou mais ASDs. • Um AUD não precisa estar ligado a nenhum ASD em particular. • Ele pode interagir diretamente com vários ASDs para fazer pedidos. Atendimento AUD • Se o ASD pode atender o pedido do AUD por si mesmo, ele toma toda a atitude apropriada fornecendo ao AUD informação de sua BIDBase de Informações de Diretório. • Se não tiver a informação solicitada pode ocorrer uma das seguintes situações: – Encadear – Disseminar – Sugerir Encadear • O ASD pode encadear o pedido passando-o para outro ASD. • O segundo ASD responderia ao primeiro ASD, não ao AUD. O encadeamento pode ser efetuado recursivamente. Disseminar • O ASD pode disseminar o pedido a dois ou mais ASDs para resolução concorrente. • O primeiro ASD coleta todas as respostas antes de responder ao AUD. • A disseminação pode ser considerada como uma forma de encadeamento. Ela pode ser efetivada recursivamente. Sugerir • O ASD pode retornar ao AUD uma sugestão de um outro ASD que possa atender o pedido. • Isto é, o primeiro ASD da o nome do segundo ASD para o AUD. • O AUD então pergunta ao segundo ASD o que deseja. Operações do DSP • Leitura Encadeada - permite o encadeamento de operações de leitura, comparação e abandono. • Pesquisa Encadeada - permite o encadeamento das operações de listagem e pesquisa. • Modificação Encadeada - permite o encadeamento das operações de acréscimo, exclusão e modificação de entradas e modificação de NDR. Protocolos X.500 Protocolos X.500 ROSE Operações remotas ACSE Conectar e desconectar Serviços • conexão ao diretório • interrogação do diretório • modificação do diretório Limites no uso dos recursos • Controle são providos em, entre outras coisas: – – – – – quantidade de tempo tamanho dos resultados escopo da pesquisa modos de interação prioridade do pedido • Mecanismos de segurança para proteger as informações do Diretório. Filtros • Pedidos que envolvam informações sobre ou envolvendo diversa entradas podem carregar junto um filtro • Um filtro expressa uma ou mais condições que uma entrada deve satisfazer para ser retornada como parte do resultado. Isto permite reduzir o conjunto de entradas retornadas para somente aquelas de interesse relevante. Conexão e Desconexão (Binding e Unbinding) • As operações de conexão e desconexão são as primeiras e as últimas numa série de operações que um AUD invoca num ASD. • Elas governam o relacionamento operacional entre um AUD e um ASD. • A ligação prove um meio para um AUD se identificar a um ASD e vice-versa. • O desligar e usado por um AUD para assinalar o fim de uma série de operações. Operações de Leitura • Duas operações ler (READ) e comparar (COMPARE) são usadas para examinar a informação associada com uma entrada de objeto particular. • Ler é usado para extrair informação de uma particular entrada ou para verificar um nome único e distinto. • Comparar e similar a ler exceto que o AUD fornece informação para o ASD comparar Operações de Pesquisa • Duas operações, listar (LIST) e pesquisar (SEARCH) podem retornar informações sobre múltiplos objetos. • Dada uma particular entrada na AID-Árvore de Informações de Diretório, a operação de listar retorna os nomes distintos relativos de suas entradas subordinadas. • Dado um conjunto de critérios de seleção, pequisar identifica as entradas de interesse numa sub-árvore na AID e retorna a informação extraída dessas entradas. Operações de Modificação • Três Operações são usadas para manter a informação armazenada nos nodos folhas da AID: – adicionar (add) – remover (remove) – modificar (modify). • Controles de acesso sobre adicionar, remover e modificar são decisões a cargo do implementador. Operação de Abandono • Abandono (abandon) pode ser invocado por um AUD - Agente de Usuário de Diretório, após uma operação anteriormente invocada, para dizer ao ASD que não há mais interesse nos resultados da mesma. • Deve-se notar que o abandono não necessariamente cancela a operação. • Cancelar a operação poderia ser difícil de efetuar, dada a natureza distribuída do Diretório. LDAP • Lightweight Directory Access Protocol (LDAP) – subconjunto do X.500 DAP sem o overhead do ASN.1 ou da pilha OSI – Destinado a rodar em qualquer destop • Roda sobre TCP • Pode ser usado para acessar um servidor LDAP independente ou um servidor X.500 indiretamente, via servidor LDAP Versões LDAP • 1993 primeira versão • 1996 LDAPv2 • 1997 LDAP v3