KR102430882B1 - 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체 - Google Patents

클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체 Download PDF

Info

Publication number
KR102430882B1
KR102430882B1 KR1020210177529A KR20210177529A KR102430882B1 KR 102430882 B1 KR102430882 B1 KR 102430882B1 KR 1020210177529 A KR1020210177529 A KR 1020210177529A KR 20210177529 A KR20210177529 A KR 20210177529A KR 102430882 B1 KR102430882 B1 KR 102430882B1
Authority
KR
South Korea
Prior art keywords
user account
admissionview
data
authentication
user
Prior art date
Application number
KR1020210177529A
Other languages
English (en)
Inventor
이기욱
박주영
김범수
Original Assignee
에스지에이솔루션즈 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스지에이솔루션즈 주식회사 filed Critical 에스지에이솔루션즈 주식회사
Priority to KR1020210177529A priority Critical patent/KR102430882B1/ko
Priority to PCT/KR2021/019477 priority patent/WO2023113081A1/ko
Application granted granted Critical
Publication of KR102430882B1 publication Critical patent/KR102430882B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0892Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Power Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)

Abstract

본 발명은 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법에 관한 것으로서, 구체적으로는 CLI 및, API 중 적어도 어느 하나를 포함하는 인터페이스를 통해 쿠버네티스(Kubernetes) API 서버로 요청된 AdmissionView 데이터를 웹훅(Webhook) 서버가 후킹(hooking)하여, 사용자 계정의 식별 정보를 추출하고, 추출된 식별 정보가 사용자 정책 모듈에 등록된 식별 정보인지를 확인하는 인증 단계; 인증 단계의 수행 결과, 사용자 정책 모듈로부터 상기 사용자 계정이 인증된 사용자 계정으로 판단된 경우, 사용자 계정에서 요청된 AdmissionView 데이터의 실행 권한을 인증된 사용자 계정에 설정된 보안 역할 및 보안 등급을 기반으로 판단하고, 모범 사례 기반의 AdmissionView 데이터를 검증하는 인가 단계; 및, 인가 단계의 수행 결과에 따라, 사용자 계정이 쿠버네티스 API서버에 요청한 AdmissionView 데이터에 대한 접근 제어를 수행하는 접근 제어 단계;를 포함하는 것을 특징으로 한다.

Description

클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체{METHOD, APPARATUS AND COMPUTER-READABLE MEDIUM FOR CONTAINER WORK LOAD EXECUTIVE CONTROL OF EVENT STREAM IN CLOUD}
본 발명은 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법에 관련된 것으로서, 구체적으로는 쿠버네티스의 동적 승인 제어 컨트롤러인 Admission Controller Plugin을 확장하여 보안 커널에서의 Security Group, Security Role, Security Level 기반의 RBAC 통제를 활용해 정책 기반의 승인 제어 메커니즘으로 컨테이너 워크로드 상의 악의적인 행위를 제어하고자 하는 기술과 관련된 것이다.
쿠버네티스(Kubernates)는 클라우드화된 애플리케이션을 빠르게 생성하고 자동으로 배포한 컨테이너를 오케스트레이션 스케일 in/out 등을 제공하는 관리 시스템으로서, 최근 클라우드 환경에서 다양하게 활용되고 있다.
특히 이러한 쿠버네티스는 소프트웨어를 서버에 직접 설치하여 쓰는 방식인 온프레미스 환경과 하이브리드 외부 클라우드 환경에서도 운영할 수 있고, 마이크로 서비스 아키텍처 방식으로 최적화되어 대규모의 클라우드 서비스의 운영을 지원하여, 구글, 마이크로소프트, 아마존 등의 글로벌 기업들과 일반적인 개발 환경에서도 개발자들의 공개 소프트웨어 방식으로 업데이트 및 관리할 수 있게 한다는 강점이 있으며, 근래에는 이러한 쿠버네티스를 활용한 다양한 시스템이 개발되고 있는 추세이다.
한 실시 예로서, 한국 등록 특허 제10-2192442호에는 쿠버네티스 플랫폼 환경에서 리더 분산을 통한 처리 성능 개선 기술로서, 쿠버네티스 클러스터에 배포된 어플리케이션의 리더 분포 현황을 고려하여 새롭게 배포되는 어플리케이션의 리더를 선정하여 분산 배치하는 기술이 제시되고 있다.
그러나 상술한 쿠버네티스는 컨테이너 워크로드 상의 모든 클러스터로의 접근/실행은 Master Component인 API 서버를 통해 승인/저장되나 별도의 사용자 계정의 인증 및 접근 통제 기능이 디폴트로 삽입되어 있지 않은 문제로, 1.8 이전 버전에는 클러스터에 대한 모든 접근이 가능한 서비스 계정이 바인딩되어 있어 클러스터에 대한 모든 접근이나 보안 정보의 탈취가 쉽다는 약점이 있으며, 실제로, 테슬라의 경우 쿠버네티스 대시보드(Kubernetes-dashboard)의 접근을 통해 해킹을 당한 사례가 발생하기도 하는 등 보안 상의 큰 이슈가 있다.
한편 상기의 보안 이슈를 해소하기 위하여 쿠버네티스에서는 cluster security, node security, pod security policy 등 기본적인 보안 정책을 제공하고 있으나, 이러한 보안 정책들이 상기의 악의적인 행위를 제어하는 것에는 한계가 있어 이에 대한 대책의 마련이 시급히 요구되고 있다.
이에 본 발명은 쿠버네티스 워크로드 상의 모든 클러스터로의 접근/실행에 대해 동적 승인 제어 컨트롤러인 Admission Controller Plugin을 확장하여 보안 커널에서의 Security Group, Security Role, Security Level 기반의 RBAC 통제를 활용해 정책 기반의 승인 제어 메커니즘으로 컨테이너 워크로드 상의 악의적인 행위를 제어하고자 하는 것에 그 목적이 있다.
상술한 목적을 달성하기 위한 하나 이상의 프로세서 및 상술한 프로세서에서 수행 가능한 명령들을 저장하는 하나 이상의 메모리를 포함하는 컴퓨팅 장치에서 구현되는 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법은, CLI 및, API 중 적어도 어느 하나를 포함하는 인터페이스를 통해 쿠버네티스(Kubernetes) API 서버로 요청된 AdmissionView 데이터를 웹훅(Webhook) 서버가 후킹(hooking)하여, 사용자 계정의 식별 정보를 추출하고, 추출된 식별 정보가 사용자 정책 모듈에 등록된 식별 정보인지를 확인하여 사용자 계정에 대한 인증을 수행하는 인증 단계; 인증 단계의 수행 결과, 사용자 정책 모듈로부터 사용자 계정이 인증된 사용자 계정으로 판단된 경우, 사용자 계정에서 요청된 AdmissionView 데이터의 실행 권한을 인증된 사용자 계정에 설정된 보안 역할 및 보안 등급을 기반으로 판단하고, 모범 사례 기반의 AdmissionView 데이터를 검증하는 인가 단계; 및, 인가 단계의 수행 결과에 따라, 사용자 계정이 쿠버네티스 API서버에 요청한 AdmissionView 데이터에 대한 접근 제어를 수행하는 접근 제어 단계;를 포함하는 것을 특징으로 한다.
상술한 인증 단계는, AdmissionView 데이터에서 추출되는 식별 정보로서, AdmissionView 데이터의 요청 헤더, AdmissionView 데이터를 요청한 호스트 정보 및, AdmissionView 데이터에 명시된 리소스에 대한 Verbs 요청 정보 중 적어도 어느 하나를 포함하는 정보를 추출하는 것이 바람직하다.
또한 상술한 실행 권한 판단 단계는, 인증된 사용자 계정에 RBAC(Role Based Access Control), ABAC(Attribute-based access control) 및 웹훅을 사용하여 요청된 AdmissionView 데이터의 실행 권한이 부여되어 있는지를 확인하는 것이 바람직하다.
또한 상술한 실행 권한 판단 단계에서는, 사용자 계정의 IP주소 및 서비스 포트 번호가 사용자 정책 모듈에 등록된 IP주소 및 서비스 포트 번호인지를 확인하여 기 등록된 호스트 정보인지를 판단하는 제1 판단 단계; 제1 판단 단계의 수행 후, 상기 사용자 계정의 IP주소가 상기 쿠버네티스 API서버로의 접근이 허용된 IP주소인지 여부를 판단하는 제2 판단 단계; 및, 제1 판단 단계 및 제2 판단 단계의 수행 결과, 사용자 계정이 기 설정된 판단 기준을 충족할 시, 사용자 계정이 AdmissionView에 명시된 리소스에 대한 Verbs를 실행할 권한이 있는지 여부를 판단하는 제3 판단 단계;가 수행되는 것이 바람직하다.
또한 상술한 제1 판단 단계는, 사용자 계정의 IP주소 및 서비스 포트 번호를, 네임스페이스마다 설정된 접근 권한과 비교하여, 사용자 계정에 설정된 보안 역할 및 보안 등급을 파악하도록 하는 것이 바람직하다.
또한 상술한 인증 단계는, 사용자 계정의 클라이언트 인증서, 전달자 토큰, 인증 프록시 및 http 기본 인증 중 적어도 어느 하나를 포함하는 수단을 사용하여 합법적인 사용자 계정인지 여부를 판단하는 것이 바람직하다.
또한 상술한 접근 제어 단계는, 사용자 계정에 상기 AdmissionView 데이터의 실행 권한이 부여된 상태인 경우, 사용자 계정이 상기 쿠버네티스 API 서버에 접근할 수 있게 하여, 상기 요청한 AdmissionView 데이터의 실행을 허여하고, 사용자 계정에 AdmissionView 데이터의 실행 권한이 미부여된 상태인 경우, 사용자 계정이 쿠버네티스 API 서버로 접근하는 것을 거부하는 것이 바람직하다.
한편 하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 하나 이상의 메모리를 포함하는 컴퓨팅 장치로 구현되는 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 장치는, 사용자 계정에서 쿠버네티스(Kubernetes) API 서버로 요청된 AdmissionView 데이터를 웹훅(Webhook) 서버가 후킹(hooking)하여, 사용자 계정의 식별 정보를 추출하고, 추출된 식별 정보가 사용자 정책 모듈에 등록된 식별 정보인지를 확인하여 사용자 계정에 대한 인증을 수행하는 인증부; 인증부의 기능 수행 결과, 사용자 정책 모듈로부터 사용자 계정이 인증된 사용자 계정으로 판단된 경우, 사용자 계정에서 요청된 AdmissionView 데이터의 실행 권한을 인증된 사용자 계정에 설정된 보안 역할 및 보안 등급을 기반으로 판단하고, 모범 사례 기반의 AdmissionView 데이터를 검증하는 인가부; 및, 인가부의 기능 수행 결과에 따라, 사용자 계정이 쿠버네티스 API서버에 요청한 AdmissionView 데이터에 대한 접근 제어를 수행하는 접근 제어부;를 포함하는 것을 특징으로 한다.
또 다른 한편 컴퓨터-판독 가능 기록 매체로서, 컴퓨터-판독 가능 기록 매체는, 컴퓨팅 장치로 하여금 이하의 단계들을 수행하도록 하는 명령들을 저장하며, 상기 단계들은: 사용자 계정에서 쿠버네티스(Kubernetes) API 서버로 요청된 AdmissionView 데이터를 웹훅(Webhook) 서버가 후킹(hooking)하여, 사용자 계정의 식별 정보를 추출하고, 추출된 식별 정보가 사용자 정책 모듈에 등록된 식별 정보인지를 확인하여 사용자 계정에 대한 인증을 수행하는 인증 단계; 인증 단계의 수행 결과, 사용자 정책 모듈로부터 사용자 계정이 인증된 사용자 계정으로 판단된 경우, 사용자 계정에서 요청된 AdmissionView 데이터의 실행 권한을 인증된 사용자 계정에 설정된 보안 역할 및 보안 등급을 기반으로 판단하고, 모범 사례 기반의 AdmissionView 데이터를 검증하는 인가 단계; 및, 실행 권한 판단 단계의 수행 결과에 따라, 사용자 계정이 쿠버네티스 API서버에 요청한 AdmissionView 데이터에 대한 접근 제어를 수행하는 접근 제어 단계;를 포함하는 것을 특징으로 한다.
본 발명의 일 실시 예에 따르면, 쿠버네티스의 동적 승인 제어 컨트롤러인 Admission Controller Plugin을 확장하여 보안 커널에서의 Security Group, Security Role, Security Level 기반의 RBAC 통제를 활용해 정책 기반의 승인 제어 메커니즘으로 컨테이너 워크로드 상의 악의적인 행위를 제어할 수 있다는 효과가 있다.
또한, 본 발명의 일 실시 예에 따르면, 클러스터에 대한 모든 접근 가능한 서비스 계정이 바인딩되어 있기 때문에 발생하는 사용자의 역할에 따른 권한 설정의 부재를 보안 커널과 연계하여 PAM과 권한이 없는 사용자에 대한 보안 커널 수준에서의 컨테이너 워크로드 상에서 악의적인 실행을 차단하도록 기능할 수 있다.
또한, 본 발명의 일 실시 예에 따르면, 클라우드 관리시스템 내의 root 권한 탈취 시, 보안 커널 사용자의 접근 제어를 통해 악의적인 컨테이너 혹은 악의적인 컨테이너 이미지의 배포/실행/수정/삭제하는 행위 및, 컨테이너가 격리 감시를 피하거나 추가 권한을 얻는 등 호스트에서 민감한 정보에 접근함을 표현하는 컨테이너 브레이크 아웃 등 컨테이너 워크로드 상의 악의적인 실행을 차단하도록 기능할 수 있다.
즉 본 발명에서는 쿠버네티스 API 서버로의 인증되지 않은 호스트 접근을 차단함으로써, 접근 통제 기능이 탑재되지 않은 쿠버네티스 대시보드(Kubernetes-dashboard)의 보안성을 강화하는 효과가 있다.
도 1은 본 발명의 일 실시 예에 따른 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법의 흐름도.
도 2는 본 발명의 일 실시 예에 따른 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법의 아키텍쳐.
도 3은 본 발명의 일 실시 예에 따른 AdmissionView 데이터의 접근에 대한 실행 권한 판단의 흐름도.
도 4 및 5는 본 발명의 일 실시 예에 따른 웹훅 로그의 예.
도 6은 본 발명의 일 실시 예에 따른 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 장치의 구성도.
도 7은 본 발명의 일 실시 예에 따른 컴퓨팅 장치의 내부 구성의 일 예.
이하에서는, 다양한 실시 예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.
본 명세서에서 사용되는 "실시 예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.
또한, 제 1, 제 2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 발명의 실시 예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시 예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명은 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법에 관련된 것으로서, 구체적으로는 쿠버네티스의 동적 승인 제어 컨트롤러인 Admission Controller Plugin을 확장하여 보안 커널에서의 Security Group, Security Role, Security Level 기반의 RBAC 통제를 활용해 정책 기반의 승인 제어 메커니즘으로 컨테이너 워크로드 상의 악의적인 행위를 제어하고자 하는 기술을 제공하는 것을 목적으로 한다.
한편 이하에서는 상기 목적을 달성하기 위한 본 발명에 대한 구체적인 설명을 첨부된 도면을 참조하여 설명하기로 하고, 하나 이상의 기술적 특징 또는 발명을 구성하는 구성 요소를 설명하기 위하여 다수의 도면이 동시 참조될 수 있을 것이다.
도 1을 참조하여 보면, 도 1에는 본 발명의 일 실시 예에 따른 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법의 흐름도가 도시되어 있다.
도 1에 도시된 바와 같이, 본 발명에서는 먼저 CLI 및, API 중 적어도 어느 하나를 포함하는 인터페이스를 통해 쿠버네티스(Kubernetes) API 서버로 요청된 AdmissionView 데이터를 웹훅(Webhook) 서버가 후킹(hooking)하여, 사용자 계정의 식별 정보를 추출하고, 추출된 식별 정보가 사용자 정책 모듈에 등록된 식별 정보인지를 확인하여 사용자 계정에 대한 인증을 수행하는 인증 단계(S10)가 수행될 수 있다.
이때 상술한 CLI는 Command Line Interface의 약자로, 텍스트 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식의 개념으로 이해될 수 있을 것이며, 상술한 API는 Application Programming Interface의 약자로 RESTful 인터페이스를 통해 쿠버네티스 기능을 제공하는 것으로 이해될 수 있을 것이다.
또한, S10 단계에서의 후킹이란, 사용자 계정이 쿠버네티스 API서버로 요청한 AdmissionView 데이터를 웹훅 서버가 가로채는 행위로 정의될 수 있을 것이며, S10 단계에서 AdmissionView 데이터로부터 추출되는 식별 정보는 AdmissionView 데이터의 요청 헤더, AdmissionView 데이터를 요청한 호스트 정보 및, AdmissionView에 명시된 리소스에 대한 Verbs 요청 정보 중 적어도 어느 하나를 포함하는 정보인 것으로 이해될 수 있을 것이다.
이때 상술한 AdmissionView란 사용자가 쿠버네티스 API 서버로 요청한 매니페스트 데이터를 담고 있는 객체의 개념으로 이해될 수 있을 것이며, 상술한 AdmissionView 데이터에 명시된 리소스에 대한 Verbs 요청 정보의 경우, AdmissionView 데이터에서, "curl"이라는 이름의 POD를 생성하려는 요청에 대한 정보를 추출하는 것으로 이해될 수 있다.
한편 상술한 POD는 쿠버네티스에서 생성/관리 되고, 배포 가능한 가장 작은 컴퓨팅 단위인 것으로 이해될 수 있으며, 하나 이상의 컨테이너 그룹을 공유하고, 해당 컨테이너를 구동하는 방식에 대한 명세를 갖는다.
앞서 언급하였듯이 도 1의 S10 단계에서는 추출된 식별 정보가 사용자 정책 모듈에 등록된 식별 정보인지를 확인하여 사용자 계정에 대한 인증을 수행하게 된다.
구체적으로 S10 단계에서는 사용자 계정의 클라이언트 인증서, 전달자 토큰, 인증 프록시 및, http 기본 인증 중 적어도 어느 하나를 포함하는 수단을 사용하여 사용자 계정이 합법적인 사용자 계정인지 여부를 판단한다.
구체적으로 클라이언트 인증서에 기반한 인증은, 예를 들어 X.509인증서 방식으로 행해질 수 있는데, X.509인증서는 쿠버네티스를 설치할 때 자동으로 생성되고, 마스터 노드 서버에서 직접 kubect1을 실행할 때 kubect1이 참조하는 kubeconfig파일에 인증서 내용이 포함된다.
이 인증서는 마스터 노드의 /etc/kubernetes/pki 디렉토리에 있는 ca.crt를 루트 인증서로 하여 만들어진 하위 인증서 중 하나로, 이 하위 인증서가 생성될 때 사용자와 그룹이 지정되고, 이 때 그룹명으로 지정된 system:masters라는 값이 실제 쿠버네티스에 존재하는 cluster-admin이라는 클러스터롤에 연결되어 권리자 권한을 갖게 된다.
즉 클라이언트 인증서 기반의 인증은, 외부의 사용자 계정이 쿠버네티스 API 서버에 접근하였을 때, 먼저 kubeconfig 파일에 클러스터 정보로 사용자 계정에서 추출된 식별 정보에 대응되는 정보가 존재하는지 확인함으로써 사용자 계정이 합법적인 사용자 계정인지 여부를 판단하는 것으로 이해될 수 있다.
한편 다른 실시 예로서, 상술한 전달자 토큰에 기반한 인증은, 웹훅 서버에 추출된 사용자 계정의 식별 정보를 전달하여, 사용자 계정이 유효한 클라이언트인지 여부를 확인하는 방식으로 이해될 수 있다.
즉 사용자 계정은 미리 인증 데이터를 발급 받아둔 뒤, 인증 데이터를 헤더에 담아 쿠버네티스 API 서버로 인증 요청을 보내면, 쿠버네티스 API 서버는 웹훅 서버에 인증 데이터를 전달하고, 웹훅 서버는 사용자 정책에 기 등록된 클라이언트 정보에 기초하여 전달받은 인증 데이터에 대한 유효성 검사를 수행함으로써, 사용자 계정이 합법적인 사용자 계정인지 여부를 판단하게 된다.
이때 상술한 전달자 토큰에 기반한 인증은, 모든 사용자 정보 스토리지 및 인증이 ID 서비스에서 처리되게 되므로, ASP.NET Core ID 미들웨어가 요구되지 않는다는 장점이 또한 존재한다.
또한 다른 실시 예로서, 본 발명에서 언급하는 사용자 계정의 인증은, 프록시 기반으로 행해질 수 있다.
한 실시 예로서, 본 발명에서는 curl에 kubctl proxy의 명령을 사용하여 프록시를 설정하고, 프록시로 API URL을 호출하여 현재 kubeconfig file에 저장된 사용자 계정의 접근 권한을 불러옴으로써 사용자 계정의 접근 권한을 확인하고 이에 따라 사용자 계정이 요청된 AdmissionView 데이터의 접근에 합법적인 사용자 계정에 해당하는지 여부를 판단한다.
한편 사용자 계정의 인증에 프록시 서버를 이용할 경우, 본 발명에서는 사용자 계정에 대한 인증 요청이 쿠버네티스 API 서버로 제공되기 이전, 프록시 서버에 전달되도록 하여 사용자 계정에 대한 인증을 선제적으로 수행하게 함으로써, 쿠버네티스 API 서버에 대한 접근 보안성을 강화하도록 함이 바람직할 것이다.
한편 또 다른 실시 예로서, 본 발명에서는 사용자 계정의 인증 방식으로 http 기본 인증을 이용할 수도 있다.
구체적으로 상술한 http 기본 인증은, http 프로토콜에서 제공하는 인증 방식 중 하나로서, 쿠버네티스 API 서버가 사용자 계정을 확인하기 위하여 사용자 계정에 사용자 이름과 비밀번호 입력을 요청하여 사용자 계정의 인증이 수행되도록 하는 방식으로 이해될 수 있다.
단순하고 편리하다는 장점이 있으나, 사용자 이름과 비밀번호의 노출 우려가 있어 단독 사용하기에는 적합하지 아니하며, SSL과 같은 암호 기술과 혼용하여 사용하도록 함이 바람직하다.
또한, 이에 더 나아가 상술한 S10 단계의 사용자 계정의 인증 방식은 전술한 실시 예 중 어느 하나를 선택적으로 이용할 수도 있을 것이나, 바람직하게는 둘 이상의 인증 수단을 이용하여 AdmissionView 데이터를 요청한 사용자 계정이 합법적인지 또는 불법적인지 여부를 판단함으로써, 사용자 계정의 인증 신뢰도를 향상토록 함이 바람직할 것이다.
한편 S10 단계의 수행 후에는, S10 단계의 수행 결과 사용자 정책 모듈로부터 사용자 계정이 인증된 사용자 계정인 것으로 판단될 시, 사용자 계정에서 요청된 AdmissionView 데이터의 실행 권한을 인증된 사용자 계정에 설정된 보안 역할 및 보안 등급을 기반으로 판단하고, 모범 사례 기반의 AdmissionView 데이터를 검증하는 인가 단계(S20)가 수행될 수 있다.
바람직하게 상술한 S20 단계에서는, 인증된 사용자 계정에 RBAC(Role Based Access Control), ABAC(Attribute-based access control) 및 웹훅을 사용하여 상기 요청된 AdmissionView 데이터의 실행 권한이 부여되어 있는지를 확인할 수 있다.
이때 상술한 RBAC는, 역할(Role)을 기반으로 쿠버네티스 시스템의 권한을 관리하며, 특정 사용자와, 역할 두 가지를 조합하여 사용자에게 특정 권한을 부여하며, 상술한 역할은, 특정 API나, 리소스(POD, Deploy 등 ), 사용 권한을 매니페시트 파일에 명시해둔 규칙의 집합이 되며, 특정 네임스페이스에 대한 권한을 관리하도록 기능한다.
즉, 이에 따라서, 상술한 RBAC는 클러스터 내 개별 사용자의 역할을 기반으로 리소스에 대한 접근을 제어하는 방식의 개념으로 이해될 수 있을 것이다.
또한 상술한 ABAC는 속성을 기반으로 사용자 계정의 권한 관리를 수행하는 것으로 이해될 수 있다. ABAC는 사용자 속성, 리소스 속성, 오브젝트 속성, 환경 속성 등 모든 유형의 속성을 사용할 수 있는데, 한 실시 예로서, 본 발명에서는 사용자/그룹/보안의 속성이 이용될 수 있다.
또한 다른 실시 예로서, 본 발명에서는 웹훅을 이용하여 사용자 계정의 리소스에 대한 접근 권한을 제어할 수도 있다.
이때 상술한 웹훅은 http콜백의 개념으로도 이해될 수 있는데, 쿠버네티스 API서버에서 사용자 권한을 확인할 때 외부 REST 서비스를 쿼리하여 사용자 계정에 설정된 권한 관리를 수행한다.
즉, 본 발명의 S20 단계에서는 웹훅 서버와 보안 커널을 연계한 후, 상술한 RBAC, ABAC, 웹훅 중 적어도 어느 하나를 포함하는 수단을 이용하여 사용자 계정이, 사용자 계정에서 요청된 AdmissionView 데이터의 실행 권한이 존재하는지 여부를 판단하도록 하는 기능이 수행되는 것으로 이해될 수 있다.
더욱 상세히 설명하면, 본 발명에서는 사용자 계정의 IP주소 및 서비스 포트 번호가 상기 사용자 정책 모듈에 등록된 IP주소 및 서비스 포트 번호인지를 확인하여 기 등록된 호스트 정보인지를 판단하는 제1 판단 단계가 수행된다.
이때 상술한 제1 판단 단계는, 사용자 계정이 합법적인 사용자 계정인지 여부를 식별하기 위해 수행되는 것으로, AdmissionView 데이터를 요청한 사용자 계정의 IP 주소 및 서비스 포트 번호가 사용자 정책 모듈에 미등록된 것으로 판단될 시, 불법적인 사용자 계정인 것으로 판단할 수 있다.
또한 AdmissionView 데이터를 요청한 사용자 계정의 IP 주소 및 서비스 포트 번호가 사용자 정책 모듈에 등록된 경우, 합법적인 사용자 계정으로 판단할 수 있고, 합법적 사용자 계정으로 식별된 IP주소 및 서비스 포트 번호를 네임스페이스마다 설정된 접근 권한과 비교하는 과정이 수행되게 된다.
이때 상술한 네임스페이스는, 클러스터의 논리적인 개념으로 하나의 클러스터 안에 여러 개의 네임 스페이스가 존재할 수 있는 개념으로 이해될 수 있을 것이며, 이러한 네임스페이스(사용자/그룹/보안 클러스터)의 접근 권한의 비교는, 사용자 계정에 설정된 접근 권한의 등급을 식별하기 위한 것으로 이해될 수 있을 것이다.
다음으로 제1 판단 단계의 수행 후에는, 사용자 계정의 IP 주소가 쿠버네티스 API 서버로의 접근이 허용된 IP 주소인지 여부를 판단하는 제2 판단 단계가 수행되게 된다.
또한, 상술한 제1 판단 단계 및 상술한 제2 판단 단계의 수행 결과, 사용자 계정이 기 설정된 판단 기준을 충족하는 경우(즉, 제1 판단 단계 및 제2 판단 단계의 판단 결과가 모두 쿠버네티스 API서버로의 접근이 허여된 경우), 사용자 계정이 AdmissionView에 명시된 리소스에 대한 Verbs를 실행할 권한이 있는지 여부를 판단하는 제3 판단 단계가 수행된다.
이때, 상술한 리소스는 쿠버네티스의 오브젝트들로 실행하고자 하는 대상으로, 예를 들어 PODS, SERVICE, NODES, CRONTABS, ENDPOINT 등이 있으며, 이러한 리소스에 대한 Verbs는 실행하고자 하는 액션(Action)에 대한 명시의 개념으로, 예를 들어 Create, Update, delete, patch, list, watch, get 등이 있을 수 있다.
한편 상술한 제3 판단 단계에서는 연계된 보안 커널의 ACL에 등록된 접근 통제 정책과 사용자 계정에 설정된 접근 권한을 비교하는 처리 과정이 수행되게 된다.
이때 상술한 ACL(Access Control)모듈은 운영체제 내의 여러 액세스 제어 리스트 유형에 대한 인프라를 지원하는 시스템의 개념으로 이해될 수 있는데, 본 발명에서는, ACL에 AdmissionView에 명시된 리소스에 대한 Verbs를 실행할 수 있는 주체가 지정되어 있어, 사용자 계정이 AdmissionView에 명시된 리소스에 대한 Verbs를 실행할 권한이 있는지를 ACL에서 확인함으로써 상기 Verbs의 실행 제어가 수행될 수 있게 되는 것이다.
한편 이상의 S20 단계에 대한 세부적인 프로세스를 도 3의 S1 내지 S5 단계에서 살펴볼 수 있다.
아울러 도 3에 도시되어 있듯, 본 발명에서는 S5 단계의 수행 후, 도 3에 도시되어 있듯 S5 단계의 수행 후에는, S1 내지 S5 단계의 수행 결과에 따른 AdmissionView 데이터 요청 정보에 대한 실행 권한에 대한 타당성 판정 결과를 웹훅 서버로 제공하는 S6 단계가 더 수행될 수도 있을 것이며, 본 발명은 이에 제한하지 않는다.
다시 도 1로 돌아와서, 전술한 S20 단계의 수행 후에는 S20 단계의 수행 결과에 따라 사용자 계정이 쿠버네티스 API 서버에 요청한 AdmissionView 데이터에 대한 접근 제어를 수행하는 접근 제어 단계(S30)가 수행될 수 있다.
구체적으로 상술한 S30 단계에서는 사용자 계정에 AdmissionView 데이터의 실행 권한이 부여된 상태인 경우, 사용자 계정이 쿠버네티스 API 서버에 접근할 수 있게 하여, 요청한 AdmissionView 데이터의 실행을 허여하도록 하는 것으로 이해될 수 있으며, 반대로, 사용자 계정에 AdmissionView 데이터의 실행 권한이 미부여된 상태인 경우, 사용자 계정이 쿠버네티스 API서버로 접근하는 것을 거부하도록 기능하는 것으로 이해될 수 있다.
한편 도 2의 10에서는 본 발명의 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법의 각 구성들의 연관 관계를 나타내는 아키텍쳐를 확인할 수 있다.
도 2에 도시된 바와 같이 본 발명에서는 쿠버네티스 API서버의 기본 데이터 저장소로 사용되는 etcd가 구비될 수 있는데, 이때 etcd는 쿠버네티스 API 서버에 요구되는 모든 데이터를 키-값 형태로 저장하는 데이터베이스의 개념으로 이해될 수 있을 것이다.
전술하였듯이 도 2에서는 쿠버네티스 API 서버와 웹훅 서버가 연결되고, 웹훅 서버가 사용자 정책 모듈과 연결되어 있는 것을 확인하여 볼 수 있다.
이러한 아키텍쳐에 의하면, 웹훅 서버는 사용자 계정이 쿠버네티스 API 서버로 AdmissionView 데이터를 요청한 것으로 판단될 시, 사용자 계정에서 요청된 AdmissionView 데이터에서 사용자 계정을 식별하기 위해 AdmissionView 데이터에서 AdmissionView 데이터의 요청 헤더 정보, AdmissionView 데이터에 명시된 리소스에 대한 Verbs 요청 정보를 추출하게 된다.
이후 본 발명에서는 상술한 추출 정보로부터, 사용자 계정이 사용자 정책 모듈에 기 등록된 합법적인 사용자인지 여부를 판단할 수 있고, 사용자 계정의 접근 권한 등급을 파악하여 결과를 도출함으로써, 사용자 계정이 쿠버네티스 API 서버로 요청된 AdmissionView 데이터로 접근하는 것에 대한 승인 또는 거부에 대한 접근 제어를 결정할 수 있게 된다.
보다 상세한 실시 에로서, 도 4를 참조하여 보면, 도 4의 실시 예 100에서는 앞서 설명한, 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법의 웹훅 로그가 첨부되어 있으며, A로 표시된 부분은 AdmissionView 데이터의 헤더 정보를 추출하는 예이고, B로 표시된 부분은 AdmissionView 데이터를 보낸 호스트에 대한 정보 추출의 예, C로 표시된 부분은 AdmissionView 데이터의 바디 정보로서 "curl"이라는 이름의 POD를생성하려는 요청에 대한 정보 추출의 예인 것으로 이해될 수 있다.
또한 이에 더하여 도 5의 실시예 110의 D에서는 전술한 도 4의 100의 실시 예에서의 판단 결과, 사용자 계정이 쿠버네티스 API 서버로 요청한 AdmissionView 데이터에 대한 접근이 허용된 결과값의 예를 살펴볼 수 있다.
즉 종합적으로, 본 발명의 일 실시 예에 따르면, 본 발명의 일 실시 예에 따르면, 쿠버네티스의 동적 승인 제어 컨트롤러인 Admission Controller Plugin을 확장하여 보안 커널에서의 Security Group, Security Role, Security Level 기반의 RBAC 통제를 활용해 정책 기반의 승인 제어 메커니즘으로 컨테이너 워크로드 상의 악의적인 행위를 제어할 수 있다는 효과가 있다.
또한, 본 발명의 일 실시 예에 따르면, 클러스터에 대한 모든 접근 가능한 서비스 계정이 바인딩되어 있기 때문에 발생하는 사용자의 역할에 따른 권한 설정의 부재를 보안 커널과 연계하여 PAM과 권한이 없는 사용자에 대한 보안 커널 수준에서의 컨테이너 워크로드 상에서 악의적인 실행을 차단하도록 기능할 수 있다.
또한, 본 발명의 일 실시 예에 따르면, 클라우드 관리시스템 내의 root 권한 탈취 시, 보안 커널 사용자의 접근 제어를 통해 악의적인 컨테이너 혹은 악의적인 컨테이너 이미지의 배포/실행/수정/삭제하는 행위 및, 컨테이너가 격리 감시를 피하거나 추가 권한을 얻는 등 호스트에서 민감한 정보에 접근함을 표현하는 컨테이너 브레이크 아웃 등 컨테이너 워크로드 상의 악의적인 실행을 차단하도록 기능할 수 있다.
즉 본 발명에서는 쿠버네티스 API 서버로의 인증되지 않은 호스트 접근을 차단함으로써, 접근 통제 기능이 탑재되지 않은 쿠버네티스 대시보드(Kubernetes-dashboard)의 보안성을 강화하는 효과가 있다.
이상과 같이 실시 예들이 비록 한정된 실시 예와 도면에 의해 설명되었으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다.
한편 다음으로 도 6을 참조하여 보면 도 6에서는 본 발명의 일 실시 예에 따른 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 장치(1000)의 구성도의 예를 살펴볼 수 있다.
도 6에 도시된 바와 같이, 본 발명에서는 상술한 장치(1000)의 주요 구성으로서, 인증부(1001), 인가부(1002) 및 접근 제어부(1003)를 포함할 수 있다.
구체적으로 상술한 인증부(1001)는 CLI 및, API 중 적어도 어느 하나를 포함하는 인터페이스를 통해 쿠버네티스 API 서버(1100)로 요청된 AdmissionView 데이터를 웹훅 서버(1200)가 후킹하여 사용자 계정의 식별 정보를 추출하고, 추출된 식별 정보가 사용자 정책 모듈(1400)에 등록된 식별 정보인지를 확인하여 사용자 계정에 대한 인증을 수행하도록 기능한다.
즉 상술한 인증부(1001)는 도 1의 S10 단계가 수행하는 기능을 모두 수행 가능한 것으로 이해될 수 있고, 본 발명에서는 상술한 인증부(1001)의 기능 수행에 의하면, 인증되지 않은, 즉 합법적이지 않은 사용자 계정이 쿠버네티스 API 서버(1100)로 접근하는 것을 차단하도록 하여 미비한 보안성을 강화할 수 있다는 효과를 발휘한다.
또한 다음으로 상술한 인가부(1002)는 앞서 인증부(1001)의 기능 수행 후, 사용자 정책 모듈(1400)로부터 사용자 계정이 인증된 사용자 계정으로 판단될 시, 사용자 계정에 요청된 AdmissionView 데이터의 실행 권한을 인증된 사용자 계정에 설정된 보안 역할 및 보안 등급을 기반으로 판단하고, 모범 사례 기반의 AdmissionView 데이터를 검증하도록 기능한다.
즉 상술한 인가부(1002)는 도 1의 S20 단계가 수행하는 기능을 모두 수행 가능한 것으로 이해될 수 있을 것이며, 상술한 인가부(1002)의 기능 수행에 의하여 본 발명에서는 하나의 네임스페이스를 여러 명의 사용자 계정이 사용하더라도, 사용자와 사용자의 역할을 확인하여 사용자에게 접근이 허여된 리소스에만 접근을 허여함으로써 쿠버네티스 API 서버(1100)의 미비한 보안성을 강화하는 효과가 있다.
한편 도 6에는 명시적으로 도시하지 않았으나, 상술한 인가부(1002)에서는, 전술한 도 1의 인가 단계가 제1 판단 단계, 제2 판단 단계 및 제3 판단 단계를 포함하는 것에 대응하여, 사용자 계정의 IP주소 및 서비스 포트 번호가 상기 사용자 정책 모듈에 등록된 IP주소 및 서비스 포트 번호인지를 확인하여 기 등록된 호스트 정보인지를 판단하는 제1 판단부, 사용자 계정의 IP주소가 상기 쿠버네티스 API서버로의 접근이 허용된 IP주소인지 여부를 판단하는 제2 판단부 및, 사용자 계정이 제1 판단부 및 제2 판단부에 설정된 판단 기준을 충족할 시, 사용자 계정이 AdmissionView에 명시된 리소스에 대한 Verbs를 실행할 권한이 있는지 여부를 판단하는 제3 판단부를 포함할 수 있을 것이며 본 발명은 이에 제한하지 않는다.
또한 다음으로 상술한 접근 제어부(1003)는, 앞서 인가부(1002)의 기능 수행 결과에 따라 사용자 계정이 쿠버네티스 API 서버(1100)에 요청한 AdmissionView 데이터에 대한 접근 제어를 수행하도록 기능한다.
즉, 이러한 접근 제어부(1003)는 앞서 도 1의 S30 단계가 수행하는 기능을 모두 수행 가능한 것으로 이해될 수 있으며, 본 발명에서는 상술한 접근 제어부(1003)의 기능 수행에 의하여, 사용자의 역할에 따른 권한 설정의 부재를 보안 커널과 연계하여 PAM과 권한이 없는 사용자에 대한 보안 커널 수준에서의 컨테이너 이미지에 대한 실행을 차단하도록 기능할 수 있다.
또 다른 한편 도 7을 참조하여 보면, 도 7에서는 본 발명의 일 실시 예에 따른 컴퓨팅 장치의 내부 구성의 일 예를 도시하였으며, 이하의 설명에 있어서, 상술한 도 1 내지 6에 대한 설명과 중복되는 불필요한 실시 예에 대한 설명은 생략하기로 한다.
도 7에 도시한 바와 같이, 컴퓨팅 장치(10000)은 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/O subsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다. 이때, 컴퓨팅 장치(10000)은 촉각 인터페이스 장치에 연결된 유저 단말이기(A) 혹은 전술한 컴퓨팅 장치(B)에 해당될 수 있다.
메모리(11200)는, 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(11200)는 컴퓨팅 장치(10000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그밖에 다양한 데이터를 포함할 수 있다.
이때, 프로세서(11100)나 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 메모리(11200)에 액세스하는 것은 프로세서(11100)에 의해 제어될 수 있다.
주변장치 인터페이스(11300)는 컴퓨팅 장치(10000)의 입력 및/또는 출력 주변장치를 프로세서(11100) 및 메모리 (11200)에 결합시킬 수 있다. 프로세서(11100)는 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 컴퓨팅 장치(10000)을 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.
입/출력 서브시스템(11400)은 다양한 입/출력 주변장치들을 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 입/출력 서브시스템(11400)은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서 등의 주변장치를 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 입/출력 주변장치들은 입/출력 서브시스템(11400)을 거치지 않고 주변장치 인터페이스(11300)에 결합될 수도 있다.
전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.
통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅 장치와 통신을 가능하게 할 수 있다.
또는 상술한 바와 같이 필요에 따라 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅 장치와 통신을 가능하게 할 수도 있다.
이러한 도 7의 실시 예는, 컴퓨팅 장치(10000)의 일례일 뿐이고, 컴퓨팅 장치(11000)은 도 7에 도시된 일부 컴포넌트가 생략되거나, 도 7에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅 장치는 도 7에 도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 통신 회로(1160)에 다양한 통신방식(WiFi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 컴퓨팅 장치(10000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 어플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨팅 장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시 예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 애플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 이용자 단말에 설치될 수 있다. 일 예로, 파일 배포 시스템은 이용자 단말이기의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시 예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.
또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술 분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅 장치상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시 예들이 비록 한정된 실시 예와 도면에 의해 설명되었으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시 예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (9)

  1. 하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 하나 이상의 메모리를 포함하는 컴퓨팅 장치에서 구현되는 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법에 있어서,
    CLI(Command Line Interface) 및, API(Application Programming Interface) 중 적어도 어느 하나를 포함하는 인터페이스를 통해 쿠버네티스(Kubernetes) API 서버로 요청된 AdmissionView 데이터를 웹훅(Webhook) 서버가 후킹(hooking)하되, AdmissionView 데이터의 요청 헤더, AdmissionView 데이터를 요청한 호스트 정보 및, AdmissionView 데이터에 명시된 리소스에 대한 Verb 요청 정보로서, "curl"이라는 이름의 POD를 생성하려는 요청에 대한 정보를 후킹하여, 사용자 계정의 식별 정보를 추출하고, 추출된 식별 정보가 사용자 정책 모듈에 등록된 식별 정보인지를 확인하여 상기 사용자 계정에 대한 인증을 수행하는 인증 단계;
    상기 인증 단계의 수행 결과, 상기 사용자 정책 모듈로부터 상기 사용자 계정이 인증된 사용자 계정으로 판단된 경우, 상기 사용자 계정에서 요청된 AdmissionView 데이터의 실행 권한을 인증된 사용자 계정에 설정된 보안 역할 및 보안 등급을 기반으로 판단하고, 모범 사례 기반의 AdmissionView 데이터를 검증하는 인가 단계; 및,
    상기 인가 단계의 수행 결과에 따라, 상기 사용자 계정이 상기 쿠버네티스 API서버에 요청한 AdmissionView 데이터에 대한 접근 제어를 수행하는 접근 제어 단계;를 포함하되,
    상기 인가 단계는,
    인증된 사용자 계정에 RBAC(Role Based Access Control), ABAC(Attribute-based access control) 및 웹훅을 사용하여 상기 요청된 AdmissionView 데이터의 실행 권한이 부여되어 있는지를 확인하고,
    상기 인가 단계에서는,
    상기 사용자 계정의 IP주소 및 서비스 포트 번호가 상기 사용자 정책 모듈에 등록된 IP주소 및 서비스 포트 번호인지를 확인하여 기 등록된 호스트 정보인지를 판단하되, 사용자 계정의 IP주소 및 서비스 포트 번호를, 네임스페이스마다 설정된 접근 권한과 비교하여, 상기 사용자 계정에 설정된 보안 역할(Security role) 및 보안 등급(Security level)을 파악하는 제1 판단 단계;
    상기 제1 판단 단계의 수행 후, 상기 사용자 계정의 IP주소가 상기 쿠버네티스 API서버로의 접근이 허용된 IP주소인지 여부를 판단하는 제2 판단 단계; 및,
    상기 제1 판단 단계 및 상기 제2 판단 단계의 수행 결과, 상기 사용자 계정이 기 설정된 판단 기준을 충족할 시, 상기 사용자 계정이 AdmissionView에 명시된 리소스에 대한 Verbs를 실행할 권한이 있는지 여부를 판단하는 제3 판단 단계;가 수행되고,
    상기 인증 단계에서는,
    상기 사용자 계정의 클라이언트 인증서, 전달자 토큰, 인증 프록시 및 http 기본 인증 중 적어도 어느 하나를 포함하는 인증 수단을 사용하여 합법적인 사용자 계정인지 여부를 판단하되, 둘 이상의 인증 수단을 이용하여 상기 AdmissionView 데이터를 요청한 사용자 계정이 상기 사용자 정책 모듈로부터 인증된 사용자 계정인지 여부를 판단하도록 하는 것을 특징으로 하는 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법.
  2. 제1항에 있어서,
    상기 인증 단계는,
    상기 AdmissionView 데이터에서 추출되는 식별 정보로서,
    상기 AdmissionView 데이터의 요청 헤더 정보, 상기 AdmissionView 데이터를 요청한 호스트 정보 및, AdmissionView 데이터에 명시된 리소스에 대한 Verbs 요청 정보 중 적어도 어느 하나를 포함하는 정보를 추출하는 것을 특징으로 하는 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 접근 제어 단계는,
    상기 사용자 계정에 상기 AdmissionView 데이터의 실행 권한이 부여된 상태인 경우, 상기 사용자 계정이 상기 쿠버네티스 API 서버에 접근할 수 있게 하여, 상기 요청한 AdmissionView 데이터의 실행을 허여하고,
    상기 사용자 계정에 상기 AdmissionView 데이터의 실행 권한이 미부여된 상태인 경우, 상기 사용자 계정이 상기 쿠버네티스 API 서버로 접근하는 것을 거부하는 것을 특징으로 하는 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법.
  8. 하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 하나 이상의 메모리를 포함하는 컴퓨팅 장치로 구현되는 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 장치에 있어서,
    CLI 및, API 중 적어도 어느 하나를 포함하는 인터페이스를 통해 쿠버네티스(Kubernetes) API 서버로 요청된 AdmissionView 데이터를 웹훅(Webhook) 서버가 후킹(hooking)하되, AdmissionView 데이터의 요청 헤더, AdmissionView 데이터를 요청한 호스트 정보 및, AdmissionView 데이터에 명시된 리소스에 대한 Verb 요청 정보로서, "curl"이라는 이름의 POD를 생성하려는 요청에 대한 정보를 후킹하여, 사용자 계정의 식별 정보를 추출하고, 추출된 식별 정보가 사용자 정책 모듈에 등록된 식별 정보인지를 확인하는 인증부;
    상기 인증부의 기능 수행 결과, 상기 사용자 정책 모듈로부터 상기 사용자 계정이 인증된 사용자 계정으로 판단된 경우, 상기 사용자 계정에서 요청된 AdmissionView 데이터의 실행 권한을 인증된 사용자 계정에 설정된 보안 역할 및 보안 등급을 기반으로 판단하고, 모범 사례 기반의 AdmissionView 데이터를 검증하는 인가부; 및,
    상기 인가부의 기능 수행 결과에 따라, 상기 사용자 계정이 상기 쿠버네티스 API서버에 요청한 AdmissionView 데이터에 대한 접근 제어를 수행하는 접근 제어부;를 포함하되,
    상기 인가부는,
    인증된 사용자 계정에 RBAC(Role Based Access Control), ABAC(Attribute-based access control) 및 웹훅을 사용하여 상기 요청된 AdmissionView 데이터의 실행 권한이 부여되어 있는지를 확인하고,
    상기 인가부에서는,
    상기 사용자 계정의 IP주소 및 서비스 포트 번호가 상기 사용자 정책 모듈에 등록된 IP주소 및 서비스 포트 번호인지를 확인하여 기 등록된 호스트 정보인지를 판단하되, 사용자 계정의 IP주소 및 서비스 포트 번호를, 네임스페이스마다 설정된 접근 권한과 비교하여, 상기 사용자 계정에 설정된 보안 역할(Security role) 및 보안 등급(Security level)을 파악하는 제1 판단부;
    상기 제1 판단부의 기능 수행 후, 상기 사용자 계정의 IP주소가 상기 쿠버네티스 API서버로의 접근이 허용된 IP주소인지 여부를 판단하는 제2 판단부; 및,
    상기 제1 판단부 및 상기 제2 판단부의 기능 수행 결과, 상기 사용자 계정이 기 설정된 판단 기준을 충족할 시, 상기 사용자 계정이 AdmissionView에 명시된 리소스에 대한 Verbs를 실행할 권한이 있는지 여부를 판단하는 제3 판단부;의 기능이 수행되고,
    상기 인증부에서는,
    상기 사용자 계정의 클라이언트 인증서, 전달자 토큰, 인증 프록시 및 http 기본 인증 중 적어도 어느 하나를 포함하는 인증 수단을 사용하여 합법적인 사용자 계정인지 여부를 판단하되, 둘 이상의 인증 수단을 이용하여 상기 AdmissionView 데이터를 요청한 사용자 계정이 상기 사용자 정책 모듈로부터 인증된 사용자 계정인지 여부를 판단하도록 하는 것을 특징으로 하는 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 장치.
  9. 컴퓨터-판독 가능 기록 매체로서,
    상기 컴퓨터-판독 가능 기록 매체는, 컴퓨팅 장치로 하여금 이하의 단계들을 수행하도록 하는 명령들을 저장하며, 상기 단계들은:
    CLI 및, API 중 적어도 어느 하나를 포함하는 인터페이스를 통해 쿠버네티스(Kubernetes) API 서버로 요청된 AdmissionView 데이터를 웹훅(Webhook) 서버가 후킹(hooking)하되, AdmissionView 데이터의 요청 헤더, AdmissionView 데이터를 요청한 호스트 정보 및, AdmissionView 데이터에 명시된 리소스에 대한 Verb 요청 정보로서, "curl"이라는 이름의 POD를 생성하려는 요청에 대한 정보를 후킹하여, 사용자 계정의 식별 정보를 추출하고, 추출된 식별 정보가 사용자 정책 모듈에 등록된 식별 정보인지를 확인하는 인증 단계;
    상기 인증 단계의 수행 결과, 상기 사용자 정책 모듈로부터 상기 사용자 계정이 인증된 사용자 계정으로 판단된 경우, 상기 사용자 계정에서 요청된 AdmissionView 데이터의 실행 권한을 인증된 사용자 계정에 설정된 보안 역할 및 보안 등급을 기반으로 판단하고, 모범 사례 기반의 AdmissionView 데이터를 검증하는 인가 단계; 및,
    상기 인가 단계의 수행 결과에 따라, 상기 사용자 계정이 상기 쿠버네티스 API서버에 요청한 AdmissionView 데이터에 대한 접근 제어를 수행하는 접근 제어 단계;를 포함하되,
    상기 인가 단계는,
    인증된 사용자 계정에 RBAC(Role Based Access Control), ABAC(Attribute-based access control) 및 웹훅을 사용하여 상기 요청된 AdmissionView 데이터의 실행 권한이 부여되어 있는지를 확인하고,
    상기 인가 단계에서는,
    상기 사용자 계정의 IP주소 및 서비스 포트 번호가 상기 사용자 정책 모듈에 등록된 IP주소 및 서비스 포트 번호인지를 확인하여 기 등록된 호스트 정보인지를 판단하되, 사용자 계정의 IP주소 및 서비스 포트 번호를, 네임스페이스마다 설정된 접근 권한과 비교하여, 상기 사용자 계정에 설정된 보안 역할(Security role) 및 보안 등급(Security level)을 파악하는 제1 판단 단계;
    상기 제1 판단 단계의 수행 후, 상기 사용자 계정의 IP주소가 상기 쿠버네티스 API서버로의 접근이 허용된 IP주소인지 여부를 판단하는 제2 판단 단계; 및,
    상기 제1 판단 단계 및 상기 제2 판단 단계의 수행 결과, 상기 사용자 계정이 기 설정된 판단 기준을 충족할 시, 상기 사용자 계정이 AdmissionView에 명시된 리소스에 대한 Verbs를 실행할 권한이 있는지 여부를 판단하는 제3 판단 단계;가 수행되고,
    상기 인증 단계에서는,
    상기 사용자 계정의 클라이언트 인증서, 전달자 토큰, 인증 프록시 및 http 기본 인증 중 적어도 어느 하나를 포함하는 인증 수단을 사용하여 합법적인 사용자 계정인지 여부를 판단하되, 둘 이상의 인증 수단을 이용하여 상기 AdmissionView 데이터를 요청한 사용자 계정이 상기 사용자 정책 모듈로부터 인증된 사용자 계정인지 여부를 판단하도록 하는 것을 특징으로 하는 컴퓨터-판독 가능 기록 매체.
KR1020210177529A 2021-12-13 2021-12-13 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체 KR102430882B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210177529A KR102430882B1 (ko) 2021-12-13 2021-12-13 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체
PCT/KR2021/019477 WO2023113081A1 (ko) 2021-12-13 2021-12-21 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210177529A KR102430882B1 (ko) 2021-12-13 2021-12-13 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체

Publications (1)

Publication Number Publication Date
KR102430882B1 true KR102430882B1 (ko) 2022-08-09

Family

ID=82844898

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210177529A KR102430882B1 (ko) 2021-12-13 2021-12-13 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체

Country Status (2)

Country Link
KR (1) KR102430882B1 (ko)
WO (1) WO2023113081A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102535012B1 (ko) * 2022-10-14 2023-05-26 주식회사 플랜티넷 마이크로서비스 기반의 서비스 접근 권한 부여 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101214613B1 (ko) * 2012-09-25 2012-12-21 주식회사 피앤피시큐어 접속자의 식별 신뢰도를 높인 프록시 기반의 서버 보안방법과 보안시스템
KR20150105271A (ko) * 2015-07-20 2015-09-16 고려대학교 산학협력단 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버
KR20190134135A (ko) * 2018-05-25 2019-12-04 삼성에스디에스 주식회사 클라우드 플랫폼에 기반한 서비스 제공 방법 및 그 시스템
KR20200126794A (ko) * 2019-04-30 2020-11-09 숭실대학교산학협력단 블록체인 기반의 인증을 위한 컨테이너 클러스터 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102034520B1 (ko) * 2017-08-02 2019-10-21 에스케이텔레콤 주식회사 보안연동장치 및 보안연동장치의 보안 서비스 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101214613B1 (ko) * 2012-09-25 2012-12-21 주식회사 피앤피시큐어 접속자의 식별 신뢰도를 높인 프록시 기반의 서버 보안방법과 보안시스템
KR20150105271A (ko) * 2015-07-20 2015-09-16 고려대학교 산학협력단 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버
KR20190134135A (ko) * 2018-05-25 2019-12-04 삼성에스디에스 주식회사 클라우드 플랫폼에 기반한 서비스 제공 방법 및 그 시스템
KR20200126794A (ko) * 2019-04-30 2020-11-09 숭실대학교산학협력단 블록체인 기반의 인증을 위한 컨테이너 클러스터 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102535012B1 (ko) * 2022-10-14 2023-05-26 주식회사 플랜티넷 마이크로서비스 기반의 서비스 접근 권한 부여 방법

Also Published As

Publication number Publication date
WO2023113081A1 (ko) 2023-06-22

Similar Documents

Publication Publication Date Title
US10650156B2 (en) Environmental security controls to prevent unauthorized access to files, programs, and objects
JP4809530B2 (ja) 制限付きのトークンを使用したセキュリティモデル
JP4769304B2 (ja) オペレーティングシステム非依存型データ管理
US9053302B2 (en) Obligation system for enterprise environments
US8984291B2 (en) Access to a computing environment by computing devices
US20090282457A1 (en) Common representation for different protection architectures (crpa)
US20130125217A1 (en) Authorization Control
US11575672B2 (en) Secure accelerator device pairing for trusted accelerator-to-accelerator communication
CN105827645B (zh) 一种用于访问控制的方法、设备与系统
WO2016018234A1 (en) Memory access control
US20230129610A1 (en) Multiple physical request interfaces for security processors
US20230155984A1 (en) Trusted execution environment for service mesh
KR102430882B1 (ko) 클라우드 환경 내 이벤트 스트림 방식의 컨테이너 워크로드 실행 제어 방법, 장치 및 컴퓨터-판독 가능 기록 매체
US20170091477A1 (en) Distributed big data security architecture
KR102345866B1 (ko) 서버시스템 및 서버시스템에서 수행되는 사용자단말에 대한 통신 보안방법
EP3353702B1 (en) Distributed big data security architecture
US11777938B2 (en) Gatekeeper resource to protect cloud resources against rogue insider attacks
JP2002149494A (ja) アクセス制御方法およびアクセス制御装置および記録媒体
KR100706338B1 (ko) 전자상거래에 있어서 가상접근통제 보안시스템
WO2016018233A1 (en) Memory access control
KR102571621B1 (ko) 이종 IoT 서비스 플랫폼을 위한 OAuth 및 역할 기반의 접근 제어 시스템
KR100657353B1 (ko) 다양한 접근 통제 정책을 수용할 수 있는 보안 시스템,보안방법, 및 그 기록매체
US20240111689A1 (en) Cache service for providing access to secrets in containerized cloud-computing environment
KR100707940B1 (ko) 전자상거래에 있어서 가상접근통제 보안방법
US9594929B2 (en) Open architecture security methods and systems

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant