如何应用 firebase 存储规则以便只有 Google 云 运行 API 可以写入?
How to apply firebase storage rule so only Google cloud run API can write?
我的目标是阻止任何不是直接来自我在 google 云 运行 中的 API 的写入请求。
我认为常规项目设置中的 firebase Web API 密钥可能会有所帮助,但我找不到可以执行此操作的正确存储规则。
我找到了经过身份验证的用户等的存储规则,但我没有使用 firebase 身份验证。相反,我在 google 云 运行.
中托管的 API 中对用户进行身份验证
我觉得是这个方向,如果不对请指正
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read: if true;
allow write: if request comes from my API with the Web API key;
}
}
}
来源:
https://firebase.google.com/docs/storage/security/rules-conditions
https://firebase.google.com/docs/storage/gcp-integration
无法检查调用云存储时使用的 API 密钥。
但是从云 运行 访问通常是通过 GCP SDKs/APIs 之一进行的,并且那些访问项目具有管理权限并完全绕过您的安全规则。
因此,您不妨拒绝来自不受信任的客户端的所有写入访问:
allow write: if false;
我的目标是阻止任何不是直接来自我在 google 云 运行 中的 API 的写入请求。
我认为常规项目设置中的 firebase Web API 密钥可能会有所帮助,但我找不到可以执行此操作的正确存储规则。
我找到了经过身份验证的用户等的存储规则,但我没有使用 firebase 身份验证。相反,我在 google 云 运行.
中托管的 API 中对用户进行身份验证我觉得是这个方向,如果不对请指正
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read: if true;
allow write: if request comes from my API with the Web API key;
}
}
}
来源:
https://firebase.google.com/docs/storage/security/rules-conditions
https://firebase.google.com/docs/storage/gcp-integration
无法检查调用云存储时使用的 API 密钥。
但是从云 运行 访问通常是通过 GCP SDKs/APIs 之一进行的,并且那些访问项目具有管理权限并完全绕过您的安全规则。
因此,您不妨拒绝来自不受信任的客户端的所有写入访问:
allow write: if false;