2017-11-03 4 views
1

규칙을 사용하여 Firestore에서 중첩 필드에 대한 액세스를 관리 할 수 ​​있습니까?Firestore의 중첩 보안 규칙

users 
    b1a2e3 
     profile 
     rating 
     personal_info 

내가 액세스 만 users.uid == request.auth.uid 경우를 personal_info 할 수있는 구조의 예를 들면?

답변

0

아니요 규칙은 수집 및 문서에만 적용됩니다. 문서 내에서 일부 데이터 만 가져올 수는 없습니다.

문서 UserUID의 공개 정보를 사용하여 구조 변경을 시도 할 수 없습니다.

(컬렉션) 사용자/(문서) UserUID/(컬렉션) private_info

그리고 이것은

service cloud.firestore { 
    match /databases/{database}/documents { 

    match /users/{userUID} { 

     // Other rules 

     match/personal_info/{allChildren=**}{ 
      allow read, write: if request.auth.uid == userID; 
     } 
    } 
} 

당신은 여기 경우 FireStore에 규칙에 대한 자세한 내용은이 규칙을 사용합니다 그래서 만약 https://firebase.google.com/docs/firestore/security/secure-data#nested_matches

+0

을 나는 읽을 권리가 없으며, 나는 'personal_info' 객체가 존재한다는 정보를 얻지도 못한다. – iiylll

+0

오, 죄송합니다. 질문에서 "필드"를 읽는 것을 잊지 마십시오. 내 대답을 수정하겠습니다. – aTo