credential_resolver

package
v1.11.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2026 License: GPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PasswordSource added in v1.2.0

type PasswordSource interface {
	GetCredentialID() int64
	GetPassword() string
}

PasswordSource 密码来源接口。

type Resolver

type Resolver struct{}

Resolver 统一凭据解析服务

func Default

func Default() *Resolver

Default 获取默认 Resolver 实例

func (*Resolver) DecryptProxyPassword

func (r *Resolver) DecryptProxyPassword(proxy *asset_entity.ProxyConfig) *asset_entity.ProxyConfig

DecryptProxyPassword 解密代理配置中的密码,返回新的 ProxyConfig(不修改原始对象)

func (*Resolver) DialAssetSSH added in v1.3.0

func (r *Resolver) DialAssetSSH(ctx context.Context, assetID int64) (*ssh.Client, []io.Closer, error)

DialAssetSSH 一站式解析资产并建立 SSH 连接,自动处理代理密码解密、跳板机链。 除返回的 *ssh.Client 外,调用方还须负责关闭返回的所有额外 closer(跳板机链的 中间连接等);否则会泄漏连接。失败时返回的 closer 列表为 nil。

func (*Resolver) ResolveDatabasePassword

func (r *Resolver) ResolveDatabasePassword(ctx context.Context, cfg *asset_entity.DatabaseConfig) (string, error)

ResolveDatabasePassword 解密 DatabaseConfig 中的密码 优先使用统一凭证,向后兼容内联密码

func (*Resolver) ResolveJumpHosts

func (r *Resolver) ResolveJumpHosts(ctx context.Context, jumpHostID int64, maxDepth int) ([]ssh_svc.JumpHostEntry, error)

ResolveJumpHosts 递归解析跳板机链(含凭据解密),返回从第一跳到最后一跳的顺序

func (*Resolver) ResolveMongoDBPassword added in v1.2.0

func (r *Resolver) ResolveMongoDBPassword(ctx context.Context, cfg *asset_entity.MongoDBConfig) (string, error)

ResolveMongoDBPassword 解密 MongoDBConfig 中的密码 优先使用统一凭证,向后兼容内联密码

func (*Resolver) ResolvePasswordGeneric added in v1.2.0

func (r *Resolver) ResolvePasswordGeneric(ctx context.Context, src PasswordSource) (string, error)

ResolvePasswordGeneric 通用密码解密。 仅供 assettype handler 使用。现有 ResolveXxxPassword 方法保持不变。

func (*Resolver) ResolveProxyChain added in v1.11.0

func (r *Resolver) ResolveProxyChain(ctx context.Context, chain *asset_entity.ProxyChainConfig, maxDepth int) ([]proxychain.Layer, error)

func (*Resolver) ResolveRedisPassword

func (r *Resolver) ResolveRedisPassword(ctx context.Context, cfg *asset_entity.RedisConfig) (string, error)

ResolveRedisPassword 解密 RedisConfig 中的密码 优先使用统一凭证,向后兼容内联密码

func (*Resolver) ResolveSSHConnectConfig

func (r *Resolver) ResolveSSHConnectConfig(ctx context.Context, assetID int64) (*asset_entity.SSHConfig, string, string, string, []ssh_svc.JumpHostEntry, []proxychain.Layer, error)

ResolveSSHConnectConfig 从资产 ID 解析完整的 SSH 连接信息 返回 SSHConfig、明文密码、明文密钥、passphrase、跳板机链

func (*Resolver) ResolveSSHCredentials

func (r *Resolver) ResolveSSHCredentials(ctx context.Context, cfg *asset_entity.SSHConfig) (password, key, passphrase string, err error)

ResolveSSHCredentials 从 SSHConfig 解析明文密码/密钥/passphrase 优先使用统一凭证,向后兼容内联密码和本地密钥文件

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL