SecurityRules class

Firebase SecurityRules 服务接口。

签名

export declare class SecurityRules 

属性

属性 修饰符 类型 说明
应用 应用

方法

方法 修饰符 说明
createRuleset(file) 根据指定的 RulesFile 创建新规则集
createRulesFileFromSource(name, source) 使用指定名称和来源创建 RulesFile。如果任何参数无效,则会抛出错误。这是一项本地操作,不涉及任何网络 API 调用。
deleteRuleset(name) 删除由给定名称标识的 Ruleset。输入名称应该是不含项目 ID 前缀的简称字符串。例如,如需删除 projects/project-id/rulesets/my-ruleset,请传递简称“my-ruleset”。如果找不到指定的 Ruleset,则拒绝并返回 not-found 错误。
getFirestoreRuleset() 获取当前应用于 Cloud Firestore 的 Ruleset。如果未对 Firestore 应用任何规则集,则拒绝并返回 not-found 错误。
getRuleset(name) 获取由指定名称标识的规则集。输入名称应该是不含项目 ID 前缀的简称字符串。例如,如需检索 projects/project-id/rulesets/my-ruleset,请传递简称“my-ruleset”。如果找不到指定的 Ruleset,则拒绝并返回 not-found 错误。
getStorageRuleset(bucket) 获取当前应用于 Cloud Storage 存储分区的规则集。如果未对存储分区应用任何规则集,则拒绝并返回 not-found 错误。
listRulesetMetadata(pageSize, nextPageToken) 检索规则集元数据页面。
releaseFirestoreRuleset(ruleset) 将指定的 Ruleset 规则集应用于 Cloud Firestore。
releaseFirestoreRulesetFromSource(源) 根据给定来源创建新的 Ruleset,并将其应用于 Cloud Firestore。
releaseStorageRuleset(ruleset, bucket) 将指定的规则集规则集应用于 Cloud Storage 存储分区。
releaseStorageRulesetFromSource(source, bucket) 根据给定来源创建新的规则集,并将其应用于 Cloud Storage 存储分区。

SecurityRules.app

签名

readonly app: App;

SecurityRules.createRuleset()

根据指定的 RulesFile 创建新规则集

签名

createRuleset(file: RulesFile): Promise<Ruleset>;

参数

参数 类型 说明
文件 RulesFile 要添加到新 Ruleset 中的规则文件。

返回

Promise<规则集>

使用新创建的 Ruleset 执行的 promise。

SecurityRules.createRulesFileFromSource()

使用指定名称和来源创建 RulesFile。如果任何参数无效,则会抛出错误。这是一项本地操作,不涉及任何网络 API 调用。

签名

createRulesFileFromSource(name: string, source: string | Buffer): RulesFile;

参数

参数 类型 说明
name 字符串 要分配给规则文件的名称。这通常是简短的文件名,有助于识别规则集中的文件。
来源 字符串 |缓冲 规则文件的内容。

返回

RulesFile

一个新的规则文件实例。

示例

const source = '// Some rules source';
const rulesFile = admin.securityRules().createRulesFileFromSource(
  'firestore.rules', source);

SecurityRules.deleteRuleset()

删除由给定名称标识的 Ruleset。输入名称应该是不含项目 ID 前缀的简称字符串。例如,如需删除 projects/project-id/rulesets/my-ruleset,请传递简称“my-ruleset”。如果找不到指定的 Ruleset,则拒绝并返回 not-found 错误。

签名

deleteRuleset(name: string): Promise<void>;

参数

参数 类型 说明
name 字符串 要删除的 Ruleset 的名称。

返回

承诺<void>

删除 Ruleset 时执行的 promise。

SecurityRules.getFirestoreRuleset()

获取当前应用于 Cloud Firestore 的 Ruleset。如果未对 Firestore 应用任何规则集,则拒绝并返回 not-found 错误。

签名

getFirestoreRuleset(): Promise<Ruleset>;

返回

Promise<规则集>

通过 Firestore 规则集执行的 promise。

SecurityRules.getRuleset()

获取由指定名称标识的规则集。输入名称应该是不含项目 ID 前缀的简称字符串。例如,如需检索 projects/project-id/rulesets/my-ruleset,请传递简称“my-ruleset”。如果找不到指定的 Ruleset,则拒绝并返回 not-found 错误。

签名

getRuleset(name: string): Promise<Ruleset>;

参数

参数 类型 说明
name 字符串 要检索的 Ruleset 的名称。

返回

Promise<规则集>

执行时会返回指定 Ruleset 的 promise。

SecurityRules.getStorageRuleset()

获取当前应用于 Cloud Storage 存储分区的规则集。如果未对存储分区应用任何规则集,则拒绝并返回 not-found 错误。

签名

getStorageRuleset(bucket?: string): Promise<Ruleset>;

参数

参数 类型 说明
存储桶 字符串 要检索的 Cloud Storage 存储分区的可选名称。如果未指定,则检索应用于通过 AppOptions 配置的默认存储分区的规则集。

返回

Promise<规则集>

与 Cloud Storage 规则集一起执行的 promise。

SecurityRules.listRulesetMetadata()

检索规则集元数据页面。

签名

listRulesetMetadata(pageSize?: number, nextPageToken?: string): Promise<RulesetMetadataList>;

参数

参数 类型 说明
pageSize 数字 页面大小,如果未定义,则为 100。这也是允许的上限。
nextPageToken 字符串 下一页令牌。如果未指定,则返回从无偏移量开始的规则集。

返回

Promise<RulesetMetadataList>

执行时带有规则集页面的 promise。

SecurityRules.releaseFirestoreRuleset()

将指定的 Ruleset 规则集应用于 Cloud Firestore。

签名

releaseFirestoreRuleset(ruleset: string | RulesetMetadata): Promise<void>;

参数

参数 类型 说明
规则集 字符串 |RulesetMetadata 要应用的规则集的名称,或包含该名称的 RulesetMetadata 对象。

返回

承诺<void>

发布规则集时执行的 promise。

SecurityRules.releaseFirestoreRulesetFromSource()

根据给定来源创建新的 Ruleset,并将其应用于 Cloud Firestore。

签名

releaseFirestoreRulesetFromSource(source: string | Buffer): Promise<Ruleset>;

参数

参数 类型 说明
来源 字符串 |缓冲 要应用的规则来源。

返回

Promise<规则集>

在创建和发布规则集时执行的 promise。

SecurityRules.releaseStorageRuleset()

将指定的规则集规则集应用于 Cloud Storage 存储分区。

签名

releaseStorageRuleset(ruleset: string | RulesetMetadata, bucket?: string): Promise<void>;

参数

参数 类型 说明
规则集 字符串 |RulesetMetadata 要应用的规则集的名称,或包含该名称的 RulesetMetadata 对象。
存储桶 字符串 要应用规则的 Cloud Storage 存储分区的可选名称。如果未指定,则会将规则集应用于通过 AppOptions 配置的默认存储分区。

返回

承诺<void>

发布规则集时执行的 promise。

SecurityRules.releaseStorageRulesetFromSource()

根据给定来源创建新的规则集,并将其应用于 Cloud Storage 存储分区。

签名

releaseStorageRulesetFromSource(source: string | Buffer, bucket?: string): Promise<Ruleset>;

参数

参数 类型 说明
来源 字符串 |缓冲 要应用的规则来源。
存储桶 字符串 要应用规则的 Cloud Storage 存储分区的可选名称。如果未指定,则会将规则集应用于通过 AppOptions 配置的默认存储分区。

返回

Promise<规则集>

在创建和发布规则集时执行的 promise。