必要に応じて、コンテンツの保存と分類を行います。ルールを使用すると、データベースに保存されているデータへのアクセスを制御できます。ルールの構文は柔軟なので、データベースに対するすべての書き込みオペレーションから個別のノードに対するオペレーションまで、あらゆるオペレーションに一致するルールを作成できます。ルールはデータベースの宣言型の構成です。ルールはプロダクトのロジックとは別に定義されます。これには次のようないくつかの利点があります。クライアントがセキュリティ実施の責任を担う必要がないこと。バグのある実装によりデータを危険にさらすことがなくなること。重要なこととして、照会サーバーなどを介在させることなくデータを外部から保護できるという利点もあります。ルールの基本的な構文と構造について説明します。似た式で構成されます。ルールの構造はデータベースに保存しているデータの構造に従う必要があります。基本ルールでは、保護するノードのセット、関連するアクセス方法(読み取り、書き込みなど)、アクセスを許可または拒否する条件を特定します。ステートメントですが、次のトピックでは、条件を表現するためのより動的な方法について説明します。下で保護する場合、従うべき一般的な構文は次のようになります。}}このパターンを適用します。メッセージのリストを追跡していて、次のようなデータがあるとします。}}これに対応するルールも同様に構造化する必要があります。このデータ構造に適した読み取り専用セキュリティのルールセットを次に示します。ノードを指定する方法と、それらのノードでルールを評価する条件を指定する方法を示します。種類(.write、.read、.validate)あります。次に、その用途を簡潔に示します。ユーザーによるデータの読み取りを許可するときに記述します。ユーザーによるデータの書き込みを許可するときに記述します。値の適切なフォーマット方法、子属性を持つかどうか、およびデータ型を定義します。アクセスはデフォルトでは許可されません。ルールがパスまたはパスの上層に指定されている場合のみ、アクセスが許可されます。ステートメントはノードをポイントします。キャプチャ変数を使用して階層レベルでノードセットをポイントしたりすることができます。ステートメント内で使用します。これについては、次のトピックで詳しく説明します。変数は定数値のパス名とともに使用することもできます。以外に子が存在しないようになります。子が追加で作成される結果になるあらゆる書き込みは失敗します。パスのキーは常に文字列です。変数を数値と比較しようとすると、常に失敗します。newData.val()+'')。ルールは、パスのより浅い階層のものが、より深い階層のものよりも優先されます。子ルールは、親ノードがすでに宣言しているものに対してのみ権限を追加で付与できます。子ルールでは、読み取り権限や書き込み権限を取り消すことはできません。ルールはトップダウンで機能するため、浅いパスのルールが深いパスのルールよりも優先されます。ルールは、特定のパスで読み取り権限や書き込み権限を付与した場合、その下位にあるすべての子ノードへのアクセス権も付与します。次の構造を見てみましょう。読み取ることができます。ルールは影響しません。子パスではアクセス権を取り消すことができないからです。直観的ではないかもしれませんが、これはルール言語の強力な利点であり、これにより大変複雑なアクセス権限を最小限の労力で実装できます。これについては、このガイドで後ほどユーザーベースのセキュリティについて説明するときに説明します。ルールはカスケード処理されません。書き込みが許可されるには、階層のすべてのレベルですべての検証ルールを満たす必要があります。ルールはフィルターではないルールはアトミック(不可分)な方法で適用されます。該当の場所にも親の場所にもアクセス権を付与するルールが存在しなかった場合、直ちに、読み取りオペレーションや書き込みオペレーションは失敗します。対象のすべての子パスにアクセスできる場合でも、親の場所での読み取りは完全に失敗します。次の構造を見てみましょう。返されないと考えるかもしれません。実際の結果はエラーになります。ターゲットでは使用できません。ターゲットでは使用できません。エラーがスローされます。シミュレータでこのルールを評価すると、読み取りオペレーションが拒否されたことがわかります。パスに対する読み取りアクセスを許可するルールが存在しなかったためです。ルールが存在しなかったため、評価されることがなかったことに注意してください。フェッチするには、それに直接アクセスする必要があります。ターゲットでは使用できません。ターゲットでは使用できません。つのノードに複数のルールを適用できます。場合、アクセス方法は拒否されます。ノードへの読み取りは拒否されます。ルールについての理解を深めるには、以下をご覧ください。言語の次の主要なコンセプトである動的条件について学習します。より、ユーザー承認の確認、既存データと受信データの比較、受信データの検証、クライアントから受信したクエリの構造の確認などを行うことができます。ルールの定義を確認します。ライセンスにより使用許諾されます。ライセンスにより使用許諾されます。サイトのポリシーをご覧ください。関連会社の登録商標です。