[ Architecture, Technology ,Web ] SSO(Single Sign On) 그리고 SAML에 대해

이미지
이번 프로젝트 내부에서 어쩌다보니  유저 인증 관련 업무를 담당하게 되었고, 해야하는 업무는 내부에 사용했던 적이 없던  새로운 개발 플랫폼에서  SSO의 프로토콜 중  SAML을 이용해 앱의 인증을 구현해야만 했다. SSO를 생각해본적 조차 없는 상황에 이를 새로운 개발 플랫폼에 도입해야 했기 때문에 많은 시행착오를 겪었으나 구현에 성공하였으며 덕분에 SSO에 대한 전반적인 지식을 쌓을 수 있었다. 이번에는 그러한 과정에서 나온 지식들과 경험을  공유하고자 한다. SSO에 대한 정의 먼저 사전적 정의 부터 살펴보자. 다만, 기술적인 용어다보니 자주 사용하는 옥스포드 사전에 정의를 찾을 수 없기 때문에  검색으로 찾을 수 있는 정의를 몇 가지 살펴보고 교차 검증을 해보자. 첫 번째 정의를 살펴보자. Single sign-on (SSO) is an identification method that enables users to log in to multiple applications and websites with one set of credentials.  SSO는 웹사이트에서 한 번의 인증(one set of credentials)으로 복수의 어플리케이션에 로그인 할 수 있는 인증(identification) 방법(method) 이다. 두 번째는 위키피디아의 정의이다. Single sign-on (SSO) is an authentication scheme that allows a user to log in with a single ID to any of several related, yet independent, software systems. SSO는 독립적이지만 연관되어있는 몇몇 소프트웨어에 대해 하나의 ID로 로그인을 할 수 있도록 하는 인증 구조(scheme) 세부 설명에 조금 차이가 있어 보이지만 전체적인 틀은 매우 비슷해 보인다.  몇 가지 포인트가 되는 단어를 추출해 이를 연결해보자면 아래와 같은 의미를 산출 할 수 있다. 독립적이지만 연관되어 있

[ 생각 ] 존중과 존경은 구걸하는 것이 아니다


나의 어린 시절에 어른들은 
나에게 존중과 존경을 원했다.

그런 존중과 존경의 의미로
존댓말과 자신들에 요구에 절대적인 긍정하기를 원했다.

하지만,
나는 이런 어른들의 요구에
정확히 언어로 설명할 수는 없었지만
어떤 위화감이 들었다.

그리고 그런 위화감을 내 나름대로 표현했지만
그런 사람들 중 많은 수가 
대개 내가 어른이 된다면 이해할 수 있다며 
다시는 언급하기를 꺼려했고 불편해 했다.

다시금 언급한다면
가정 교육부터 시작해 심하면 그렇게 불만이면 
한국을 떠나라는 이야기를 듣고는 했다.

나의 입을 사실상 봉쇄한 것이다.

물론 나의 이런 경험에
어떠한 사람은 이런 이야기는 하는 사람들은 
소수일 뿐이라며 손사래를 치겠지만

약 28년 동안 현실과 가상을 넘나들며
많은 시도를 했지만
결국 같은 말만 반복해서 들었을 뿐이다.

여기서 그 어른이란 
한국에 흔히 있는 나이로 나눈 어른이다.

하지만 그들의 예상과는 반대로
나는 지금 이 시점에도 여전히 그들의 말에 동의할 수 없다.

나의 그들에 대한 위화감이 맞았던 것이다.

여기서 더 나아가 
그들이 어떠한 의도와 목적에서 
그런 말을 했는지 인식할 수 있었다.

결론적으로 그들은 사실 
존중과 존경을 원하기는 커녕
단순히 복종을 원한 것이다.

자신의 위치와 자신의 알량한 자존심 
그리고 체면이 있기 때문에 
본질을 흐려 바꿔 말한 것 뿐이다.

그들은 자신의 알량한 자존심과 
자신이 '어른'이라는 위치 
즉, 체면을 위해 구태여 거짓말을 한 것이고
바꿔 말해서 나에게 존중과 존경을 구걸한 것 이다.

그리고 다시는 이에 대해 입 밖에도 꺼내지 못하게
어른이 된다면 이라는 조건을 달아
자신이 불리할 수 있는 자신의 신뢰성이 잃을 수 있는 
논의 자체를 틀어막은 것 이다.

나는 애석하게도 이러한 말에 속고 말았던 것이다.

물론 그러한 비겁하고 비열한 어른들은
그걸 진짜로 믿었냐며 어깨를 으쓱하겠지만 말이다.

사실 그들의 이러한 행태는 놀랍지도 않다.

사기를 당한 사람이 잘못이며, 
피해를 당한 사람이 잘못이라는 인식은 
한국에서 너무 흔해 빠졌다.

왕따를 당한 사람이 잘못이며,
사기를 당한 사람이 잘못이며,
안전 운전을 했음에도 
상대의 위험한 운전으로 인한 사고 또한 
안전 운전을 한 당사자가 잘못이라는 말을 흔히 들을 수 있다.

더 나아가 식당에서 
어떤 한 아이가 넘어져 
어떤 손님의 옷을 더럽혔을 때
'얘가 그럴수도 있지 않느냐'며 
사과의 말 보다 옷이 더렵혀진 손님을 
역으로 꾸짖는 부모의 이야기는 전혀 놀랍지 않다.

대화의 컨텍스트를 완벽히 무시한 것이다.

이런 말이 논리적으로 문제 없는 말인데도 불구하고 
어딘가 꺼림직한 느낌이 드는 것은 당연하다.

이는 당한 사람이 컨트롤 할 수 없는 상황에 대해
스스로가 한탄이 섞인 말로 
어쩔 수 없음을 표현할 때 할 수 있는 말이지
가해자나 이와 상관없는 
제 3자가 이야기 할 자격이 없다.

이들은 정확히 무례한 사람들이다.

이 처럼 비열하고 무례한 어른들은
자신의 체면과 사회적 위치를 지키기 위해 
자신의 비열한 본심을 숨기려 한다.

존중과 존경은 구걸하는 하듯이 
요구할 수 있는게 아니다.

역으로 스스로가 
타인을 존중과 존경한다고 한들 
존중과 존경에서 나오는 마음과 무의식 적인 행동보다 
말이 먼저 나온다면 
이 또한 구걸 하는 것과 크게 다를바 없다.

배려 또한 마찬가지다.

모두 자발적이고 높은 가치를 지닌 것이기에 
매우 희소하며 보기 드물다.

모두가 어떠한 행동을 통해 배려를 한다면
그것은 배려가 아니라 관습이 되어버리고
배려가 가지고 있던 힘을 잃어버린다.

존중과 존경 또한 이와 크게 다를 바 없다.

하지만 그럼에도 불구하고 
이런 구걸 방식이 꽤나 현실에서 먹힐 수 밖에 없는데 

물리적이던 사회적이던
결국 누군가는 힘이 쎄고, 
힘이 약할 수 밖에 없기 때문이다.

즉, 이러한 단순한 파워 게임에서 
상대적으로 밀릴 수 밖에 없다.

그것이 돈이던 사회에서의 위치이건 말이다.

파워에 우위가 있는 사람이 
비교적 약한 상대를 다루는 것 처럼 
쉬운 일이 있을까?

단지 눈앞에 뻔히 보이는 
상대의 치명적인 약점을 쥐고 흔들면 될 뿐이다.

그들이 그 당시 쥐고 있던 나의 약점은
나이, 경험, 사회적 지위, 자본 등 
사실상 모든 것에 가깝다.

그리고 그 차이는 
내가 나이를 먹고 경험을 함과 동시에 
그들 또한 동일하게 나이를 먹고 경험을 하게 될테니
결론적으로 대개 그 차이는 영원히 메꿔지지 않을 것 이며

언제나 그들은 어떤 핑계를 대서라도 
나를 업신여기려 할 것이다.

그렇기 때문에 
먼저 나이로 압박하고 그 뒤에는 경험이 
그 다음은 자신의 사회적 지위 또는 경제력으로 
나를 압박한 것이다.

자신들의 프레임워크에 가두어 두기 위해서 말이다.

프레임워크에 가두기만 하면 
어느 정도 예측이 가능해지고 
이를 통해 자신들의 의도대로 자신들의 이익에 딱 들어맞게 
틀 안에 있는 게임 참여자들을 
꼭두각시 처럼 움직이게 하려 할 것이다.

혹여 이러한 프레임워크에 조금이라도 벗어나려는 
사람을 보게 된다면
그들이 가지고 있는 모든 것을 활용해서
사회적, 물리적인 철퇴를 가하려고 할 것이기 때문에
이러한 판 자체를 뒤집는 것은 사실상 불가능에 가깝다.

따라서 이에 대한 해답은 
그들의 게임에서 벗어 나는 것 뿐이며
이와 동시에 내가 자신 있는 게임에 참여하거나
나만의 게임을 만드는 것이다.

어쨋든 이처럼 파워가 강하면 강할 수록 
상대의 약점 명확하게 보인다.

대부분의 파워 게임은 이러한 룰에서 벗어나지 못한다.

무엇보다 존중과 존경을 받는 것보다
존중과 존경을 구걸하는 것이 압도적으로 빠르다.

마음에서 우러러나오는 
존중과 존경을 받기위해서는 
스스로가 모범을 보여야하고, 

이것이 말 뿐만아니라 
행동으로 자연스럽게 보여야 하는데

그러한 자질이 없는 
비열한 사람들에게는 매우 어려운 일이다.

또한 자신들에게는 
그러한 자질 따윈 존재하지 않는 것을 
스스로 너무 나도 잘 알고 있다.

물론 흉내는 낼 수 있지만
맞지 않은 옷을 입은 것 처럼 우스꽝스럽기 때문에
오히려 이럴 경우 신뢰를 잃어버릴 것이기 때문이다.

물론 자신이 그러한 자질이 있음에도
개발되어 있지 않을 수도 있다.

하지만 비열한 사람들은
눈 앞에 보이는 대외적인 이득 때문에 
이러한 리스크를 짊어지는 것도 꺼려한다. 

그들은 자신이 리스크를 적게 지고
많은 이득을 손에 넣으려 하는 것이다.

그리고 그 리스크는 상대에게 넘어 가게 된다.

따라서 그들은 가장 빠른 길인
존중과 존경을 구걸하는 것을 선택할 것이다.

하지만 생각해봐라.

길에 동냥하는 거지가
허리와 고개를 뻗뻗이 세우며 
구걸한다면 얼마나 우스운가?

그들의 그런 모습이 
우스꽝스러운 거지의 모습과 매우 유사하다.

그들과 거지가 차이가 있다면, 
조금 깨끗한 옷을 입었을 뿐
사실 내면은 거지와 다름없다.

그렇기 때문에  
존중과 존경은 구걸할 수 있는 것이 아니다.

사실 구걸하는 행위 자체는 
그렇게 문제가 되지 않는다.

문제는 존중과 존경을 
구걸해 얻어내면 얻어낼 수록 
진실되고 순수한 존중과 존경이 
빛을 잃어버리기 때문에 
매우 질이 나쁘다는 것이다.

매우 순수하고, 가치 있고, 
타의 모범이 되는 행동이 
이러한 질 나쁜 불순물 섞여버리기에
빛을 잃을 수 밖에 없는 것 이다.

시간이 지남에 따라 
불순물이 계속해서 유입되고
결국에는 존중과 존경이 사라지게 되는 것은 
운명과도 같다.
  
이 세상에 배려라는 
이름으로 행해진 행위들 덕분에 
진실된 배려는 
눈 씻고도 찾아보기 힘들어지지 않았는가?

보라!
불과 몇 십 년 전만 해도 
나는 가슴 따듯한 배려를 느낄 수 있었다.

하지만 지금은 어떠한가?

그들의 말대로 개인주의나 
요즘 것들이 버릇이 없기 때문에 
세상에 배려가 사라진 것 일까?

전혀 그렇지 않다.

그저 그들이 불리할 수 있는 행동을 
기억속에서 지우려고 하는 
그들의 비열하고 저열한 행위 때문이다.

자신들의 손바닥으로 죄를 가둘 수 없으니
다른 곳으로 시선을 돌리려하는 것 이다. 

그럼에도 불구하고
나는 나의 구태여 그들을 설득하거나
그들에게 분노하진 않을 것이다.

그들은 그들의 업보를 어떤 형태로든 
언젠간 받게 될 것이며
나는 일말의 동점심도 없기 때문이다.

나는 내 주위 사람들이 
자신의 삶에 만족해 나아간다면 그것으로 족하다.

이 블로그의 인기 게시물

[ Web ] 웹 애플리케이션 아키텍처 (Web Application Architecture)

[ Web ] 서버 사이드(Sever Side) ? 클라이언트 사이드(Client Side)? 1 [서론, 클라이언트 사이드(Client Side)]

[ Web ] 웹 애플리케이션 서버 아키텍처의 정의 및 유형 ( Define and Types of Web Application Server Architecture )