在 Firebase 中添加对另一个项目的访问权限

Posted

技术标签:

【中文标题】在 Firebase 中添加对另一个项目的访问权限【英文标题】:Add access to another project in Firebase 【发布时间】:2021-06-15 10:50:26 【问题描述】:

是否可以在 Firebase 存储中授予对不同项目的访问权限?例如,假设我有两个 Firebase 项目,项目 A 和项目 B。有没有办法设置项目 B 的安全规则,以便项目 A 中的应用程序可以访问项目 b 中的 Firebase 存储?

我认为可以在安全规则中添加其他项目的项目 ID,但在文档中找不到类似的内容。

【问题讨论】:

【参考方案1】:

您可以使用“Custom Claims”在用户帐户(可以是应用名称)上定义自定义属性,以用作存储安全规则中的验证。(请注意,此解决方案仅适用于单个项目使用)。

如果有特定需要将存储桶和用户放在单独的项目中,您还可以考虑使用“auth:import and auth:export”将用户帐户从一个项目移动到另一个项目,或者处理存储桶数据。

您的 auth:import 应如下所示:

firebase auth:import ACCOUNT_FILE    \
    --hash-algo=HASH_ALGORITHM         \
    --hash-key=KEY                     \
    --salt-separator=SALT_SEPARATOR    \
    --rounds=ROUNDS                    \
    --mem-cost=MEM_COST                \
    --parallelization=PARALLELIZATION  \
    --block-size=BLOCK_SIZE            \
    --dk-len=DK_LEN                    \
    --hash-input-order=HASH_INPUT_ORDER

和你的 auth:export 一样

firebase auth:export ACCOUNT_FILE --format=FILE_FORMAT

【讨论】:

您确定声明将在 Firebase 项目之间共享吗?

以上是关于在 Firebase 中添加对另一个项目的访问权限的主要内容,如果未能解决你的问题,请参考以下文章

授予对另一个类的访问权限而不暴露它

授予 Redshift Cluster 对另一个账户拥有的 S3 存储桶的访问权限

Oracle 一个用户对另一个用户的完全(所有模式对象)权限

Firebase存储安全规则为特定用户提供访问权限

Firebase 云函数对另一个 Firebase 云函数的 http 请求

markdown 添加对另一个项目的引用