Clase: Mongo::Crypt::KMS::Azure::Credentials Private

Hereda:
Objeto
  • Objeto
Mostrar todo
Ampliado por:
Reenviable
Incluye:
Validaciones
Definido en:
lib/mongo/crypt/kms/azure/credentials.rb

Overview

Esta clase forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

El objeto Credenciales de Azure KMS contiene credenciales para usar el proveedor de Azure KMS.

Colapso delresumen constante

SUGERENCIA_DE_FORMATO =

Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

'Las opciones del proveedor de Azure KMS deben tener el formato: \ { tenant_id: "TENANT-ID", client_id: "TENANT_ID", client_secret: "CLIENT_SECRET" }'

Colapso delresumen de atributos de instancia

Colapso del resumen del método de instancia

Métodos incluidos de Validaciones

#validate_param, validate_tls_options

Detalles del constructor

#inicializar(opciones) ⇒ Credenciales

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Crea un objeto de credenciales de Azure KMS a partir de un hash de parámetros.

Parámetros:

  • opta (Hash)

    Un hash que contiene credenciales para el proveedor de Azure KMS

Opciones Hash (opts):

  • :id_del_inquilino (Cadena)

    Azure tenant id.

  • :id_del_cliente (Cadena)

    Identificador de cliente de Azure.

  • :secreto_del_cliente (Cadena)

    Secreto de cliente de Azure.

  • :punto final de la plataforma de identidad (String | nil)

    Punto de conexión de la plataforma de identidad de Azure, opcional.

Aumentos:

  • (ArgumentError)

    Si faltan las opciones requeridas o están formateadas incorrectamente.



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Archivo 'lib/mongo/crypt/kms/azure/credentials.rb', línea 61

def inicializar(opta)
  @opts = opta
  return Si ¿vacío?

  Si opta[:token de acceso]
    @access_token = opta[:token de acceso]
  else
    @id_inquilino = validate_param(:id_del_inquilino, opta, SUGERENCIA DE FORMATO)
    @id_del_cliente = validate_param(:id_del_cliente, opta, SUGERENCIA DE FORMATO)
    @secreto_del_cliente = validate_param(:secreto_del_cliente, opta, SUGERENCIA DE FORMATO)
    @punto final de la plataforma de identidad = validate_param(
      :punto final de la plataforma de identidad, opta, SUGERENCIA DE FORMATO, requerido: false
    )
  end
end

Detalles de los atributos de instancia

#access_tokenString | nil (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el token de acceso de Azure.

Devuelve:

  • ( Cadena| nulo ) —

    Token de acceso de Azure.



41
42
43
# Archivo 'lib/mongo/crypt/kms/azure/credentials.rb', línea 41

def token de acceso
  @access_token
end

#client_idCadena (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el identificador de cliente de Azure.

Devuelve:

  • (Cadena) -

    Identificador de cliente de Azure.



32
33
34
# Archivo 'lib/mongo/crypt/kms/azure/credentials.rb', línea 32

def client_id
  @id_del_cliente
end

#client_secretString (sólo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el secreto de cliente de Azure.

Devuelve:

  • (Cadena) -

    Secreto de cliente de Azure.



35
36
37
# Archivo 'lib/mongo/crypt/kms/azure/credentials.rb', línea 35

def client_secret
  @secreto_del_cliente
end

#identity_platform_endpointString | nulo (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el endpoint de la plataforma de identidad de Azure.

Devuelve:

  • ( Cadena| nulo ) —

    Punto de conexión de la plataforma de identidad de Azure.



38
39
40
# Archivo 'lib/mongo/crypt/kms/azure/credentials.rb', línea 38

def punto final de la plataforma de identidad
  @punto final de la plataforma de identidad
end

#tenant_idCadena (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el identificador del inquilino de Azure.

Devuelve:

  • (Cadena) -

    Azure tenant id.



29
30
31
# Archivo 'lib/mongo/crypt/kms/azure/credentials.rb', línea 29

def id_del_inquilino
  @id_inquilino
end

Detalles del método de instancia

#to_documentBSON::Document

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Convierte el objeto de credenciales en un documento BSON en formato libmongocrypt.

Devuelve:

  • (BSON::Documento)

    Credenciales de Azure KMS en formato libmongocrypt.



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Archivo 'lib/mongo/crypt/kms/azure/credentials.rb', línea 80

def al_documento
  return BSON::Documento.Nuevo Si ¿vacío?

  Si token de acceso
    BSON::Documento.Nuevo({ accessToken: token de acceso })
  else
    BSON::Documento.Nuevo(
      {
        ID de inquilino: @id_inquilino,
        ID de cliente: @id_del_cliente,
        clientSecret: @secreto_del_cliente
      }
    ).grifo hacer |BSON|
      a no ser que punto final de la plataforma de identidad.nil?
        BSON.update({ Punto final de la plataforma de identidad: punto final de la plataforma de identidad })
      end
    end
  end
end