Kraken 生成 API 密钥教程
本文将详细介绍如何在 Kraken 交易平台上生成 API 密钥,以便您可以安全地访问您的账户并通过 API 进行交易。请务必妥善保管您的 API 密钥,并了解不同权限的含义,以避免不必要的风险。
准备工作
- Kraken 账户: 您需要一个已激活且可以正常使用的 Kraken 账户。如果您尚未拥有 Kraken 账户,请访问 Kraken 官方网站 (www.kraken.com) 并按照注册流程创建账户。请务必使用真实有效的邮箱地址,并设置高强度的密码以确保账户安全。完成注册后,需要通过身份验证 (KYC) 流程,根据 Kraken 的要求提交您的个人信息和身份证明文件。未完成 KYC 验证可能会限制您的交易功能。
- 双重验证 (2FA): 为了最大程度地保障您的账户安全,强烈建议您立即启用双重验证 (2FA)。2FA 是一种安全机制,它在您输入密码之外,还需要您提供第二种验证方式,通常是通过手机上的身份验证器应用程序(如 Google Authenticator、Authy)生成的动态验证码。启用 2FA 可以显著降低您的账户被盗用的风险,即使您的密码泄露,未经授权的用户也无法访问您的账户,因为他们无法提供第二种验证方式。请务必备份您的 2FA 密钥或恢复代码,以便在更换手机或身份验证器应用出现问题时可以恢复您的账户访问权限。
生成 API 密钥的步骤
- 登录 Kraken 账户: 使用您的用户名和密码登录 Kraken 官方网站。确保访问的是官方域名,以避免钓鱼攻击。
-
导航至 API 密钥管理页面:
登录后,将鼠标悬停在页面右上角您的用户名上,在下拉菜单中选择 "Security",然后在新的页面选择 "API"。或者,您可以直接访问以下链接:
https://www.kraken.com/u/security/api
。请注意,始终通过安全连接(HTTPS)访问 API 密钥管理页面。 - 点击 "Generate New Key" 按钮: 在 API 密钥管理页面,您会看到一个 "Generate New Key" (生成新密钥) 的按钮。点击该按钮开始创建新的 API 密钥。在开始创建之前,请确保您已充分了解不同权限的含义。
-
配置 API 密钥权限:
这是最重要的步骤。在生成密钥之前,您需要仔细配置密钥的权限。不同的权限允许您执行不同的操作。以下是一些常见的权限及其含义:
- Query Funds: 允许 API 查询您的账户余额。这是最基本的权限,很多 API 应用都需要此权限。该权限允许应用了解您账户中的加密货币和法币数量。
- Query Ledger Entries: 允许 API 查询您的交易记录。包括充值、提现、交易等所有账务记录。该权限有助于审计和追踪您的交易历史。
- Query Open Orders & Trades: 允许 API 查询您当前挂单和已成交的交易。您可以了解您在市场上挂出的限价单和已成交订单的详细信息,包括价格、数量和时间戳。
- Query Closed Orders & Trades: 允许 API 查询已关闭的订单和交易。与 "Query Open Orders & Trades" 不同,该权限获取的是历史成交记录,而非当前挂单。
- Create & Cancel Orders: 允许 API 创建新的订单和取消现有的订单。这是进行交易操作所必需的权限。 请务必谨慎授予此权限,并仅授予给您信任的 API 应用。 错误地配置此权限可能导致意外交易或资金损失。使用此权限的应用应该经过彻底审查,并使用适当的风险管理策略。
- Deposit: 允许 API 创建充值地址。该权限允许应用为您生成新的加密货币充值地址。请注意,不同加密货币可能需要不同的充值地址。
- Withdraw: 允许 API 发起提现请求。 这是最高权限,请务必不要轻易授予此权限,以防止资金被盗。 授予此权限意味着允许应用将您的资金转移到其他地址。只有在完全信任该应用且了解其安全措施的情况下才应考虑授予此权限。开启此权限还应启用双重验证和其他安全措施。
- Websockets Token: 用于通过 Websocket API 连接 Kraken。Websocket API 提供实时数据更新,例如价格变动和订单簿信息。此 Token 允许应用以低延迟的方式接收这些数据。
您应该根据您的具体需求选择合适的权限。 最小权限原则 是一个好的做法,只授予 API 应用所需的最低权限。例如,如果您只是想查看您的账户余额,那么只需要授予 "Query Funds" 权限即可。如果您计划使用 API 进行交易,则需要 "Create & Cancel Orders" 权限,但请务必谨慎。
- 输入密钥描述 (Key Description): 在 "Key Description" 字段中,输入一个描述信息,用于标识这个 API 密钥的用途。例如,您可以输入 "My Trading Bot" 或 "My Portfolio Tracker"。这有助于您在以后管理 API 密钥时区分不同的密钥。清晰的描述可以避免混淆并降低管理复杂性。
- 输入 nonce Windows (Nonce Window): Nonce 是一个用于防止重放攻击的数字。Nonce window 设置了允许 Nonce 值有效的时间范围。您可以保持默认值,通常 Kraken 平台会提供合理的默认设置。nonce window 的大小决定了API请求的时间戳允许的偏差范围,过小的window可能会导致请求被拒绝,过大的window可能会增加重放攻击的风险。
- IP 地址限制 (Optional): 您还可以选择限制 API 密钥只能从特定的 IP 地址访问。这是一个额外的安全措施,可以防止 API 密钥被盗用。如果您知道您的 API 应用运行在哪个 IP 地址,强烈建议您设置 IP 地址限制。您可以在 "IP Address Filter" 字段中输入允许访问的 IP 地址。可以添加单个 IP 地址或 IP 地址范围。请务必正确配置 IP 地址,否则您的 API 应用可能无法正常工作。
- 生成密钥 (Generate Key): 在仔细检查了您的配置后,点击 "Generate Key" 按钮生成 API 密钥。在生成之前,请再次确认所有权限和设置是否正确,因为一旦生成,某些设置可能无法更改。
- 保存 API 密钥: 生成 API 密钥后,您会看到两个字符串: API Key 和 Private Key 。 请务必将这两个字符串安全地保存下来。 Kraken 只会显示 Private Key 一次,之后将无法再次查看。如果您丢失了 Private Key,您将需要删除该 API 密钥并重新生成一个新的。建议将 API Key 和 Private Key 存储在安全的地方,例如密码管理器或加密的文本文件中。切勿将 API Key 和 Private Key 泄露给他人,或将其存储在版本控制系统中。
管理 API 密钥
您可以通过 API 密钥管理页面集中查看、管理和维护您的 API 密钥,确保账户安全和 API 访问控制的有效性。该页面提供了全面的工具,用于监控和调整您的密钥配置。
- 查看密钥信息: 全面了解您的 API 密钥,包括其详细描述、所授予的具体权限范围、以及密钥的创建时间戳。这些信息有助于追踪密钥的使用情况和生命周期。关键信息包括密钥状态(激活或禁用)、IP 地址限制(如有)、速率限制策略、以及关联的用户或应用程序。
- 修改密钥描述: 清晰易懂的描述信息对于区分和管理多个 API 密钥至关重要。您可以随时修改 API 密钥的描述信息,添加更详细的注释或用途说明,方便团队成员理解和使用。修改描述不会影响密钥的功能或权限。建议使用能够反映密钥用途、所属项目或负责人的描述。
- 删除密钥: 及时删除不再使用的 API 密钥是重要的安全实践。删除操作会永久撤销密钥的访问权限,防止未经授权的访问。在删除密钥之前,请务必确认该密钥不再被任何应用程序或服务使用,并通知相关人员。建议在删除前创建备份,以便日后审查密钥的使用历史。删除密钥后,使用该密钥的任何 API 请求都将失败。
安全建议
- 启用双重验证 (2FA): 这是保护您的 Kraken 账户免受未经授权访问的最重要措施之一。强烈建议您启用 2FA,为您的登录过程增加一层额外的安全防护。Kraken 支持多种 2FA 方式,包括基于时间的一次性密码 (TOTP) 和硬件安全密钥。选择您最信任和方便的方式,并立即启用它。
- 使用最小权限原则: 仅授予 API 应用执行其特定功能所需的绝对最低权限。避免授予过多的权限,以降低潜在的安全风险。例如,如果一个 API 应用只需要读取您的账户余额,则只授予读取余额的权限,而不是账户交易或提现的权限。
- 设置 IP 地址限制: 通过限制 API 密钥只能从特定的 IP 地址访问,您可以有效防止未经授权的访问。只允许您的 API 应用所在的服务器或设备访问 Kraken 的 API。这意味着即使 API 密钥泄露,攻击者也无法从其他 IP 地址使用该密钥。您可以根据 API 应用的部署位置设置 IP 地址白名单。
- 定期审查 API 密钥: 定期审查您的 API 密钥,确保它们仍然是必需的,并且权限设置仍然是适当的。删除任何不再使用或不再需要的 API 密钥。这可以降低因密钥泄露而造成的潜在损害。例如,如果您不再使用某个旧的交易机器人,请立即删除其 API 密钥。
- 监控 API 密钥活动: 密切监控 API 密钥的活动,包括 API 调用的频率、类型和来源 IP 地址。如果发现任何异常行为,例如来自未知 IP 地址的 API 调用或大量不寻常的交易,立即采取措施,例如禁用 API 密钥并调查事件。Kraken 提供了 API 使用的监控工具,可以帮助您检测可疑活动。
- 不要将 API 密钥存储在不安全的地方: 绝对不要将 API 密钥存储在公共的代码仓库、文本文件、电子邮件或其他不安全的地方。这些地方容易受到攻击者的入侵。使用安全的密钥管理系统或加密存储来保护您的 API 密钥。考虑使用硬件安全模块 (HSM) 或其他加密设备来存储您的密钥。
- 使用安全的 API 应用: 只使用您信任的 API 应用。在授予 API 应用权限之前,仔细审查其安全性和信誉。确保该应用来自信誉良好的开发者,并且具有良好的安全记录。检查应用的源代码(如果可用),以确保它没有恶意代码或安全漏洞。阅读用户评论和评分,了解其他用户对该应用的体验。如果应用需要访问您的资金,请务必谨慎。
常见问题解答 (FAQ)
-
我忘记了我的 Private Key,怎么办?
如果您忘记了您的 Private Key(私钥),由于私钥是访问和控制您的Kraken账户资金和数据的唯一凭证,一旦丢失将无法恢复。因此,您必须立即删除当前的API密钥,并重新生成一个新的API密钥对。请务必将新的私钥安全地存储在离线环境中,例如硬件钱包或加密的离线文档中,并采取备份措施,以防止再次丢失。
-
我的 API 密钥被盗用了,怎么办?
如果您的 API 密钥不幸被盗用,情况十分紧急,请立刻采取行动。务必第一时间删除当前被盗用的API密钥,以防止进一步的损失。立即登录您的Kraken账户,详细检查账户活动记录,特别是未授权的交易或资金转移。如果发现任何可疑行为,请毫不犹豫地联系Kraken的官方客服团队,提供详细的事件经过和相关证据,以便他们能够及时介入并采取必要的安全措施。审查您的账户安全设置,启用双重身份验证(2FA),并定期更改密码,增强账户的安全性。
-
为什么我的 API 请求被拒绝?
API 请求被拒绝通常意味着您的请求未能通过Kraken服务器的验证。可能的原因包括:
- 您的 API 密钥权限不足:您尝试执行的操作可能需要更高的权限级别,而您的API密钥没有被授予相应的权限。请检查您的API密钥权限设置,并确保它拥有执行所需操作的权限。
- API 请求格式不正确:API请求需要符合Kraken API的特定格式要求,包括参数类型、数据结构和签名方式。请仔细核对您的请求是否符合Kraken的API文档规范,确保所有参数都正确且完整。
- API 请求频率过高:为了防止滥用,Kraken对API请求频率有限制。如果您的请求频率超过了限制,服务器将会拒绝您的请求。请降低请求频率,或查阅Kraken API文档了解更详细的速率限制信息。
- IP 地址不在允许列表中:为了增强安全性,您可以设置允许访问API的IP地址白名单。如果您的请求来自未被授权的IP地址,服务器将会拒绝请求。请检查您的API密钥设置,确保您的IP地址已添加到允许列表中。
请仔细检查您的 API 请求的各个方面,例如API密钥权限、请求格式、请求频率和IP地址限制,并对照Kraken的API文档进行验证,以确定问题的根源。
希望这些常见问题解答能够帮助您更安全、高效地使用Kraken API。请始终牢记,在加密货币领域,安全是至关重要的,务必采取一切必要的措施来保护您的账户和资产安全。