The Firebase SecurityRules service interface.
Signature:
export declare class SecurityRules
Properties
| Property | Modifiers | Type | Description |
|---|---|---|---|
| app | App |
Methods
| Method | Modifiers | Description |
|---|---|---|
| createRuleset(file) | Creates a new Ruleset from the given RulesFile. | |
| createRulesFileFromSource(name, source) | Creates a RulesFile with the given name and source. Throws an error if any of the arguments are invalid. This is a local operation, and does not involve any network API calls. | |
| deleteRuleset(name) | Deletes the Ruleset identified by the given name. The input name should be the short name string without the project ID prefix. For example, to delete the projects/project-id/rulesets/my-ruleset, pass the short name "my-ruleset". Rejects with a not-found error if the specified Ruleset cannot be found. |
|
| getFirestoreRuleset() | Gets the Ruleset currently applied to Cloud Firestore. Rejects with a not-found error if no ruleset is applied on Firestore. |
|
| getRuleset(name) | Gets the Ruleset identified by the given name. The input name should be the short name string without the project ID prefix. For example, to retrieve the projects/project-id/rulesets/my-ruleset, pass the short name "my-ruleset". Rejects with a not-found error if the specified Ruleset cannot be found. |
|
| getStorageRuleset(bucket) | Gets the Ruleset currently applied to a Cloud Storage bucket. Rejects with a not-found error if no ruleset is applied on the bucket. |
|
| listRulesetMetadata(pageSize, nextPageToken) | Retrieves a page of ruleset metadata. | |
| releaseFirestoreRuleset(ruleset) | Applies the specified Ruleset ruleset to Cloud Firestore. | |
| releaseFirestoreRulesetFromSource(source) | Creates a new Ruleset from the given source, and applies it to Cloud Firestore. | |
| releaseStorageRuleset(ruleset, bucket) | Applies the specified Ruleset ruleset to a Cloud Storage bucket. | |
| releaseStorageRulesetFromSource(source, bucket) | Creates a new Ruleset from the given source, and applies it to a Cloud Storage bucket. |
SecurityRules.app
Signature:
readonly app: App;
SecurityRules.createRuleset()
Creates a new Ruleset from the given RulesFile.
Signature:
createRuleset(file: RulesFile): Promise<Ruleset>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| file | RulesFile | Rules file to include in the new Ruleset. |
Returns:
Promise<Ruleset>
A promise that fulfills with the newly created Ruleset.
SecurityRules.createRulesFileFromSource()
Creates a RulesFile with the given name and source. Throws an error if any of the arguments are invalid. This is a local operation, and does not involve any network API calls.
Signature:
createRulesFileFromSource(name: string, source: string | Buffer): RulesFile;
Parameters
| Parameter | Type | Description |
|---|---|---|
| name | string | Name to assign to the rules file. This is usually a short file name that helps identify the file in a ruleset. |
| source | string | Buffer | Contents of the rules file. |
Returns:
A new rules file instance.
Example
const source = '// Some rules source';
const rulesFile = admin.securityRules().createRulesFileFromSource(
'firestore.rules', source);
SecurityRules.deleteRuleset()
Deletes the Ruleset identified by the given name. The input name should be the short name string without the project ID prefix. For example, to delete the projects/project-id/rulesets/my-ruleset, pass the short name "my-ruleset". Rejects with a not-found error if the specified Ruleset cannot be found.
Signature:
deleteRuleset(name: string): Promise<void>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| name | string | Name of the Ruleset to delete. |
Returns:
Promise<void>
A promise that fulfills when the Ruleset is deleted.
SecurityRules.getFirestoreRuleset()
Gets the Ruleset currently applied to Cloud Firestore. Rejects with a not-found error if no ruleset is applied on Firestore.
Signature:
getFirestoreRuleset(): Promise<Ruleset>;
Returns:
Promise<Ruleset>
A promise that fulfills with the Firestore ruleset.
SecurityRules.getRuleset()
Gets the Ruleset identified by the given name. The input name should be the short name string without the project ID prefix. For example, to retrieve the projects/project-id/rulesets/my-ruleset, pass the short name "my-ruleset". Rejects with a not-found error if the specified Ruleset cannot be found.
Signature:
getRuleset(name: string): Promise<Ruleset>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| name | string | Name of the Ruleset to retrieve. |
Returns:
Promise<Ruleset>
A promise that fulfills with the specified Ruleset.
SecurityRules.getStorageRuleset()
Gets the Ruleset currently applied to a Cloud Storage bucket. Rejects with a not-found error if no ruleset is applied on the bucket.
Signature:
getStorageRuleset(bucket?: string): Promise<Ruleset>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| bucket | string | Optional name of the Cloud Storage bucket to be retrieved. If not specified, retrieves the ruleset applied on the default bucket configured via AppOptions. |
Returns:
Promise<Ruleset>
A promise that fulfills with the Cloud Storage ruleset.
SecurityRules.listRulesetMetadata()
Retrieves a page of ruleset metadata.
Signature:
listRulesetMetadata(pageSize?: number, nextPageToken?: string): Promise<RulesetMetadataList>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| pageSize | number | The page size, 100 if undefined. This is also the maximum allowed limit. |
| nextPageToken | string | The next page token. If not specified, returns rulesets starting without any offset. |
Returns:
Promise<RulesetMetadataList>
A promise that fulfills with a page of rulesets.
SecurityRules.releaseFirestoreRuleset()
Applies the specified Ruleset ruleset to Cloud Firestore.
Signature:
releaseFirestoreRuleset(ruleset: string | RulesetMetadata): Promise<void>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| ruleset | string | RulesetMetadata | Name of the ruleset to apply or a RulesetMetadata object containing the name. |
Returns:
Promise<void>
A promise that fulfills when the ruleset is released.
SecurityRules.releaseFirestoreRulesetFromSource()
Creates a new Ruleset from the given source, and applies it to Cloud Firestore.
Signature:
releaseFirestoreRulesetFromSource(source: string | Buffer): Promise<Ruleset>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| source | string | Buffer | Rules source to apply. |
Returns:
Promise<Ruleset>
A promise that fulfills when the ruleset is created and released.
SecurityRules.releaseStorageRuleset()
Applies the specified Ruleset ruleset to a Cloud Storage bucket.
Signature:
releaseStorageRuleset(ruleset: string | RulesetMetadata, bucket?: string): Promise<void>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| ruleset | string | RulesetMetadata | Name of the ruleset to apply or a RulesetMetadata object containing the name. |
| bucket | string | Optional name of the Cloud Storage bucket to apply the rules on. If not specified, applies the ruleset on the default bucket configured via AppOptions. |
Returns:
Promise<void>
A promise that fulfills when the ruleset is released.
SecurityRules.releaseStorageRulesetFromSource()
Creates a new Ruleset from the given source, and applies it to a Cloud Storage bucket.
Signature:
releaseStorageRulesetFromSource(source: string | Buffer, bucket?: string): Promise<Ruleset>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| source | string | Buffer | Rules source to apply. |
| bucket | string | Optional name of the Cloud Storage bucket to apply the rules on. If not specified, applies the ruleset on the default bucket configured via AppOptions. |
Returns:
Promise<Ruleset>
A promise that fulfills when the ruleset is created and released.