Clase: Mongo::Crypt::KMS::GCP::Credentials Privada
- Hereda:
-
Objeto
- Objeto
- Mongo::Crypt::KMS::GCP::Credenciales
- Ampliado por:
- Reenviable
- Incluye:
- Validaciones
- Definido en:
- lib/mongo/crypt/kms/gcp/credenciales.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 administración de claves de GCP Cloud contiene credenciales para usar el proveedor KMS de GCP.
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.
"Lasopciones del proveedor GCP KMS deben tener elformato:" + "{ email: 'EMAIL', private_key: 'PRIVATE-KEY' }"
Colapso delresumen de atributos de instancia
-
#access_token ⇒ String | nil
solo lectura
privada
GCP access token.
-
#correo electrónico ⇒ Cadena
solo lectura
privada
Correo electrónico de GCP para autenticarse.
-
#endpoint ⇒ String | nil
solo lectura
privada
Punto final de GCP KMS.
-
#clave_privada ⇒ Cadena
solo lectura
privada
Clave privada de GCP, formato DER codificado en base64.
Colapso del resumen del método de instancia
-
#inicializar(opciones) ⇒ Credenciales
constructor
privada
Crea un objeto de credenciales de GCP KMS a partir de un hash de parámetros.
-
#to_document ⇒ BSON::Document
privada
Convierte el objeto de credenciales en un documento BSON en formato libmongocrypt.
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 GCP KMS a partir de un hash de parámetros.
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# Archivo 'lib/mongo/crypt/kms/gcp/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 @correo electrónico = validate_param(:correo electrónico, opta, SUGERENCIA DE FORMATO) @clave_privada = begin opción de clave privada = validate_param(:private_key, opta, SUGERENCIA DE FORMATO) Si BSON::Entorno.jruby? # Realmente no podemos validar la clave privada en JRuby, por lo que asumimos # está en formato DER codificado en base64. opción de clave privada else # Verifique si la clave privada está en formato PEM. pkey = OpenSSL::PKey::RSA.Nuevo(opción de clave privada) # Es PEM y debe convertirse en DER codificado en base64. der = Si pkey.respond_to?(:private_to_der) pkey.private_to_der else pkey.to_der end Base64.encode64(der) end rescate OpenSSL::PKey::Error RSAE # Verifique si la clave privada está en DER. begin OpenSSL::PKey.Lea(Base64.decodificar64(opción de clave privada)) # La clave privada está bien, úsala. opción de clave privada rescate OpenSSL::PKey::PKeyError propagar ArgumentError.Nuevo( "Laopción private_key debe estar64 en formato DER codificado en base o en formato PEM." ) end end @punto final = validate_param( :punto final, opta, SUGERENCIA DE FORMATO, requerido: false ) end end |
Detalles de los atributos de instancia
#access_token ⇒ String | 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.
Returns GCP access token.
40 41 42 |
# Archivo 'lib/mongo/crypt/kms/gcp/credentials.rb', línea 40 def token de acceso @access_token end |
#correo electrónico ⇒ Cadena (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 correo electrónico de GCP para autenticarse.
31 32 33 |
# Archivo 'lib/mongo/crypt/kms/gcp/credentials.rb', línea 31 def correo electrónico @correo electrónico end |
#punto final ⇒ Cadena | 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 punto final de GCP KMS.
37 38 39 |
# Archivo 'lib/mongo/crypt/kms/gcp/credentials.rb', línea 37 def punto final @punto final end |
#clave_privada ⇒ Cadena (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 la clave privada de GCP, en formato DER codificado en base64.
34 35 36 |
# Archivo 'lib/mongo/crypt/kms/gcp/credentials.rb', línea 34 def private_key @clave_privada end |
Detalles del método de instancia
#to_document ⇒ BSON::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.
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
# Archivo 'lib/mongo/crypt/kms/gcp/credentials.rb', línea 108 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({ Correo electrónico: correo electrónico, clave privada: BSON::Binario.Nuevo(private_key, :generic), }).grifo hacer |BSON| a no ser que punto final.nil? BSON.update({ punto final: punto final }) end end end end |