Files
teleport_role/README.md
2024-04-19 11:31:31 +09:00

3.0 KiB

Teleport 권한 관리

권한 관리

참고 주소 : https://goteleport.com/docs/access-controls/getting-started/

Management > User Roles 에서 관리

kind: role
metadata:
  id: 1704266501288770282
  name: datasaker
spec:
  allow:
    logins:
    - dev2
    node_labels:
      ipaddr: '*'
  deny:
    logins:
    - guest
    node_labels:
      group:
      - prod-node
      - prod-master
      - proxy
  options:
    cert_format: standard
    client_idle_timeout: 10m0s
    create_db_user: false
    create_desktop_user: false
    desktop_clipboard: true
    desktop_directory_sharing: true
    enhanced_recording:
    - command
    - network
    forward_agent: false
    idp:
      saml:
        enabled: true
    max_session_ttl: 8h0m0s
    pin_source_ip: false
    port_forwarding: true
    record_session:
      default: best_effort
      desktop: true
    ssh_file_copy: true
version: v5

현재 모든 사용자 계정에서 공통적으로 적용되는 2개의 Roles datasaker , app-connect 사용중

허용

  allow:
    logins:
    - dev2
    node_labels:
      ipaddr: '*'

allow 하위에 작성된 조건에 따라 허용이 가능

  • logins : SSH 접속을 위해 사용할 User
  • node_labels : 해당 label을 가진 서버 조회 가능
  • app_labels : 해당 label을 가진 애플리케이션 조회 가능

차단

  deny:
    logins:
    - guest
    node_labels:
      group:
      - prod-node
      - prod-master
      - proxy

deny 하위에 작성된 조건에 따라 차단 가능

  • logins : 작성한 User를 통한 접속 차단
  • node_labels : 해당 label을 통해 특정 서버들 조회 및 접근 차단 가능

위 예는 group: prod-node , group: prod-master , group: proxy label 을 가진 서버 차단

적용

Management > Auth Connectors > EDIT CONNECTOR

kind: github
metadata:
  name: github_connector
spec:
  api_endpoint_url: ""
  client_id: 09a1dd5746d8b1727835
  client_secret: 368294562e65f8cef49fed3c5781b6892be46087
  display: GitHub
  endpoint_url: ""
  redirect_url: https://teleport.kr.datasaker.io/v1/webapi/github/callback
  teams_to_logins: null
  teams_to_roles:
  - organization: CloudMOA
    roles:
    - app-connect
    - datasaker
    team: saas
  - organization: CloudMOA
    roles:
    - datasaker
    - app-connect
    team: saas_teleport
version: v3
  - organization: CloudMOA
    roles:
    - datasaker
    - app-connect
    team: saas_teleport

해당 부분의 roles 부분에 작성하여 role 적용

team 같은 경우 Github의 Team 에서 조회 가능

웹브라우저 상 주소의 맨 뒷 부분에 적혀있는 내용이 team: 에 입력되는 값 ex) saas