Edit Files
Login Register

10일

12일

  • IAM(authn/authz) 는 무엇을 제공 해야 하는가?
    • authn
      • 대상자가 누구인지 판단한다.
      • 판단하는 방법은 다양할수 있다.
        • ID/Password, o-auth, cert, token ….
      • 단적으로는 who-am-i api 를 제공한다.
        • func WhoAmI(req *http.Request) (*User, error)
    • authz
      • 대상자가 어떤 일을 할수 있는지 없는지 판단한다.
      • 단적으로는 can-i api 를 제공한다.
        • func Can(user *User, v Verb, resource any) (bool, error)
        • Can(user, verbs.Create, Comment{})
      • 대상자가 어떤 그룹이나 role 에 속해있는지를 응답하고 Applicaiton에 알아서 하라고 한다면 좋은 authz system 이라 볼수 없다.
        • authz이 application과 독립적으로 동작하려면 application layer 와는 구분이 되어야 한다.
    • rbac/abac
      • authz를 제공하기 위한 방법론이다.