Clase: Mongo::Crypt::KMS::Azure::Credenciales Privadas

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

Overview

Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.

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

Resumen de constantes colapsar

SUGERENCIA DE FORMATO =

Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.

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

Resumen de atributos de la instancia colapsar

Resumen del método de instancia colapsar

Métodos incluidos en Validaciones

#validate_param, validate_tls_options

Detalles del Constructor

#initialize(opts) ⇒ Credenciales

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Crea un objeto de credenciales KMS de Azure a partir de una colección de parámetros.

Parámetros:

  • opciones (encriptada)

    Un hash que contiene credenciales para el proveedor de KMS de Azure

Opciones Hash (opts):

  • :tenant_id (string)

    Azure tenant id.

  • :client_id (string)

    Id. de cliente de Azure.

  • contraseña del cliente (string)

    Secreto del cliente de Azure.

  • Punto final de :identity_platform (String | nil)

    Punto final de la plataforma de identidad de Azure, opcional.

Aumenta:

  • (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(opciones)
  @opts = opciones
  return si ¿vacío?

  si opciones[:access_token]
    @access_token = opciones[:access_token]
  else
    @tenant_id = validate_param(:tenant_id, opciones, FORMAT_HINT)
    @client_id = validate_param(:client_id, opciones, FORMAT_HINT)
    @client_secret = validate_param(contraseña del cliente, opciones, FORMAT_HINT)
    @identity_platform_endpoint = validate_param(
      Punto final de :identity_platform, opciones, FORMAT_HINT, obligatorio: false
    )
  end
end

Detalles de atributo de instancias

#access_tokenString | nil (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve un token de acceso de Azure.

Devuelve:

  • (String | nil)

    Token de acceso de Azure.



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

def access_token
  @access_token
end

#client_idString (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el ID de cliente de Azure.

Devuelve:

  • (string)

    Id. de cliente de Azure.



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

def client_id
  @client_id
end

#client_secretString (sólo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el secreto de cliente de Azure.

Devuelve:

  • (string)

    Secreto del cliente de Azure.



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

def client_secret
  @client_secret
end

#identity_platform_endpointString | nil (sólo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el endpoint de la plataforma de identidad de Azure.

Devuelve:

  • (String | nil)

    Punto final de la plataforma de identidad de Azure.



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

def identity_platform_endpoint
  @identity_platform_endpoint
end

#tenant_idString (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el ID de inquilino de Azure.

Devuelve:

  • (string)

    Azure tenant id.



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

def tenant_id
  @tenant_id
end

Detalles del método de instancia

#to_documentBSON::Document

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Convierte el objeto credencial a un documento BSON en formato libmongocrypt.

Devuelve:

  • (BSON::Document)

    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 to_document
  return BSON::Documento.Nuevo si ¿vacío?

  si access_token
    BSON::Documento.Nuevo({ accessToken: access_token })
  else
    BSON::Documento.Nuevo(
      {
        tenantId: @tenant_id,
        clientId: @client_id,
        clientSecret: @client_secret
      }
    ).tocar hacer |BSON|
      a menos que identity_platform_endpoint.nil?
        BSON.update({ identityPlatformEndpoint: identity_platform_endpoint })
      end
    end
  end
end