Classe: Mongo::Crypt::KMS::Azure::Credentials Private

Herda:
Objeto
  • Objeto
mostrar tudo
Estendido por:
Encaminhável
Inclui:
Validações
Definido em:
build/ruby-driver-v2.19/lib/mongo/crypt/KMS/Azure/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 Azure KMS Credentials contém credenciais para usar o provedor Azure 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 provedor do Azure KMS devem estar no formato: { tenant_id: "TENant-ID", client_id: "TENant_ID", client_secret: "CLIENT_SECRET" }'

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de instância

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 Azure KMS a partir de um hash de parâmetros.

Parâmetros:

  • opciona (Hash)

    Um hash que contém credenciais do provedor Azure KMS

Hash de opções (opts):

  • :tenant_id (string)

    Azure tenant id.

  • :client_id (string)

    ID do cliente Azure.

  • :client_secret (string)

    Segredo do cliente Azure.

  • :identity_platform_endpoint (string | nil)

    Ponto de extremidade da plataforma de identidade do Azure, opcional.

Aumenta:

  • (ArgumentError)

    Se as opções necessárias estiverem ausentes ou formatadas incorretamente.



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/kms/azure/credentials.rb', linha 61

def inicializar(opciona)
  @opts = opciona
  Método se vazio?

  se opciona[:access_token]
    @access_token = opciona[:access_token]
  mais
    @tenant_id = validate_param(:tenant_id, opciona, FORMAT_HINT)
    @client_id = validate_param(:client_id, opciona, FORMAT_HINT)
    @client_secret = validate_param(:client_secret, opciona, FORMAT_HINT)
    @identity_platform_endpoint = validate_param(
      :identity_platform_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 Azure.

Retorna:

  • (string | nil)

    Token de acesso Azure.



41
42
43
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/kms/azure/credentials.rb', linha 41

def access_token
  @access_token
end

#client_idstring (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 ID do cliente Azure.

Retorna:

  • (string)

    ID do cliente Azure.



32
33
34
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/kms/azure/credentials.rb', linha 32

def client_id
  @client_id
end

#client_secret ➤ 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 segredo do cliente Azure.

Retorna:

  • (string)

    Segredo do cliente Azure.



35
36
37
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/kms/azure/credentials.rb', linha 35

def client_secret
  @client_secret
end

#identity_platform_endpointstring | 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 ponto de extremidade da plataforma de identidade do Azure.

Retorna:

  • (string | nil)

    Ponto de extremidade da plataforma de identidade do Azure.



38
39
40
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/kms/azure/credentials.rb', linha 38

def identity_platform_endpoint
  @identity_platform_endpoint
end

#tenant_id ➤ 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 ID do locatário do Azure.

Retorna:

  • (string)

    Azure tenant id.



29
30
31
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/kms/azure/credentials.rb', linha 29

def tenant_id
  @tenant_id
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.

Retorna:

  • (BSON::Document)

    Credenciais Azure KMS no formato libmongocrypt.



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/kms/azure/credentials.rb', linha 80

def to_document
  Método BSON::Documento.Novo se vazio?

  se access_token
    BSON::Documento.Novo({ accessToken: access_token })
  mais
    BSON::Documento.Novo(
      {
        tenantId: @tenant_id,
        clientId: @client_id,
        clientSecret: @client_secret
      }
    ).toque fazer |BSON|
      a menos que identity_platform_endpoint.nada?
        BSON.update({ identityPlatformEndpoint: identity_platform_endpoint })
      end
    end
  end
end