Secure Firebase Database Permissions
セキュアなFirebaseデータベース権限
説明
Firebase Realtime Databaseルールは、データベースに対する読み取りおよび書き込みアクセス権を持つユーザー、データの構造化方法、および存在するインデックスを決定します。
安全でないデータベース権限は一般的な問題であり、データベースへの不正アクセスにつながります。Firebaseは、認証、認可、さらにはデータ検証を実施するためのツールを提供しています。
避けるべき一般的な設定ミスの問題は次のとおりです。
すべてのユーザーへの読み取りおよび書き込みアクセス:
{
"rules": {
".read": true,
".write": true
}
}
ログインしているユーザーは誰でも、データベース全体に対する読み取りおよび書き込みアクセス権を持ちます:
{
"rules": {
".read": "auth !== null",
".write": "auth !== null"
}
}
Realtime Databaseルールはカスケードされ、より浅い親パスのルールが、より深い子ノードのルールをオーバーライドします。子ノードにルールを記述する場合は、追加の権限のみを付与できることに留意してください。データベース内のより深いパスにあるデータへのアクセス権を絞り込んだり、取り消したりすることはできません。
{
"rules": {
"foo": {
// allows read to /foo/*
".read": "data.child('baz').val() === true",
"bar": {
/* ignored, since read was allowed already */
".read": false
}
}
}
}
推奨事項
このエントリは安全であり、適用される推奨事項はありません。