Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.

Autenticação Kerberos (GSSAPI)

O mecanismo de autenticação da API de serviços de segurança genérica (GSSAPI) permite que você autentique em um serviço Kerberos especificando seu nome principal do Kerberos.

Observação

Terminologia

A página usa GSSAPI ao se referir ao mecanismo de autenticação e Kerberos ao se referir ao protocolo ou serviço subjacente. O driver autentica usando o mecanismo SASL GSSAPI RFC-4752, que é criado sobre o protocolo Kerberos.

As seções a seguir contêm exemplos de código que usam os seguintes valores de espaço reservado:

  • <username>: Seu nome principal codificado para URL, como "username%40REALM.ME"

  • <hostname>: O endereço de rede da sua implantação do MongoDB , acessível pelo seu cliente

  • <port>: O número da porta da sua implantação do MongoDB

Selecione a aba Connection String ou MongoCredential abaixo para obter instruções e amostras de código para especificar este mecanismo de autenticação:

O exemplo a seguir autentica no GSSAPI usando uma string de conexão:

MongoClient mongoClient = MongoClients .create("<username>@<hostname>:<port>/?authSource=$external&authMechanism=GSSAPI");

Para adquirir um ticket Kerberos, as bibliotecas GSSAPI Java exigem que você especifique as propriedades do sistema JVM Realm e Key Distribution Center (KDC). O exemplo a seguir mostra como definir essas propriedades:

java.security.krb5.realm=MYREALM.MEjava.security.krb5.kdc=mykdc.myrealm.me

Talvez seja necessário especificar uma ou mais das seguintes propriedades adicionais do mecanismo de autenticação, dependendo da configuração do Kerberos:

  • SERVICE_NAME

  • CANONICALIZE_HOST_NAME

  • JAVA_SUBJECT

  • JAVA_SASL_CLIENT_PROPERTIES

  • JAVA_SUBJECT_PROVIDER

Selecione a aba Connection String ou MongoCredential abaixo para obter instruções e amostras de código para especificar estas propriedades:

Para especificar as propriedades adicionais do GSSAPI, inclua a propriedade na string de conexão como um parâmetro de URL no formato <PROPERTY_NAME>:<value>.

O exemplo a seguir autentica para GSSAPI e especifica a propriedade SERVICE_NAME:

MongoClient mongoClient = MongoClients .create("<username>@<hostname>:<port>/?authSource=$external&authMechanism=GSSAPI&authMechanismProperties=SERVICE_NAME:myService");

Importante

Você pode especificar as seguintes propriedades GSSAPI somente em uma instância MongoCredential:

  • JAVA_SUBJECT

  • JAVA_SASL_CLIENT_PROPERTIES

  • JAVA_SUBJECT_PROVIDER

Selecione a guia MongoCredential para saber como especificar estas propriedades.

Por padrão, o driver Java Reactive Streams armazena em cache os tickets Kerberos pela instância MongoClient que os criou. Se sua implantação criar e destruir instâncias MongoClient com frequência, você poderá melhorar o desempenho alterando o comportamento padrão de cache de tickets Kerberos para cache por processo.

Importante

Você deve usar a classe MongoCredential para alterar o comportamento de cache padrão, porque o mecanismo de autenticação da string de conexão não oferece suporte à propriedade de mecanismo JAVA_SUBJECT_PROVIDER.

Para armazenar em cache tickets Kerberos por processo, especifique a propriedade de mecanismo JAVA_SUBJECT_PROVIDER e forneça um KerberosSubjectProvider em sua instância MongoCredential, conforme mostrado no exemplo a seguir:

/* All MongoClient instances sharing this instance of KerberosSubjectProviderwill share a Kerberos ticket cache */String myLoginContext = "myContext";MongoCredential credential = MongoCredential .createGSSAPICredential("<username>"); /* Login context defaults to "com.sun.security.jgss.krb5.initiate"if unspecified in KerberosSubjectProvider */credential = credential .withMechanismProperty(MongoCredential.JAVA_SUBJECT_PROVIDER_KEY, new KerberosSubjectProvider(myLoginContext));

Observação

No Windows, o JRE da Oracle usa Autoridade de Segurança Local (LSA) em vez de Interface do provedor de suporte de segurança (SSPI) em sua implementação de GSSAPI. Isso limita a interoperabilidade com o Windows Active Directory e a implementação de logon único. Para saber mais, consulte os seguintes recursos:

Para saber mais sobre autenticação no MongoDB, consulte Autenticação no manual do MongoDB Server .

Para saber mais sobre como criar um objeto MongoClient usando o driver Java Reactive Streams, consulte o guia Conectar ao MongoDB.

Para saber mais sobre as aulas e os métodos mencionados neste guia, consulte a seguinte documentação da API: