본문 바로가기

전체 글38

SSO / SAML / OAuth / OIDC / SCIM 정리 SSO(Single Sign On)왜 필요한가?대규모 기업이나 기관에서 내부 시스템과 애플리케이션의 수가 증가하면서, 직원들이 각기 다른 시스템에 매번 로그인해야 하는 불편함과 보안 관리의 어려움이 커지면서 온프레미스에서도 이미 존재하던 니즈인데2000년대 들어 다양한 웹사이트가 생겨나면서 제각기 다른 패스워드 정책을 가지게 되고사이트마다 계정정보 달리 설정해 두었다가 기억해서 입력하고 로그인하기가 귀찮던 차에SAML과 같은 프로토콜이 등장하면서 활성화 되기 시작함SSO 자체는 특정 기술을 지칭한다기보다는중앙 집중형 인증 시스템을 통해 한 번의 인증으로 여러 서비스에 접근한다"는 개념적 요구사항으로 먼저 제시되었고이를 구현하기 위한 다양한 기술과 프로토콜(Kerberos, Active Directory,.. 2025. 8. 27.
궁금해서 야매로 살펴본 쿠버네티스 인증/인가 쿠버네티스는 User가 없다인증 : 누구인가?인가 : 뭘할건가?일반적으로 '누구?'라 함은 User를 뜻함.쿠버네티스에는 User가 없음. 사용자를 다루는 객체가 없다는 말.DB에 ID/PW 저장해놓고 읽어오는 일반 웹서비스와 달리, 쿠버네티스 클러스터는 클라이언트의 사용자 정보를 들고 있지 않는다.그럼 어떻게 '누구'를 인증하나요?인증서로.쿠버네티스가 인증서 들고 요청한 놈들은 쿠버네티스 API에 접근이 가능하며, 인증서에 있는 subject필드에 있는 값으로 사용자 이름을 결정함.이게 뭐가 좋냐?호환성 .쿠버네티스의 사용자 관리 방식에 종속될 필요가 없어짐.공개키 기반 인증 방식(PKI, Public Key Infrastructure)의 국제 표준인 X.509를 사용해서 인증한다?X.509를 준수해서.. 2025. 2. 10.
재귀(recursive) 파이썬 초정독 스터디 - 코딩테스트 합격자되기 파이썬 편 도서를 참고하여 작성된 글입니다.재귀 함수자기 자신을 호출(recursive call)하는 방법문제를 반복적이고, 작은 단위로 분해햐여 처리더이상 분해할 수 없는 base condition에 도달하면 호출을 종료재귀 함수를 사용하는 이유같은 논리를 작은 단위로 반복하여 해결 가능한 경우, 복잡한 문제를 단순화 하여 해결할 수 있음특히 트리 구조의 논리를 처리하고자 할 때 유용함코드를 간결하게 작성할 수 있음재귀 함수 사용시 주의할 점모든 함수는 호출시 메모리를 차지하며, 컴퓨터의 메모리는 한정적이므로 recursion depth 또한 제한적임따라서 반드시 base condition이 필요함함수 호출 스택재귀 함수는 호출될 때마다 함수의 매개변수, .. 2024. 9. 15.
스택(stack) ADT(Abstract Data Type)인터페이스만 있고 실제로 구현은 되지 않은 자료형연산시 해야 할 동작과, 상태가 가지고 있어야 할 값을 정의하지만 세부 구현은 되어있지 않음.언어에 따라 표준 라이브러리에서 스택을 제공하기도, 안하기도 함스택의 ADT구분정의설명연산boolean isFull()스택에 들어있는 데이터 개수가 maxsize인지 확인 -> true/false연산boolean isEmpty()스택에 데이터가 하나도 없는지 확인 -> true/false연산void push(ItemType item)스택에 데이터를 푸시연산ItemType pop()마지막으로 푸시한 데이터를 팝하고, 리턴. 최초 위치가 0이므로 데이터가 없으면 -1로 표현.상태int top스택에서 마지막으로 푸시된 데이터의 위.. 2024. 9. 7.