Menu Docs
Página inicial do Docs
/ / /
C#/.NET
/ /

Kerberos (GSSAPI)

Nesta página

  • Visão geral
  • Espaços reservados de código
  • Usando a autenticação GSSAPI em seu aplicativo
  • Propriedades adicionais
  • Documentação da API

O mecanismo de autenticação da API de serviços de segurança genérica (GSSAPI) permite que você use seu nome principal para autenticar em um serviço Kerberos. Você pode usar esse mecanismo somente ao autenticar para Enterprise Advanced.

Os exemplos de código nesta página usam os seguintes espaços reservados:

  • <username>: seu nome principalcodificado para URL. Por exemplo: "username%40REALM.ME"

  • <password>: A senha de usuário do Kerberos.

  • <hostname>: O endereço de rede da sua implantação MongoDB .

  • <port>: o número da porta da sua implantação do MongoDB . Se você omitir este parâmetro, o driver utilizará o número de porta padrão (27017).

Para usar os exemplos de código nesta página, substitua esses espaços reservados por seus próprios valores.

Você pode especificar o mecanismo de autenticação GSSAPI e fornecer suas credenciais Kerberos usando um objeto MongoCredential ou como parte da string de conexão. Selecione a aba Connection String ou MongoCredential para ver a sintaxe correspondente:

var mongoClient = new MongoClient(
"mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

Dica

Omissão da Senha

Você pode omitir o parâmetro de senha se alguma das seguintes afirmações for verdadeira:

  • No Windows, o proprietário do processo que executa o aplicativo é o mesmo que o usuário que precisa de autenticação.

  • No Linux, o usuário inicializou seu keytab via kinit username@REALM.COM.

Você pode incluir as seguintes opções de configuração GSSAPI em sua string de conexão ou em seu objeto MongoCredential.

O exemplo a seguir mostra como usar o servidor DNS para recuperar o nome de domínio totalmente qualificado do host:

var mongoClient = new MongoClient(
"mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI&" +
"authMechanismProperties=CANONICALIZE_HOSTNAME:true");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>");
credential = credential.WithMechanismProperty("CANONICALIZE_HOST_NAME", "true");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

O exemplo a seguir mostra como especificar o Realm do usuário quando ele é diferente do Realm do serviço . Substitua o espaço reservado <user's realm> pelo Realm do usuário Kerberos.

var mongoClient = new MongoClient(
"mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI&" +
"authMechanismProperties=SERVICE_REALM:<user's realm>");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>");
credential = credential.WithMechanismProperty("SERVICE_REALM", "<user's realm>");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

O exemplo a seguir mostra como especificar o nome do serviço quando ele não é o padrão mongodb. Substitua o espaço reservado <service name> pelo nome do serviço.

var mongoClient = new MongoClient(
"mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI&" +
"authMechanismProperties=SERVICE_NAME:<service name>");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>");
credential = credential.WithMechanismProperty("SERVICE_NAME", "<service name>");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

O exemplo a seguir mostra como especificar múltiplas propriedades do mecanismo de autenticação:

var mongoClient = new MongoClient(
"mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI&" +
"authMechanismProperties=SERVICE_NAME:<service name>,SERVICE_REALM:<user's realm>");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>");
credential = credential
.WithMechanismProperty("SERVICE_REALM", "<user's realm>")
.WithMechanismProperty("SERVICE_NAME", "<service name>");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

Para saber mais sobre qualquer um dos métodos ou tipos discutidos nesta página, consulte a seguinte documentação da API:

Voltar

LDAP (simples)