domino8788 / SKHUMap

SKHU MAP
1 stars 0 forks source link

firestore 보안 설정 #116

Closed domino8788 closed 4 years ago

domino8788 commented 4 years ago

각 기능에 대해 허가된 사용자만 접근할 수 있도록 보안규칙을 설정한다.

domino8788 commented 4 years ago

지도 기능

유저 정보

즐겨찾기

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /facilities/{facility=**} {
      allow read: if request.auth.uid != null;
    }
    match /users/{user} {
        allow read: if request.auth.uid != null;
    }
    match /users/{user}/{contents}/{document} {
      allow read, write : if get(/databases/$(database)/documents/users/$(user)).data.uid == request.auth.uid;
    }
  }
}
domino8788 commented 4 years ago

검색

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /facilities/{facility=**} {
      allow read: if request.auth.uid != null;
    }
    match /users/{user} {
        allow read: if request.auth.uid != null;
    }
    match /users/{user}/{contents}/{document} {
      allow read, write : if get(/databases/$(database)/documents/users/$(user)).data.uid == request.auth.uid;
    }
    match /search/{keywords} {
      allow read : if request.auth.uid != null;
    }
  }

}

domino8788 commented 4 years ago

위의 보안 설정으로 2차 릴리즈에 구현 할 기능들에 대한 설정이 완료 되었으므로 변경사항이 발생할 때 까지 이슈를 닫는다.

domino8788 commented 4 years ago

계획에 변경사항이 발생했으므로 이슈를 재개한다. 채팅 기능의 구현 여지가 없어졌으므로 채팅을 염두한 보안설정을 수정한다.

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /facilities/{facility=**} {
      allow read: if request.auth.uid != null;
    }
    match /users/{user} {
        allow read: if request.auth.uid == resource.data.uid;
      match /{contents}/{document} {
        allow read, write : if get(/databases/$(database)/documents/users/$(user)).data.uid == request.auth.uid;
      }
    }

    match /search/{keywords} {
      allow read : if request.auth.uid != null;
    }
  }
}
domino8788 commented 4 years ago

위의 보안 설정을 통해 2차 릴리즈에 필요한 보안설정을 완료했으므로 이슈를 닫는다.

domino8788 commented 4 years ago

166 의 버그를 해결하기 위해 다음과 같이 수정한다.

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /facilities/{facility=**} {
      allow read: if request.auth != null;
    }
    match /users/{user} {
        allow read, write: if user == request.auth.uid;
      match /{contents}/{document} {
        allow read, write : if user == request.auth.uid;
      }
    }

    match /search/{keywords} {
      allow read : if request.auth != null;
    }
  }
}
domino8788 commented 4 years ago

수정사항을 반영했으므로 이슈를 닫는다.