API 密钥
API 密钥恰好属于一个项目,并且只能做其作用域所列出的事。你可以进一步把它收窄到指定的模型和操作,或把它限定在一个组织内。
作用域
作用域设定密钥拥有的访问类型,例如 records:read 或运行操作。检查采用允许列表,因此密钥缺少所需作用域的调用会被拒绝。作用域允许调用,但绝不会扩大查询返回的行。有些作用域公开密钥完全无法持有,申请这类作用域会在创建密钥时被拒绝。
收窄到模型和操作
密钥上有两个选择器,用来设定它能触及哪些资源:模型访问和操作访问。两者默认都是全部,即密钥的作用域所涵盖的一切,因此收窄是自愿选择的。选择特定模型后,其他所有模型的类型化字段都会从该密钥看到的 schema 中消失,对它们的调用会被拒绝。选择特定操作后,未列出的操作的 mutation 不会出现在该密钥的 schema 中,包括内省结果。
限定在一个组织
密钥可以在创建时被限定在一个组织内。它可以读取该组织、其下的所有内容以及项目中共享的行,并且只能写入自己的行。它必须指定至少一个作用域,不能创建密钥,并且会随其组织一起被删除。
轮换与后续更改
轮换密钥后,旧机密会继续有效 24 小时。撤销则立即终止所有机密。作用域、允许的模型和名称可以在现有密钥上编辑,保存后生效。密钥类型、限定范围和有效期在创建时即已固定。
阅读详情
API 密钥指南介绍了两种密钥、它们的作用域、限制密钥的触及范围和轮换。