Classe: Mongo::Crypt::KMS::Credentials Private
- Herda:
-
Objeto
- Objeto
- Mongo::crypt::KMS::Credentials
- Definido em:
- lib/mongo/crypt/KMS/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 Credenciais KMS contém credenciais para usar provedores KMS.
Colapsode resumo constante
- ON_DEMAND_PROVIDERS =
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.
Tipos de provedor KMS que oferecem suporte à recuperação de credenciais sob demanda.
%w[AWS GCP Azure].congelar
Recolhimento do Resumo do atributo de instância
- #credentials_map ⇒ objeto Somente leitura privado
Recolhimento do Resumo do método de instância
-
#any_on_demand? ⇒ Boolean
privado
Retorna true se qualquer provedor configurado oferecer suporte à recuperação de credenciais sob demanda e tiver sido configurado com credenciais vazias.
-
#Amazon Web Services ➤ Credenciais::AWS | nada
privado
Credenciais do Amazon Web Services KMS (somente provedor não nomeado).
-
#azure ➤ Credenciais::Azure | nada
privado
Credenciais do Azure KMS (somente provedor não nomeado).
-
#gcp ➤ Credenciais::GCP | nada
privado
Credenciais do GCP KMS (somente provedor não nomeado).
-
#initialize(kms_providers) ➤ Credenciais
construtor
privado
Cria um objeto de credenciais KMS a partir de um hash de parâmetros.
-
#kmip ➤ Credenciais::KMIP | nada
privado
Credenciais KMIP KMS (somente provedor não nomeado).
-
#local ➤ Credenciais::Local | nada
privado
Credenciais KMS locais (somente provedor não nomeado).
-
#to_document ➤ BSON::Document
privado
Converta o objeto de credenciais em um documento BSON no formato libmongocrypt.
Detalhes do construtor
#initialize(kms_providers) ➤ 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.
Pode haver mais de um fornecedor de KMS especificado.
Cria um objeto de credenciais KMS a partir de um hash de parâmetros.
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# Arquivo 'lib/mongo/crypt/KMS/credentials.rb', linha 40 def inicializar(kms_providers) aumentar ArgumentError.Novo('As opções dos fornecedores de KMS não devem ser nulas') se kms_providers.nada? @credentials_map = {} kms_providers.cada fazer |identificador, opciona| identifier_str = identificador.to_s provider_type = KMS.provider_base_type(identifier_str) credenciais = caso provider_type quando 'aws' então AWS::Credenciais.Novo(opciona) quando 'azure' então Azure::Credenciais.Novo(opciona) quando 'gcp' então GCP::Credenciais.Novo(opciona) quando 'kmip' então KMIP::Credenciais.Novo(opciona) quando 'local' então Local::Credenciais.Novo(opciona) mais aumentar ArgumentError.Novo( 'As opções dos provedores KMS devem ter uma das seguintes chaves: ' \ ':aws, :azure, :gcp, :kmip, :local' ) end @credentials_map[identifier_str] = creds end return unless @credentials_map.empty? raise ArgumentError.new( 'As opções dos provedores KMS devem ter uma das seguintes chaves: ' \ ':aws, :azure, :gcp, :kmip, :local' ) end |
Detalhes do atributo da instância
#credentials_map ⇒ Objeto (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.
27 28 29 |
# Arquivo 'lib/mongo/crypt/KMS/credentials.rb', linha 27 def credentials_map @credentials_map end |
Detalhes do método de instância
#any_on_demand? ⇒ Boolean
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 true se qualquer provedor configurado oferecer suporte à recuperação de credenciais sob demanda e tiver sido configurado com credenciais vazias.
102 103 104 105 106 |
# Arquivo 'lib/mongo/crypt/KMS/credentials.rb', linha 102 def any_on_demand? @credentials_map.algum? fazer |identificador, credenciais| ON_DEMAND_PROVIDERS.incluir?(KMS.provider_base_type(identificador)) && credenciais.vazio? end end |
#Amazon Web Services ⇒ Credenciais::Amazon Web Services | nada
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 credenciais do Amazon Web Services KMS (somente provedor não nomeado).
74 75 76 |
# Arquivo 'lib/mongo/crypt/KMS/credentials.rb', linha 74 def AWS @credentials_map['aws'] end |
#azure ⇒ Credenciais::Azure | nada
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 credenciais do Azure KMS (somente provedor não nomeado).
79 80 81 |
# Arquivo 'lib/mongo/crypt/KMS/credentials.rb', linha 79 def Azure @credentials_map['azure'] end |
#gcp ⇒ Credenciais::GCP | nada
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 credenciais GCP KMS (somente provedor não nomeado).
84 85 86 |
# Arquivo 'lib/mongo/crypt/KMS/credentials.rb', linha 84 def GCP @credentials_map['gcp'] end |
#kmip ⇒ Credenciais::KMIP | nada
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 credenciais KMIP KMS (somente provedor não nomeado).
89 90 91 |
# Arquivo 'lib/mongo/crypt/KMS/credentials.rb', linha 89 def KMIP @credentials_map['kmip'] end |
#local ⇒ Credenciais::Local | nada
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 credenciais locais do KMS (somente provedor não nomeado).
94 95 96 |
# Arquivo 'lib/mongo/crypt/KMS/credentials.rb', linha 94 def Local @credentials_map['local'] end |
#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.
111 112 113 114 115 116 117 |
# Arquivo 'lib/mongo/crypt/KMS/credentials.rb', linha 111 def to_document BSON::Documento.Novo.toque fazer |BSON| @credentials_map.cada fazer |identificador, credenciais| BSON[identificador] = credenciais.to_document end end end |