2015-07-12 14 views
9

Istnieją trzy role domyślne zabezpieczenia w CloudKit:Jak działają role i uprawnienia zabezpieczeń CloudKit?

  • Świat
  • przysięgłe
  • Creator

i trzy uprawnienia:

  • Tworzenie
  • Read
  • Write

Jak te role zabezpieczeń i uprawnienia działa?

Oto przykłady niektórych z pytań, mam nadzieję uzyskać odpowiedź od wyjaśnienia ról zabezpieczeń:

  • Co trzy role na myśli? Pierwsze dwa wydają się oczywiste, ale ostatnia wydaje się mniej. Na przykład. czy Kreator odwołuje się do twórcy tabeli lub twórcy rekordu?
  • W jaki sposób pozwolenie na skreślenie zostanie objęte zakresem? Pisać?
  • Czy ról zabezpieczających można zastosować do poszczególnych rekordów? (Np. Chcę, aby użytkownik miał dostęp tylko do podzbioru rekordów w tabeli InstantMessages: te, które wysyłają i te, które otrzymują.) Czy coś takiego można zrobić za pomocą ról bezpieczeństwa?)
  • Czy uprawnienia są dziedziczone ? (Np. Czy twórca otrzymuje wszystkie uprawnienia przyznane od twórcy, uwierzytelnionego i świata?)
  • Czy uprawnienia są wyłącznie addytywne? Czy mogę utworzyć niestandardową rolę, która usunie przywileje zamiast je dodać? (Np. W celu utworzenia roli bezpieczeństwa "Zbanowany użytkownik").
  • Jak ustawić rolę dla użytkownika? Czy mogę ustawić domyślną rolę dla każdego tworzonego użytkownika? Czy mogę programowo zmieniać rolę użytkownika?
  • Jak utworzyć nowe role zabezpieczeń? Czy mogę je tworzyć/aktualizować programowo?

Odpowiedz

6

1) Jak działają te role i uprawnienia zabezpieczeń? Ustawiasz je na desce rozdzielczej w środowisku programistycznym.

2) Co oznaczają te trzy role? Pierwsze dwa wydają się oczywiste, ale ostatnia wydaje się mniej. Na przykład. czy Kreator odwołuje się do twórcy tabeli lub twórcy rekordu? - Twórca rekordu (a to oznacza wszystkie urządzenia, które uzyskują dostęp do CloudKit z tym samym kontem iCloud)

3) Gdzie pozwolenie na skreślenie będzie obowiązywać? Pisać? TAK

4) Czy role zabezpieczające można zastosować do poszczególnych rekordów? Nr

5) (np.Chcę, aby użytkownik miał dostęp tylko do podzbioru rekordów w tabeli InstantMessages: tych, które wysyłają i tych, które otrzymują. Czy coś takiego można zrobić za pomocą ról bezpieczeństwa?) Co oznacza "dostęp"? Użytkownik może tylko czytać rzeczy, które Twoja aplikacja pozwala mu czytać i które mają uprawnienia do odczytu. Użytkownik może tylko tworzyć lub zapisywać (i usuwać) rekordy, które twoja aplikacja pozwala im tworzyć lub modyfikować (i usuwać) oraz że mają pozwolenie na tworzenie lub zapisywanie - bierze obie.

6) Czy uprawnienia są dziedziczone? (Np. Czy twórca otrzymuje wszystkie uprawnienia przyznane od twórcy, uwierzytelnionego i świata?) Role są podzbiorami drugiego - twórca jest podzbiorem uwierzytelnionych. uwierzytelniony jest podzbiorem świata.

7) Czy uprawnienia są ... programowane? Uprawnienia trafiają do szerokiej klasy "twórcy", "uwierzytelnionego" "świata", więc nie można ustawić uprawnień użytkownika na użytkownika (z wyjątkiem tego, że użytkownik, który tworzy zapis, jest jedynym twórcą).

Ale kluczem do tego wszystkiego jest pamiętanie, że kod aplikacji musi nadawać tworzenie/odczytywanie/zapisywanie do rekordu ORAZ konkretny użytkownik musi mieć to uprawnienie. Możesz więc zrobić wszystko, co chcesz w kodzie, aby każdy mógł cokolwiek zrobić - pod warunkiem, że przyznałeś "Uwierzytelnione" prawo do "pisania"

+0

Czy te role mają zastosowanie tylko do publicznej bazy danych? Co z Shared lub Private? – LamonteCristo

+0

Te role mają zastosowanie do publicznej bazy danych i trywialnie odnoszą się również do prywatnej bazy danych. Tylko jedno konto ma dostęp do prywatnej bazy danych. Dlatego ta osoba jest "twórcą", a twórca ma wszelkie prawa. Koniec historii. (Udostępnione pliki - jestem niepewna.) –