Infograb logo
역할 접근 요청

Teleport의 즉시 접근 요청을 통해 사용자는 추가 역할에 대한 접근을 요청하여 권한을 상승시킬 수 있습니다. 요청은 ChatOps를 통해 또는 우리의 유연한 인증 워크플로 API를 통해 다른 곳에서 에스컬레이트할 수 있습니다.

필수조건

  • 실행 중인 Teleport 클러스터. Teleport를 시작하려면 가입하여 무료 평가판을 이용해 보십시오.

  • tctl 관리자 도구 및 tsh 클라이언트 도구.

    tctltsh 다운로드에 대한 지침은 설치 를 방문하십시오.

  • 연결이 가능한지 확인하기 위해 tsh login 으로 로그인한 다음, 현재 자격 증명을 사용하여 tctl 명령어를 실행할 수 있는지 확인하십시오. 예를 들어:
    tsh login --proxy=teleport.example.com --user=email@example.com
    tctl status

    클러스터 teleport.example.com

    버전 17.0.0-dev

    CA 핀 sha256:abdc1245efgh5678abdc1245efgh5678abdc1245efgh5678abdc1245efgh5678

    클러스터에 연결할 수 있고 tctl status 명령어를 실행할 수 있다면, 현재 자격 증명을 사용하여 워크스테이션에서 후속 tctl 명령어를 실행할 수 있습니다.
    자신의 Teleport 클러스터를 호스팅하는 경우, Teleport Auth Service를 호스팅하는 컴퓨터에서 전체 권한으로 tctl 명령어를 실행할 수도 있습니다.

RBAC 설정

이 예에서는 세 가지 역할을 정의합니다:

  • contractor : 이 역할을 가진 사용자는 dba 역할에 대한 상승된 접근을 요청할 수 있습니다.
  • dba : 이 역할은 데이터베이스에 대한 접근을 부여합니다.
  • approver : 이 역할을 가진 사용자는 dba 역할에 대한 접근 요청을 승인할 수 있습니다.

Contractor Role

이 역할을 가진 사용자는 dba 역할에 대한 접근을 요청할 수 있습니다.

kind: role
version: v5
metadata:
  name: contractor
spec:
  allow:
    request:
      roles: ["dba"]

DBA Role

이 역할은 데이터베이스에 대한 접근을 부여합니다.

kind: role
version: v5
metadata:
  name: dba
spec:
  allow:
    db_labels:
      "*": "*"
  options:
    # 요청 시점부터 계약자가 이 역할을 사용할 수 있는 최대 시간을 1시간으로 제한합니다.
    max_session_ttl: 1h

Approver Role

이 역할은 사용자가 dba 역할에 대한 요청을 승인할 수 있도록 합니다.

kind: role
version: v5
metadata:
  name: approver
spec:
  allow:
    # `review_requests` 는 나열된 역할이 승인될 수 있도록 허용합니다.
    review_requests:
      roles:
        - "dba"
Teleport Enterprise 필요

review_requests 규칙이 포함된 역할은 Teleport Enterprise에서만 사용할 수 있습니다. Teleport Community Edition에서는 접근 요청이 Auth Server에서 tctl 을 실행하는 관리자가 승인해야 합니다.

접근 요청하기

Teleport Enterprise는 역할에 대한 접근 요청을 위한 동일한 CLI 기반 워크플로를 지원하지만, 대부분의 사용자는 웹 UI를 통해 접근을 요청하는 것을 선호할 것입니다.

하나 이상의 역할에 대한 접근을 요청하려면 접근 요청 페이지로 이동하십시오. 이 페이지는 사이드바에서 Resources를 선택하고, Access Requests 메뉴를 확장한 후 New Request를 선택하여 찾을 수 있습니다.

여기서 드롭다운을 통해 역할이나 특정 리소스에 대한 접근 요청을 할 수 있습니다. 이 드롭다운에서 역할을 선택하면 요청할 수 있는 역할 목록이 표시됩니다.

대기 요청에 역할을 포함하려면 ADD TO REQUEST를 클릭하십시오.

참고: 접근 요청은 역할이 포함되거나 특정 리소스 집합이 포함되어야 합니다. 두 가지를 혼합해서는 안 됩니다. 특정 리소스에 대한 접근 요청 방법에 대한 자세한 정보는 Resource Access Requests Guide를 참조하십시오.

원하는 역할이 모두 추가되면 PROCEED TO REQUEST를 클릭하여 요청을 검토하고 제출할 수 있습니다.

웹 UI를 통한 접근 요청 검토

검토자는 웹 UI에서 Management > Access Requests > Review Requests로 이동하여 열린 요청 목록을 볼 수 있습니다.

Warning

다른 역할을 편집할 수 있는 권한을 가진 역할에 대한 접근을 부여하면 사용자가 영구적으로 자신의 권한을 증대시킬 수 있습니다. 요청을 검토할 때는 요청된 역할과 요청이 승인될 경우 사용자에게 적용될 권한을 신중하게 고려하는 것이 중요합니다.

tsh 를 통한 접근 요청 검토

적절한 권한이 있는 Teleport Enterprise 사용자는 tsh 명령어를 사용하여 요청을 승인할 수 있습니다:

tsh request review --approve <request-id>

승인된 접근 요청 사용하기

요청이 승인되면, 요청자는 명령줄 작업과 웹 UI 작업 모두에서 자신의 접근을 승격할 수 있습니다.

명령줄 사용을 위해 요청자는 승인된 요청 ID를 사용하여 로그인해야 합니다:

승인된 접근 요청으로 로그인

tsh login --request-id=bc8ca931-fec9-4b15-9a6f-20c13c5641a9

웹 UI에서는 요청자가 요청 검토 페이지에서 자신의 요청을 열고 역할 맡기 버튼을 클릭하여 추가 역할에 접근할 수 있습니다. 참고: 역할 기반 접근 요청은 누적적입니다. 사용자는 요청에 의해 부여된 역할 외에도 자신의 표준 역할 세트에 접근할 수 있습니다.

승인된 접근 요청이 활성화되어 있는 동안 페이지 상단에 배너가 표시됩니다. 더 이상 필요하지 않은 경우, 원래 역할로 돌아가기를 클릭하여 원래 역할 세트로 되돌릴 수 있습니다.

다음 단계

SSH에 대한 접근을 자동으로 요청하기

역할 접근 요청을 구성한 후, tsh ssh 는 접근이 거부되었을 때 자동으로 역할 접근 요청을 생성할 수 있습니다. 이렇게 하면 tsh request searchtsh request create 단계를 건너뛸 수 있습니다. 대상 노드에 접근을 허용하는 역할이 여러 개일 경우, 요청할 역할을 선택하라는 메시지가 표시됩니다.

tsh ssh --request-mode role alice@iot
ERROR: access denied to alice connecting to iot on cluster teleport.example.com
현재 alice@iot에 접근할 수 없으며, 접근 요청을 시도하고 있습니다.
요청할 역할 선택 [node-access, node-access-alt]: node-access요청 사유 입력: please요청 생성 중...
요청 승인 대기 중...
승인 받음, 사유="okay"업데이트된 인증서 가져오는 중...
iot:~ alice$

이 방법으로 역할 접근 요청을 하려면, 요청하는 역할의 search_as_role 이 설정되어 있어야 하며, SSH로 접속하려는 노드를 읽을 수 있어야 합니다.

# requester.yaml
kind: role
version: v5
metadata:
  name: requester
spec:
  allow:
    request:
      roles:
        - node-access
      search_as_roles:
        # 역할과 일치할 필요는 없으며, SSH 접속하려는 노드에 접근할 수 있어야 합니다.
        - access

외부 도구와 통합하기

Teleport의 접근 요청 플러그인을 통해 사용자는 조직의 기존 메시징 및 프로젝트 관리 솔루션에서 접근 요청을 관리할 수 있습니다.

통합유형설정 지침
Slack메시징Slack 설정하기
Mattermost메시징Mattermost 설정하기
Microsoft Teams메시징Microsoft Teams 설정하기
Jira프로젝트 보드Jira 설정하기
PagerDuty일정PagerDuty 설정하기
이메일메시징이메일 설정하기
Discord메시징Discord 설정하기
OpsGenie사고 관리OpsGenie 설정하기
ServiceNow워크플로우ServiceNow 설정하기
Datadog사고 관리Datadog 설정하기

접근 요청 구성 방법 배우기

조직의 적시 접근 요청 워크플로우를 설정하기 위한 모든 옵션에 대한 자세한 설명은 접근 요청 구성 안내서를 참조하세요.

접근 목록 설정하기

접근 목록을 사용하면 고정된 기간 동안 사용자 그룹에 권한을 할당할 수 있습니다. 접근 목록에 대한 자세한 내용은 문서에서 확인하세요.

Teleport 원문 보기