シンプルに見えますが、期待通りに機能しない基本的なFirestoreのルールを設定するのはまだ苦労しています。下記掲載のシナリオやクエリのためにFirestoreのセキュリティルールを正しく設定する方法
、このデータベースが使用されます。
シナリオ1
は、データベース名を把握することはできませんよ?私はそれがrestaurants
だと思ったが、この前提で、コードの下に作業し、PERMISSION_DENIED
例外を取得しませんでした:2つの
コレクションのレストランは、上記の画面に表示されるように、10件の文書を持って
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if database == "restaurants";
}
}
}
シナリオ、私はハードそれらの10をコード化し、それらを読み取りおよび書き込み以下のように、しかし、そのは動作していない、と同じPERMISSION_DENIED
例外を取得することができました:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read : if document in ['2uFMIc2BSH6oslxEABpB','8GMNVxVUb1HzRAk2QmmX',
'AryyMURod8AeWAfBVavF','AvnpKGMeUWDSfowFLpwa','H0qi7gI8WmSVobu19G49',
'H2xhfoj0Rn75BH9nnbuI','NRfgppqWRfj3DtHDlft4','R9gZ0hTxCPXwSeV2prNV',
'YgXXwndeIfZx6rUhdlc4','v22FlL7LBBY851N8sIvQ'] ;
allow write : if document in ['2uFMIc2BSH6oslxEABpB','8GMNVxVUb1HzRAk2QmmX',
'AryyMURod8AeWAfBVavF','AvnpKGMeUWDSfowFLpwa','H0qi7gI8WmSVobu19G49',
'H2xhfoj0Rn75BH9nnbuI','NRfgppqWRfj3DtHDlft4','R9gZ0hTxCPXwSeV2prNV',
'YgXXwndeIfZx6rUhdlc4','v22FlL7LBBY851N8sIvQ'] ;
}
}
}
これらの2はあまり実用的なシナリオではないかもしれませんが、私の理解のためにそれ以上です。あなたの最初の例で