类:Mongo::Crypt:: KMS:: Azure::Credentials Private

继承:
对象
  • 对象
显示全部
扩展方式:
可转发
包括:
验证
定义于:
build/Ruby-driver-v2.19/lib/ mongo /crypt/ KMS / Azure /credentials.rb

Overview

此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。

Azure KMS凭据对象包含使用Azure KMS提供商的凭证。

常量摘要折叠

FORMAT_HINT =

此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。

'Azure KMS提供商选项的格式必须为:\ {tenant_id: "TENANT- ID", client_id: "TENANT_ID", client_secret: "CLIENT_SECRET" }'

实例属性摘要折叠

实例方法摘要折叠

验证中包含的方法

#validate_param , validate_tls_options

构造函数详情

#initialize (opts) ⇒档案

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

从参数哈希中创建Azure KMS凭证对象。

参数:

  • opts (哈希)

    包含Azure KMS提供商凭证的哈希

选项哈希 ( opts ):

  • :tenant_id string

    Azure tenant id.

  • :client_id string

    Azure客户端ID。

  • :client_secret string

    Azure客户端密钥。

  • :identity_platform_endpoint ( string | nil )

    Azure 身份平台端点,可选。

引发:

  • ( ArgumentError )

    如果必需的选项丢失或格式不正确。



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File ' 构建/ruby-driver-v2.19/lib/ mongo /crypt/ KMS / Azure / 凭证.rb', 第61行

def 初始化(opts)
  @opts = opts
  return if 空?

  if opts[:access_token]
    @access_token = opts[:access_token]
  else
    @tenant_id = validate_param(:tenant_id, opts, FORMAT_HINT)
    @client_id = validate_param(:client_id, opts, FORMAT_HINT)
    @client_secret = validate_param(:client_secret, opts, FORMAT_HINT)
    @identity_platform_endpoint = validate_param(
      :identity_platform_endpoint, opts, FORMAT_HINT, 必需: false
    )
  end
end

实例属性详细信息

# access_tokenstring | nil (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回Azure访问权限令牌。

返回:

  • ( string | nil )

    Azure访问权限令牌。



41
42
43
# File ' 构建/ruby-driver-v2.19/lib/ mongo /crypt/ KMS / Azure / 凭证.rb', 第41行

def access_token
  @access_token
end

# client_idstring (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回Azure客户端ID。

返回:

  • ( string )

    Azure客户端ID。



32
33
34
# File ' 构建/ruby-driver-v2.19/lib/ mongo /crypt/ KMS / Azure / 凭证.rb', 第32行

def client_id
  @client_id
end

# client_secretstring (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回 Azure 客户端密钥。

返回:

  • ( string )

    Azure客户端密钥。



35
36
37
# File ' 构建/ruby-driver-v2.19/lib/ mongo /crypt/ KMS / Azure / 凭证.rb', 第35行

def client_secret
  @client_secret
end

# identity_platform_endpointstring | nil (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回Azure身份平台端点。

返回:

  • ( string | nil )

    Azure 身份平台端点。



38
39
40
# File ' 构建/ruby-driver-v2.19/lib/ mongo /crypt/ KMS / Azure / 凭证.rb', 第38行

def Identity_platform_endpoint
  @identity_platform_endpoint
end

#tenant_idstring (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回Azure租户 ID。

返回:

  • ( string )

    Azure tenant id.



29
30
31
# File ' 构建/ruby-driver-v2.19/lib/ mongo /crypt/ KMS / Azure / 凭证.rb', 第29行

def tenant_id
  @tenant_id
end

实例方法详细信息

# to_documentBSON::Document

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

将凭证对象转换为 libmongocrypt 格式的BSON文档。

返回:

  • ( BSON::Document )

    凭证格式的Azure KMS档案。



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File ' 构建/ruby-driver-v2.19/lib/ mongo /crypt/ KMS / Azure / 凭证.rb', 第80行

def to_document
  return BSON::文档.new if 空?

  if access_token
    BSON::文档.new({ accessToken: access_token })
  else
    BSON::文档.new(
      {
        tenantId: @tenant_id,
        clientId: @client_id,
        clientSecret: @client_secret
      }
    ).点击 do |bson|
      除非 Identity_platform_endpoint.nil?
        bson.update({ IdentityPlatformEndpoint: Identity_platform_endpoint })
      end
    end
  end
end