在加密货币交易所间建立自动化资金流:火币到 Bybit 的桥梁
随着加密货币交易的日益普及,投资者往往需要在多个交易所进行操作,以捕捉不同的交易机会、参与新币发行或利用套利空间。然而,手动在不同交易所间转移资金既耗时又容易出错。本文将探讨如何在火币交易所和 Bybit 交易所之间建立一个半自动化的资金转移流程,以提升效率并降低风险。
理解需求与限制:自动化并非完全无干预
在加密货币交易领域,资金在不同交易所之间的高效流动至关重要。然而,必须认识到,完全自动化——指无需任何人为介入即可实现资金在各交易所间的自由划转——在现阶段的技术水平和安全架构下,存在诸多挑战,并且蕴含着相当大的风险。 这种理想化的自动化场景,容易成为黑客攻击的目标,导致资金损失。
我们追求的目标是构建一个半自动化的资金管理流程。 该流程旨在大幅度减少手动操作,提升资金管理的效率和速度,同时保持必要的安全控制。 半自动化流程通常依赖于预设规则和触发条件,当满足特定条件时,系统会自动执行预定义的交易或资金转移指令。 例如,当某个交易所的某种加密货币价格低于预设阈值时,系统自动从其他交易所转移资金进行购买。
这种半自动化的策略,兼顾了效率和安全性,允许用户在一定程度上解放双手,将精力集中在策略制定和风险管理上。 同时,关键操作环节仍然需要人工确认,有效防止了因程序漏洞或市场突发情况造成的意外损失。 因此,理解自动化的边界,明确人工干预的重要性,是构建安全、高效的加密货币资金管理系统的基础。
第一步:API密钥的创建与配置
在火币和 Bybit 交易所实现自动化资金转移的核心,在于充分利用它们提供的应用程序编程接口 (API)。API 密钥是实现自动化的关键凭证,务必妥善保管。API 允许用户通过预先编写的代码或各种第三方工具,安全地访问交易所的各项功能,包括实时查询账户余额、自动化执行交易订单以及便捷地进行数字资产的提币操作。通过配置API密钥,可以安全地连接到交易所,从而实现程序化的资产管理和转移。
1.1 火币 API 密钥的生成:
- 登录火币账户: 使用你的用户名和密码安全地登录火币全球站账户。建议启用双重验证 (2FA),例如 Google Authenticator 或短信验证,以增强账户安全性。
- 进入API管理页面: 成功登录后,导航至用户中心或账户设置,寻找 “API 管理” 或 “API 密钥管理” 选项。该页面通常位于账户安全设置或类似的子菜单中。
- 创建新的 API 密钥: 在 API 管理页面,点击 “创建新 API 密钥” 按钮,开始生成新的 API 密钥对。系统可能会要求你进行身份验证,以确认操作的合法性。
- 设置密钥权限: 这是至关重要的一步,直接关系到你的资金安全。为了实现资金转移,即允许程序通过 API 进行提币操作,你必须精确地授予 API 密钥 “读取” (Read) 和 “提币” (Withdraw) 的权限。 "读取"权限允许程序获取账户信息,"提币"权限允许程序发起提币请求。 强烈建议不要授予 “交易” (Trade) 权限,以显著降低潜在风险。 如果授予交易权限,一旦API密钥泄露,攻击者可能进行交易操作,造成资产损失。设置好权限后,务必进行 IP 地址绑定,即限制该 API 密钥只能从指定的 IP 地址发起请求。这可以有效防止 API 密钥被盗用后,攻击者从其他 IP 地址进行非法操作。你可以指定一个或多个 IP 地址,甚至使用 CIDR 表示法来指定 IP 地址范围。
- 记录 API 密钥: 火币系统将生成一个 API Key (也称为 Access Key) 和一个 Secret Key。API Key 用于标识你的身份,Secret Key 用于对 API 请求进行签名。 Secret Key 只会显示一次,并且是你在火币系统中唯一的访问凭证,请务必使用安全的方式妥善保存。 建议使用密码管理器或其他安全存储方法,避免将 Secret Key 存储在明文文件中。如果 Secret Key 遗失或泄露,你必须立即删除该 API 密钥,并重新创建一个新的 API 密钥对。
1.2 Bybit API 密钥的生成:
- 登录 Bybit 账户: 访问 Bybit 官方网站,使用您的注册邮箱或手机号码及密码登录您的 Bybit 交易所账户。确保您已完成所有必要的安全验证步骤,例如双因素认证 (2FA)。
- 进入API管理页面: 成功登录后,导航至账户设置或个人中心。通常,在账户安全或API设置等相关选项中,可以找到 “API 管理” 选项。不同的 Bybit 界面版本可能略有差异,但核心功能类似。
- 创建新的 API 密钥: 在 API 管理页面,寻找并点击 “创建新 API 密钥” 或类似的按钮。Bybit 可能会要求您再次进行身份验证以确保安全。
- 选择 API 密钥类型: Bybit 可能会提供标准API和高级API等不同类型的 API 密钥,每种类型可能具有不同的访问级别和限制。如果需要执行提币操作,请务必选择允许提币的类型,例如 “允许提币” 或 “资金划转” 的选项。仔细阅读每种类型的描述,选择最符合您需求的类型。
- 设置密钥权限: API 密钥的权限控制至关重要。您需要精确地授予 API 密钥所需的权限。对于读取市场数据和交易,授予 “读取” 权限;对于执行提币操作,必须授予 “提币” 权限。切勿授予超出实际需求的权限,以降低潜在的安全风险。同时,Bybit 同样支持 IP 地址绑定,强烈建议将 API 密钥绑定到特定的 IP 地址,以防止未经授权的访问。只允许来自您指定 IP 地址的请求,可以显著提高安全性。
- 记录 API 密钥: 创建 API 密钥后,Bybit 会生成 API Key(公钥)和 Secret Key(私钥)。 API Key 用于标识您的账户,Secret Key 用于对请求进行签名。务必立即记录这两个密钥,并妥善保管。Secret Key 只会显示一次,丢失后将无法找回,只能重新生成新的 API 密钥。强烈建议将密钥存储在安全的地方,例如加密的密码管理器或离线存储设备中。切勿将密钥以明文形式存储在代码或配置文件中,避免泄露。
第二步:选择合适的自动化工具
获取 API 密钥后,下一步是选择一个合适的自动化工具,以便能够有效利用这些密钥执行各种自动化任务。 这些工具能够简化与加密货币交易所或区块链平台的交互,从而提高效率并减少手动操作的需求。以下是一些常用的选择,涵盖了不同技术水平和应用场景:
-
编程语言和库:
对于具备编程经验的用户,使用 Python、JavaScript 或其他流行的编程语言结合专门的加密货币库是灵活且强大的选择。 例如:
-
Python:
拥有诸如
ccxt
(加密货币交易所交易库)等库,支持与众多交易所进行交互,提供统一的 API 接口,简化交易、数据获取等操作。 -
JavaScript:
适用于 Node.js 环境或浏览器环境,可以配合
ccxt
或其他特定交易所的 SDK 进行开发,构建 Web 应用或自动化脚本。
这种方式的优点在于高度的自定义性,可以根据具体需求编写代码,实现复杂的交易策略或数据分析功能。 但是,需要一定的编程基础。
-
Python:
拥有诸如
-
自动化交易平台:
这类平台通常提供图形化界面或预设的交易策略,降低了编程门槛。用户可以通过配置参数或选择现成的策略来执行自动化交易。
- Zenbot: 一个开源的、基于 Node.js 的加密货币交易机器人,支持多种交易策略和自定义配置。
- HaasOnline TradeServer: 一个商业级的自动化交易平台,提供丰富的技术指标、回测功能和风险管理工具。
使用自动化交易平台能够快速上手,但可能牺牲一定的灵活性,并且部分平台可能需要付费订阅。
-
Zapier/IFTTT 等集成工具:
这些工具允许用户创建基于触发器和动作的自动化流程,可以将加密货币相关的事件与其他 Web 服务连接起来。例如:
- Zapier: 可以连接 Coinbase 等交易所,当特定加密货币价格达到预设值时,自动发送电子邮件或短信通知。
- IFTTT (If This Then That): 类似 Zapier,但通常面向更简单的自动化场景,可以用于监控区块链交易或价格变动。
这类工具适合于简单的通知或数据同步场景,无需编程技能,但功能相对有限。
-
命令行工具:
一些加密货币交易所或区块链项目提供命令行工具,方便用户通过命令行界面进行操作。例如:
- 交易所 CLI: 允许用户通过命令行执行交易、查询账户信息等操作。
- 以太坊 CLI (geth/parity): 用于与以太坊区块链进行交互,部署智能合约、发送交易等。
命令行工具适合于熟悉命令行的用户,可以快速执行特定任务,但学习曲线可能较陡峭。
ccxt
这样的加密货币交易库,它支持与多个交易所的 API 交互。你需要具备一定的编程知识才能使用此方法。
- 示例代码片段 (仅供参考,需自行修改完善):
import ccxt
火币 API 密钥
要访问火币交易所的API,您需要配置您的API密钥和密钥。API密钥用于身份验证,密钥用于签署您的API请求,确保交易的安全性。请务必妥善保管这些凭证,切勿分享给他人,以防止资产损失。您可以在火币交易所的官方网站上创建和管理您的API密钥。务必启用必要的API权限,例如交易和提现,并根据您的需求进行限制。
huobi_api_key = 'YOUR_HUOBI_API_KEY'
huobi_secret_key = 'YOUR_HUOBI_SECRET_KEY'
请将
YOUR_HUOBI_API_KEY
替换为您的实际API密钥,将
YOUR_HUOBI_SECRET_KEY
替换为您的实际密钥。这两个值都是字符串,区分大小写。建议将这些密钥存储在安全的地方,例如环境变量或加密的配置文件中,而不是直接硬编码到您的代码中。 错误地泄露API密钥可能导致未经授权的访问和潜在的资金损失。定期轮换您的API密钥也是一种良好的安全措施。
Bybit API 密钥配置
在访问 Bybit 交易所的 API 接口前,您需要配置 API 密钥和密钥。这两个密钥对于您的账户安全至关重要,请务必妥善保管。
API 密钥 (API Key): 这是您访问 Bybit API 的用户名或标识符,用于识别您的身份。请将其替换为您的真实 API 密钥。
bybit_api_key = 'YOUR_BYBIT_API_KEY'
密钥 (Secret Key): 这是与 API 密钥关联的密码,用于对您的 API 请求进行签名,确保请求的真实性和安全性。请将其替换为您的真实密钥。
bybit_secret_key = 'YOUR_BYBIT_SECRET_KEY'
重要提示:
- 切勿将您的 API 密钥和密钥泄露给他人。
- 不要将密钥存储在公共存储库(如 GitHub)中。
- 定期更换您的 API 密钥和密钥,以提高安全性。
- 启用 API 密钥的 IP 限制,只允许特定 IP 地址访问。
请前往 Bybit 交易所的官方网站,在您的账户设置中生成 API 密钥和密钥。确保您了解不同 API 权限的含义,并根据您的需求选择合适的权限。
初始化交易所
要开始使用CCXT连接并操作交易所,首先需要初始化交易所对象。以下是如何初始化火币(Huobi)交易所的示例:
huobi = ccxt.huobi({
'apiKey': huobi_api_key,
'secret': huobi_secret_key,
})
在上述代码中,
ccxt.huobi()
创建了一个火币交易所的实例。
apiKey
和
secret
是从火币交易所获取的API密钥和私钥,用于身份验证和授权。 请务必替换
huobi_api_key
和
huobi_secret_key
为您实际的密钥。
类似的,以下是如何初始化Bybit交易所的示例:
bybit = ccxt.bybit({
'apiKey': bybit_api_key,
'secret': bybit_secret_key,
})
与火币类似,
ccxt.bybit()
创建了一个Bybit交易所的实例,并使用提供的
apiKey
和
secret
进行身份验证。同样,请替换
bybit_api_key
和
bybit_secret_key
为您在Bybit交易所申请的真实API密钥和私钥。 正确初始化交易所对象是进行后续交易操作的前提。
获取火币账户余额 (以 USDT 为例)
使用 ccxt 库可以方便地获取火币交易所的账户余额。以下代码展示了如何获取账户中 USDT 的可用余额。
你需要初始化火币交易所的客户端。假设你已经完成了初始化,并将其存储在名为
huobi
的变量中。
然后,调用
fetch_balance()
方法来获取账户的完整余额信息。这个方法会返回一个包含各种币种余额的字典。
要获取 USDT 的可用余额,你可以使用以下代码:
huobi_balance = huobi.fetch_balance()['USDT']['free']
这行代码的含义如下:
-
huobi.fetch_balance()
: 调用fetch_balance()
方法,获取账户的完整余额信息。 -
['USDT']
: 从返回的字典中,通过键 'USDT' 访问 USDT 的余额信息。这将返回一个包含 'free'(可用余额)、'used'(已用余额)和 'total'(总余额)等信息的字典。 -
['free']
: 从 USDT 的余额信息字典中,通过键 'free' 访问可用余额。
最终,
huobi_balance
变量将存储你的火币账户中 USDT 的可用余额。
请注意,
fetch_balance()
方法可能需要你的 API 密钥和密钥才能正常工作。 确保你已经正确配置了你的 ccxt 客户端。
另外,交易所有时候都在变化,务必检查ccxt官方文档中的最新信息。
设置提币数量
amount_to_withdraw = huobi_balance * 0.95
该代码片段定义了从火币(Huobi)交易所提取加密货币的数量。变量
amount_to_withdraw
代表最终要提取的金额。
此金额的计算方式是将火币账户的当前余额 (
huobi_balance
) 乘以 0.95。
系数 0.95 的目的是预留一部分余额作为提币手续费。不同的交易所和不同的币种,提币手续费有所不同。 通过乘以 0.95,我们提取了账户余额的 95%,从而确保账户中留有足够的资金来支付提币所需的费用,避免因手续费不足而导致提币失败。
实际应用中,应当根据具体币种的提币手续费率调整这个比例,以确保提币顺利进行。例如,可以查询火币官方文档或API,获取精确的手续费信息,进而计算更准确的提币数量。
需要注意的是,
huobi_balance
应该代表的是可以用于提币的余额,可能需要从交易所API获取可用余额数据。
获取 Bybit USDT 充值地址
在Bybit交易所获取USDT(泰达币)充值地址,通常需要通过其API接口进行操作。以下代码展示了如何使用CCXT库获取TRC20网络下的USDT充值地址:
bybit_deposit_address = bybit.fetch_deposit_address('USDT', params={'network': 'TRC20'})['address']
代码详解:
-
bybit
: 这是CCXT库中Bybit交易所的实例对象,需要预先创建和配置,例如设置API密钥。 -
fetch_deposit_address('USDT', params={'network': 'TRC20'})
: 此方法用于从Bybit获取指定加密货币的充值地址。-
'USDT'
: 指定要获取充值地址的加密货币为USDT。Bybit可能支持不同的USDT类型(例如ERC20, TRC20, BEP20),所以明确指定币种有助于确保地址正确。 -
params={'network': 'TRC20'}
: 这是一个包含额外参数的字典。'network': 'TRC20'
参数指示要获取的是基于TRON网络的USDT充值地址。不同的网络(如以太坊的ERC20)会产生不同的交易费用和速度。
-
-
['address']
:fetch_deposit_address
方法返回一个包含多个字段的字典,其中'address'
字段存储了实际的充值地址。该代码通过索引['address']
来提取地址信息。 -
bybit_deposit_address
: 最终,提取出的USDT充值地址被赋值给变量bybit_deposit_address
,可用于后续的操作,如显示给用户或记录到数据库中。
注意事项:
-
确保已安装CCXT库,可以使用
pip install ccxt
命令安装。 - 在使用API之前,需要拥有Bybit账户,并已创建API密钥且赋予提现或充值权限(根据API使用情况)。
- 始终仔细核对充值地址,确保与交易所显示的地址一致,避免因地址错误导致资产丢失。
- 不同的网络对应不同的充值地址,请务必选择正确的网络进行充值。
- Bybit可能会对不同网络的充值收取手续费,请在充值前仔细阅读相关费用说明。
从火币提币到 Bybit
从火币交易所提取加密货币到 Bybit 交易所,通常涉及以下步骤。这段代码示例展示了如何使用 Python 的 CCXT 库,通过火币 API 发起 USDT (Tether) 提币请求,并将资金转移到 Bybit 的 USDT 充值地址。务必确认 Bybit 的充值地址支持 TRC20 网络。
代码示例 (Python with CCXT):
try:
# 初始化 CCXT 火币交易所对象 (需要API key和secret)
huobi = ccxt.huobi({
'apiKey': 'YOUR_HUOBI_API_KEY',
'secret': 'YOUR_HUOBI_SECRET',
})
# 设置提币参数
amount_to_withdraw = 100 # 提币数量 (例如:100 USDT)
bybit_deposit_address = 'YOUR_BYBIT_USDT_TRC20_ADDRESS' # Bybit 的 USDT TRC20 充值地址
# 发起提币请求
withdrawal = huobi.withdraw(
code='USDT', # 提币币种
amount=amount_to_withdraw, # 提币数量
address=bybit_deposit_address, # Bybit 充值地址
tag=None, # 如果需要,填写标签/memo (某些交易所需要)
params={'chain': 'TRC20'} # 指定提币链为 TRC20
)
# 打印提币请求结果
print(f"提币请求已发送,交易 ID: {withdrawal['id']}")
except ccxt.NetworkError as e:
print(f"网络错误: {e}")
except ccxt.ExchangeError as e:
print(f"交易所错误: {e}")
except Exception as e:
print(f"提币失败: {e}")
注意事项:
-
API 密钥:
请确保您已在火币交易所创建 API 密钥,并拥有提币权限。在代码中替换
YOUR_HUOBI_API_KEY
和YOUR_HUOBI_SECRET
为您的真实密钥。 - Bybit 充值地址: 仔细核对 Bybit 的 USDT 充值地址,确保选择的是 TRC20 网络地址。 错误的地址可能导致资金丢失。
- 最小提币数量和手续费: 火币交易所可能对 USDT 的最小提币数量和 TRC20 提币手续费有限制。 请在火币交易所查看最新的提币规则。
- TRC20 网络: TRC20 是基于 Tron 网络的 USDT,具有较低的手续费和较快的交易速度。
- 错误处理: 代码中包含了错误处理机制,可以捕获网络错误、交易所错误和其他异常情况。 在实际应用中,请根据需要进行更详细的错误处理。
- 资金安全: 提币前,请务必仔细检查提币地址和数量,确保万无一失。 使用双重验证 (2FA) 等安全措施,保护您的账户安全。
- CCXT库: 确保已经安装了CCXT库, `pip install ccxt`
- 等待确认: 提币请求发送后,需要等待火币交易所处理并广播到区块链网络。 您可以在区块链浏览器上查询交易状态。
第三步:配置自动化流程
选择合适的自动化工具后,接下来至关重要的是配置详细且精确的自动化流程。该流程将决定资金转移的逻辑和执行方式,直接影响效率和安全性。详细配置包括以下几个核心环节:
-
定义触发条件:
触发条件是自动化流程启动的关键。你需要明确在何种情况下系统才应执行资金转移操作。这可以基于多种因素,例如:
- 账户余额阈值: 比如,当你在火币账户中的可用资金超过预设的某个数量(例如 1 BTC 或 10,000 USDT)时,触发转移。
- 特定加密货币的价格变动: 当某个特定加密货币(例如 ETH 或 BNB)的价格达到你设定的特定阈值(高于或低于某个价格点)时,触发转移。你还可以设置价格变动的百分比作为触发条件。
- 时间周期: 定期执行资金转移,例如每天、每周或每月的固定时间。
- 其他外部事件: 例如,接收到特定信号或 API 调用时触发。
-
设置转移金额:
明确每次自动化流程执行时转移的资金数量至关重要。你可以选择以下方式:
- 固定金额: 每次转移预先设定的固定金额,例如每次转移 0.5 BTC 或 500 USDT。适用于需要定期定量转移资金的场景。
- 按百分比转移: 每次转移账户余额的特定百分比,例如每次转移账户余额的 10% 或 25%。这能确保转移金额与账户余额保持同步,适用于需要根据余额动态调整转移金额的场景。
- 动态计算金额: 使用公式或脚本根据当前市场情况或其他参数动态计算转移金额。
-
指定目标地址:
务必准确无误地指定资金转移的目标地址,即你希望将资金转移到的 Bybit 账户地址。
- 仔细核对: 在配置过程中,务必多次核对目标地址,确保其完全正确。任何细微的错误都可能导致资金丢失,且无法追回。
- 使用复制粘贴: 为了避免手动输入错误,强烈建议使用复制粘贴的方式输入目标地址。
- 验证地址有效性: 在某些情况下,可以利用区块链浏览器或其他工具验证目标地址的有效性。
-
设置安全措施:
安全是自动化流程配置中最重要的考虑因素之一。为了最大限度地保障资金安全,请务必采取以下措施:
- 设置每日提币限额: 限制每天可以提币的最大金额,即使自动化流程被恶意利用,也能将损失控制在可接受的范围内。
- 启用双重验证(2FA): 为你的交易所账户和自动化工具启用双重验证,增加额外的安全层。
- 定期检查 API 密钥的权限: 定期审查和更新 API 密钥的权限,确保密钥仅拥有执行必要操作的权限,并定期轮换密钥。
- 使用白名单地址: 仅允许资金转移到预先批准的白名单地址,阻止未经授权的资金转移。
- 监控异常活动: 密切监控自动化流程的运行情况,及时发现并处理任何异常活动。例如,非预期的资金转移或登录尝试。
第四步:监控与维护
自动化流程建立后,持续的监控与维护至关重要,它能确保流程稳定运行,及时发现并解决潜在问题,从而最大化收益。你需要密切关注自动化流程的运行状况,并定期进行维护,以应对市场变化和安全风险。
- 监控交易记录: 仔细检查每次资金转移是否成功执行,记录交易 ID(Transaction ID 或 TXID),这是追踪交易状态和解决潜在问题的关键凭证。使用交易所提供的API或区块浏览器进行核实。
- 检查账户余额: 密切监控两个交易所的账户余额,确认余额是否符合预期,是否存在异常波动。这有助于及时发现自动化流程中的错误或漏洞,例如交易失败或资金丢失。设定预警机制,当余额偏离预期范围时,立即发出通知。
- 更新 API 密钥: 定期轮换 API 密钥是保障账户安全的重要措施。API 密钥泄露可能导致账户被盗用,造成资金损失。建议每月或每季度更换一次API密钥,并启用双重验证(2FA)等安全措施,增强账户安全性。使用强密码并妥善保管API密钥,避免泄露。
- 调整策略: 加密货币市场瞬息万变,自动化策略需要根据市场变化和个人投资目标进行调整。定期评估策略的有效性,并根据实际情况进行优化。例如,当市场波动性增加时,可以调整交易频率或止损止盈点位。同时,也要考虑个人风险承受能力和投资期限,制定合理的自动化策略。回测历史数据可以帮助评估策略的潜在收益和风险。
风险提示:
- API 密钥安全: API 密钥犹如打开您加密货币账户的钥匙,拥有极高的权限。 绝对不要将 API 密钥泄露给任何人,包括声称来自交易所官方的技术支持人员。 启用双重验证 (2FA),增强密钥的安全性,并定期审查和更新您的 API 密钥权限,限制其访问范围到最小必要功能。考虑使用IP地址白名单,仅允许特定IP地址访问您的API。 密钥泄露可能导致资金被盗或账户被恶意操控。
- 交易平台风险: 选择信誉良好、运营历史悠久、安全记录优异的加密货币交易所。 深入研究交易所的安全措施,例如冷存储比例、保险基金以及是否进行过安全审计。 警惕小型、不知名的交易所,它们可能存在安全漏洞或流动性不足的风险。 即使是大型交易所,也并非绝对安全,要分散风险,不要将所有资金放在单一交易所。注意交易所可能存在的宕机风险,尤其是在市场剧烈波动时。
- 代码风险: 如果您使用 Python 或其他编程语言编写脚本进行交易,必须确保代码经过全面、严格的测试。 特别关注错误处理、边界条件和潜在的安全漏洞。 使用代码审查工具和单元测试来提高代码质量。 了解交易所 API 的限制和速率限制,避免因代码错误而被限制访问。 避免使用来历不明的代码库,防止其中包含恶意代码。 持续监控脚本的运行状态,及时发现并修复错误。
- 网络安全: 在进行加密货币交易时,务必使用安全的网络环境。 避免使用公共 Wi-Fi 网络,因为它们容易受到中间人攻击和数据窃听。 使用 VPN (虚拟专用网络) 加密您的网络连接,保护您的隐私和数据安全。 确保您的计算机和移动设备安装了最新的安全补丁和杀毒软件。 定期扫描病毒和恶意软件。 警惕钓鱼邮件和短信,不要点击不明链接或下载未知文件。 开启防火墙,阻止未经授权的访问。