Classe: Mongo::Crypt::KMS::GCP::Credentials Private
- Herda:
-
Objeto
- Objeto
- Mongo::Crypt::KMS::GCP::Credentials
- Estendido por:
- Encaminhável
- Inclui:
- Validações
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/credentials.rb
Visão geral
Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.
O objeto GCP Cloud Key Management Credentials contém credenciais para usar o provedor GCP KMS.
Colapsode resumo constante
- FORMAT_HINT =
Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.
"As opções do fornecedor GCP KMS devem estar no formato: " + "{ email: 'EMAIL', private_key: 'PRIVATE-KEY' }"
Recolhimento do Resumo do atributo de instância
-
#access_token ⇒ String | nil
Somente leitura
privado
Token de acesso GCP.
-
#email ➤ string
Somente leitura
privado
E-mail GCP para autenticação.
-
#endpoint ➤ string | nada
Somente leitura
privado
Ponto de extremidade GCP KMS.
-
#private_key ➤ string
Somente leitura
privado
Chave privada GCP, formato DER codificado de base64 .
Recolhimento do Resumo do método de instância
-
#initialize(opts) ➤ Credenciais
construtor
privado
Cria um objeto de credenciais GCP KMS de um hash de parâmetros.
-
#to_document ➤ BSON::Document
privado
Converta o objeto de credenciais em um documento BSON no formato libmongocrypt.
Métodos incluídos nas Validações
#validate_param, validate_tls_options
Detalhes do construtor
#initialize(opts) ➤ Credenciais
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Cria um objeto de credenciais GCP KMS de um 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 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/credentials.rb', linha 61 def inicializar(opciona) @opts = opciona Método se vazio? se opciona[:access_token] @access_token = opciona[:access_token] mais @email = validate_param(:email, opciona, FORMAT_HINT) @private_key = começar private_key_opt = validate_param(:private_key, opciona, FORMAT_HINT) se BSON::ambiente.jRuby? # Não podemos validar chave privada no JRuby, então assumimos # está no formato DER codificado de64 base. private_key_opt mais # Verifique se a chave privada está no formato PEM. pkey = OpenSSL::PKey::RSA.Novo(private_key_opt) # PEM que é, precisa ser convertido em DER codificado de base64 . der = se pkey.respond_to?(:private_to_der) pkey.private_to_der mais pkey.to_der end Base64.codificar64(der) end salvar OpenSSL::PKey::RSAError # Verifique se a chave privada está no DER. começar OpenSSL::PKey.ler(Base64.decodificar64(private_key_opt)) # A chave privada está bem, use-a. private_key_opt salvar OpenSSL::PKey::PKeyError aumentar ArgumentError.Novo( "A opção private_key deve ser formato DER codificado de base64 ou formato PEM." ) end end @endpoint = validate_param( :endpoint, opciona, FORMAT_HINT, necessário: false ) end end |
Detalhes do atributo da instância
#access_token ➤ string | nil (somente leitura)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna o token de acesso GCP.
40 41 42 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/credentials.rb', linha 40 def access_token @access_token end |
#email ➤ string (somente leitura)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna o e-mail do GCP para autenticação.
31 32 33 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/credentials.rb', linha 31 def Email @email end |
#endpoint ➤ string | nil (somente leitura)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna o endpoint GCP KMS.
37 38 39 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/credentials.rb', linha 37 def endpoint @endpoint end |
#private_key ➤ string (somente leitura)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna a chave privada GCP, o formato DER codificado de base64 .
34 35 36 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/credentials.rb', linha 34 def PRIVATE_KEY @private_key end |
Detalhes do método de instância
#to_document ➤ BSON::Document
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Converta o objeto de credenciais em um documento BSON no formato libmongocrypt.
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/credentials.rb', linha 108 def to_document Método BSON::Documento.Novo se vazio? se access_token BSON::Documento.Novo({ accessToken: access_token }) mais BSON::Documento.Novo({ e-mail: Email, chave privada: BSON::Binário.Novo(PRIVATE_KEY, :general), }).toque fazer |BSON| a menos que endpoint.nada? BSON.update({ ponto de conexão: endpoint }) end end end end |