InfoGrab Docs

역할 접근 요청

요약

Teleport의 Just-in-time 접근 요청을 사용하면 사용자가 권한을 높이기 위해 추가 역할에 대한 접근을 요청할 수 있습니다. A running Teleport Enterprise cluster. The tctl and tsh clients.

Teleport의 Just-in-time 접근 요청을 사용하면 사용자가 권한을 높이기 위해 추가 역할에 대한 접근을 요청할 수 있습니다. 요청은 ChatOps를 통해 또는 유연한 Authorization Workflow API를 통해 어디서든 에스컬레이션할 수 있습니다.

전제 조건#

  • A running Teleport Enterprise cluster. If you want to get started with Teleport, sign up for a free trial or set up a demo environment.

  • The tctl and tsh clients.

    Installing `tctl` and `tsh` clients
    1. Determine the version of your Teleport cluster. The tctl and tsh clients must be at most one major version behind your Teleport cluster version. Send a GET request to the Proxy Service at /v1/webapi/find and use a JSON query tool to obtain your cluster version. Replace with the web address of your Teleport Proxy Service:

      $ TELEPORT_DOMAIN=
      $ TELEPORT_VERSION="$(curl -s https://$TELEPORT_DOMAIN/v1/webapi/find | jq -r '.server_version')"
      
    2. Follow the instructions for your platform to install tctl and tsh clients:

To check that you can connect to your Teleport cluster, sign in with tsh login, then verify that you can run tctl commands using your current credentials.

For example, run the following command, assigning to the domain name of the Teleport Proxy Service in your cluster and to your Teleport username:

$ tsh login --proxy= --user=
$ tctl status
# Cluster  (=teleport.url=)
# Version  (=teleport.version=)
# CA pin   (=presets.ca_pin=)

If you can connect to the cluster and run the tctl status command, you can use your current credentials to run subsequent tctl commands from your workstation. If you host your own Teleport cluster, you can also run tctl commands on the computer that hosts the Teleport Auth Service for full permissions.

RBAC 설정#

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

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

Contractor 역할

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

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

DBA 역할

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

kind: role
version: v5
metadata:
  name: dba
spec:
  allow:
    db_labels:
      '*': '*'
  options:
    # Only allows the contractor to use this role for 1 hour from time of request.
    max_session_ttl: 1h

Approver 역할

이 역할을 사용하면 사용자가 dba 역할에 대한 요청을 승인할 수 있습니다.

kind: role
version: v5
metadata:
  name: approver
spec:
  allow:
    # `review_requests` permits the listed roles to be approved
    review_requests:
      roles:
      - 'dba'
Teleport Enterprise 필요

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

접근 요청#

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

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

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

ADD TO REQUEST를 클릭하여 대기 중인 요청에 역할을 포함합니다.

참고: 접근 요청은 역할 또는 특정 리소스 집합을 포함해야 합니다. 두 가지를 혼합할 수 없습니다. 특정 리소스에 대한 접근 요청 방법에 대한 자세한 내용은 리소스 접근 요청 가이드를 참조하세요.

새 요청

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

요청 제출

웹 UI를 통한 접근 요청 검토#

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

Warning

다른 역할을 편집할 수 있는 기능이 있는 역할에 대한 접근을 부여하면 사용자가 권한을 영구적으로 업그레이드할 수 있습니다. 요청을 검토할 때 요청되는 역할과 요청이 승인될 경우 사용자에게 적용될 권한을 신중하게 고려하는 것이 중요합니다.

tsh를 통한 접근 요청 검토#

적절한 권한이 있는 Teleport Enterprise 사용자는 tsh 명령줄로 요청을 승인할 수도 있습니다:

$ tsh request review --approve <request-id>

승인된 접근 요청 사용#

요청이 승인되면 요청자는 명령줄 워크플로와 웹 UI 워크플로 모두에 대해 접근을 높일 수 있습니다.

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

# log in with an approved access request
$ tsh login --request-id=bc8ca931-fec9-4b15-9a6f-20c13c5641a9

웹 UI에서 요청자는 Review Requests 페이지에서 요청을 열고 ASSUME ROLES를 클릭하여 추가 역할에 대한 접근을 얻을 수 있습니다. 참고: 역할 기반 접근 요청은 추가적입니다. 사용자는 요청에서 부여된 역할 외에 표준 역할 집합에 대한 접근도 갖게 됩니다.

승인된 접근 요청이 활성화된 동안 페이지 상단에 배너가 표시됩니다. 상승된 접근이 더 이상 필요하지 않을 때 Switch Back을 클릭하여 원래 역할 집합으로 되돌아갑니다.

다음 단계#

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

You do not currently have access to alice@iot, attempting to request access.

Choose role to request [node-access, node-access-alt]: node-access
Enter request reason: please
Creating request...

Waiting for request approval...

Approval received, reason="okay"
Getting updated certificates...

iot:~ alice$

이 방식으로 역할 접근 요청을 하려면 요청하는 역할에 search_as_role이 설정되어 있어야 SSH로 연결하려는 노드를 읽을 수 있습니다.

# requester.yaml
kind: role
version: v5
metadata:
  name: requester
spec:
  allow:
    request:
      roles:
        - node-access
      search_as_roles:
        # does not need to match roles, just needs to be able to access nodes
        # that you want to ssh into
        - access

외부 도구와 통합#

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

Integration Type Setup Instructions
Slack Messaging Set up Slack
Mattermost Messaging Set up Mattermost
Microsoft Teams Messaging Set up Microsoft Teams
Jira Project Board Set up Jira
PagerDuty Schedule Set up PagerDuty
Email Messaging Set up email
Discord Messaging Set up Discord
OpsGenie Incident Management Set up OpsGenie
ServiceNow Workflow Set up ServiceNow
Datadog Incident Management Set up Datadog

접근 요청 구성 방법 알아보기#

조직을 위한 just-in-time 접근 요청 워크플로를 설정하기 위해 구성할 수 있는 모든 옵션에 대한 자세한 설명은 접근 요청 구성 가이드를 참조하세요.

접근 목록 설정#

접근 목록은 고정된 기간 동안 사용자 그룹에 권한을 할당할 수 있게 합니다. 문서에서 접근 목록에 대해 자세히 알아보세요.

역할 접근 요청

원문 보기
요약

Teleport의 Just-in-time 접근 요청을 사용하면 사용자가 권한을 높이기 위해 추가 역할에 대한 접근을 요청할 수 있습니다. A running Teleport Enterprise cluster. The tctl and tsh clients.

Teleport의 Just-in-time 접근 요청을 사용하면 사용자가 권한을 높이기 위해 추가 역할에 대한 접근을 요청할 수 있습니다. 요청은 ChatOps를 통해 또는 유연한 Authorization Workflow API를 통해 어디서든 에스컬레이션할 수 있습니다.

전제 조건#

  • A running Teleport Enterprise cluster. If you want to get started with Teleport, sign up for a free trial or set up a demo environment.

  • The tctl and tsh clients.

    Installing `tctl` and `tsh` clients
    1. Determine the version of your Teleport cluster. The tctl and tsh clients must be at most one major version behind your Teleport cluster version. Send a GET request to the Proxy Service at /v1/webapi/find and use a JSON query tool to obtain your cluster version. Replace with the web address of your Teleport Proxy Service:

      $ TELEPORT_DOMAIN=
      $ TELEPORT_VERSION="$(curl -s https://$TELEPORT_DOMAIN/v1/webapi/find | jq -r '.server_version')"
      
    2. Follow the instructions for your platform to install tctl and tsh clients:

To check that you can connect to your Teleport cluster, sign in with tsh login, then verify that you can run tctl commands using your current credentials.

For example, run the following command, assigning to the domain name of the Teleport Proxy Service in your cluster and to your Teleport username:

$ tsh login --proxy= --user=
$ tctl status
# Cluster  (=teleport.url=)
# Version  (=teleport.version=)
# CA pin   (=presets.ca_pin=)

If you can connect to the cluster and run the tctl status command, you can use your current credentials to run subsequent tctl commands from your workstation. If you host your own Teleport cluster, you can also run tctl commands on the computer that hosts the Teleport Auth Service for full permissions.

RBAC 설정#

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

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

Contractor 역할

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

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

DBA 역할

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

kind: role
version: v5
metadata:
  name: dba
spec:
  allow:
    db_labels:
      '*': '*'
  options:
    # Only allows the contractor to use this role for 1 hour from time of request.
    max_session_ttl: 1h

Approver 역할

이 역할을 사용하면 사용자가 dba 역할에 대한 요청을 승인할 수 있습니다.

kind: role
version: v5
metadata:
  name: approver
spec:
  allow:
    # `review_requests` permits the listed roles to be approved
    review_requests:
      roles:
      - 'dba'
Teleport Enterprise 필요

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

접근 요청#

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

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

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

ADD TO REQUEST를 클릭하여 대기 중인 요청에 역할을 포함합니다.

참고: 접근 요청은 역할 또는 특정 리소스 집합을 포함해야 합니다. 두 가지를 혼합할 수 없습니다. 특정 리소스에 대한 접근 요청 방법에 대한 자세한 내용은 리소스 접근 요청 가이드를 참조하세요.

새 요청

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

요청 제출

웹 UI를 통한 접근 요청 검토#

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

Warning

다른 역할을 편집할 수 있는 기능이 있는 역할에 대한 접근을 부여하면 사용자가 권한을 영구적으로 업그레이드할 수 있습니다. 요청을 검토할 때 요청되는 역할과 요청이 승인될 경우 사용자에게 적용될 권한을 신중하게 고려하는 것이 중요합니다.

tsh를 통한 접근 요청 검토#

적절한 권한이 있는 Teleport Enterprise 사용자는 tsh 명령줄로 요청을 승인할 수도 있습니다:

$ tsh request review --approve <request-id>

승인된 접근 요청 사용#

요청이 승인되면 요청자는 명령줄 워크플로와 웹 UI 워크플로 모두에 대해 접근을 높일 수 있습니다.

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

# log in with an approved access request
$ tsh login --request-id=bc8ca931-fec9-4b15-9a6f-20c13c5641a9

웹 UI에서 요청자는 Review Requests 페이지에서 요청을 열고 ASSUME ROLES를 클릭하여 추가 역할에 대한 접근을 얻을 수 있습니다. 참고: 역할 기반 접근 요청은 추가적입니다. 사용자는 요청에서 부여된 역할 외에 표준 역할 집합에 대한 접근도 갖게 됩니다.

승인된 접근 요청이 활성화된 동안 페이지 상단에 배너가 표시됩니다. 상승된 접근이 더 이상 필요하지 않을 때 Switch Back을 클릭하여 원래 역할 집합으로 되돌아갑니다.

다음 단계#

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

You do not currently have access to alice@iot, attempting to request access.

Choose role to request [node-access, node-access-alt]: node-access
Enter request reason: please
Creating request...

Waiting for request approval...

Approval received, reason="okay"
Getting updated certificates...

iot:~ alice$

이 방식으로 역할 접근 요청을 하려면 요청하는 역할에 search_as_role이 설정되어 있어야 SSH로 연결하려는 노드를 읽을 수 있습니다.

# requester.yaml
kind: role
version: v5
metadata:
  name: requester
spec:
  allow:
    request:
      roles:
        - node-access
      search_as_roles:
        # does not need to match roles, just needs to be able to access nodes
        # that you want to ssh into
        - access

외부 도구와 통합#

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

Integration Type Setup Instructions
Slack Messaging Set up Slack
Mattermost Messaging Set up Mattermost
Microsoft Teams Messaging Set up Microsoft Teams
Jira Project Board Set up Jira
PagerDuty Schedule Set up PagerDuty
Email Messaging Set up email
Discord Messaging Set up Discord
OpsGenie Incident Management Set up OpsGenie
ServiceNow Workflow Set up ServiceNow
Datadog Incident Management Set up Datadog

접근 요청 구성 방법 알아보기#

조직을 위한 just-in-time 접근 요청 워크플로를 설정하기 위해 구성할 수 있는 모든 옵션에 대한 자세한 설명은 접근 요청 구성 가이드를 참조하세요.

접근 목록 설정#

접근 목록은 고정된 기간 동안 사용자 그룹에 권한을 할당할 수 있게 합니다. 문서에서 접근 목록에 대해 자세히 알아보세요.