InfoGrab Docs

자동 검토 구성

요약

Teleport는 접근 요청의 자동 검토를 지원합니다. 이 가이드에서는 Teleport RBAC를 구성하고 자동 검토의 사용 사례 예시를 보여줄 것입니다: 자동 검토는 접근 자동화 규칙에 의해 트리거됩니다. 예를 들어, 접근 자동화 규칙은 Teleport 트레잇 또는 IdP 속성 team: demo를 가진 사용자가 access 역할에 대한 접근을 요청할 때 자동 접근 요청 승인을 수행할 수 있습니다.

Teleport는 접근 요청의 자동 검토를 지원합니다. 이 기능을 통해 팀은 제로 상시 권한 정책을 적용하면서도 사용자가 수동 승인 없이 임시 접근을 받을 수 있습니다.

이 가이드에서는 Teleport RBAC를 구성하고 자동 검토의 사용 사례 예시를 보여줄 것입니다:

  • 특정 팀의 사용자로부터의 역할 요청을 자동으로 승인합니다.
  • 특정 팀의 사용자로부터의 리소스 요청을 자동으로 승인합니다.

작동 방식#

자동 검토는 접근 자동화 규칙에 의해 트리거됩니다. 이 규칙은 Teleport에 접근 요청을 모니터링하고 특정 조건(요청된 역할, 사용자 트레잇 또는 리소스 레이블 등)이 충족되면 자동으로 검토를 제출하도록 지시합니다.

예를 들어, 접근 자동화 규칙은 Teleport 트레잇 또는 IdP 속성 team: demo를 가진 사용자가 access 역할에 대한 접근을 요청할 때 자동 접근 요청 승인을 수행할 수 있습니다.

전제 조건#

  • A running Teleport Enterprise (v18.2.8 or higher) 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:

  • access_monitoring_rule 리소스에 대한 목록 조회, 생성, 읽기, 업데이트, 삭제 권한. 이 권한은 사전 설정된 editor 역할에 포함되어 있습니다.
  • 이 가이드를 위해 레이블이 지정된 Teleport로 보호된 SSH 서버가 최소 하나 필요합니다. 시작하기에서 SSH 서버 등록 방법을 확인하세요.

Terraform 단계를 따르는 경우, 먼저 Teleport Terraform Provider를 설정하세요.

1/3단계. 요청자 역할 및 사용자 만들기#

이 예시에서 먼저 다음을 만들 것입니다:

  • access 역할과 access 역할이 접근할 수 있는 모든 리소스에 대한 접근을 요청할 수 있도록 하는 demo-access-request 역할.
  • 위 역할이 할당된 demo-access-requester 사용자.

역할 만들기#

demo-role.yaml이라는 role 구성 파일을 만듭니다:

# demo-role.yaml
kind: role
version: v7
metadata:
  name: demo-access-request
spec:
  allow:
    request:
      roles:
        - access
      search_as_roles:
        - access

다음으로 역할을 만듭니다:

$ tctl create demo-role.yaml

사용자 만들기#

다음 명령을 사용하여 사용자를 만들고 역할을 할당합니다:

$ tctl users add --roles=demo-access-request demo-access-requester

또는 사용자를 만든 후 역할을 할당할 수 있습니다:

Assign the demo-access-request role to `demo-access-requester` by running the appropriate commands for your authentication provider:

2/3단계. 사용자 트레잇 할당#

자동 검토 규칙이 요청하는 사용자를 평가할 수 있도록 Teleport Web UI를 통해 트레잇을 할당합니다:

  1. Zero Trust Access -> Users로 이동합니다.
  2. demo-access-requester 옆에서 Options -> **Edit...**를 클릭합니다.
  3. Add user trait을 클릭하고 다음을 설정합니다:
    • Key: team
    • Value: demo
  4. Save를 클릭합니다.
  5. 사용자가 원하는 트레잇으로 업데이트되었는지 확인합니다.

Edit User Traits

사용자 트레잇을 추가할 때 어떤 키와 값이든 입력할 수 있습니다. 사용자 트레잇 양식은 와일드카드나 정규 표현식을 지원하지 않습니다.

SSO 사용자

자동 검토는 SSO 사용자와 IdP에서 제공하는 속성과 호환됩니다.

3/3단계. 자동 검토 구성#

사용자를 만들고 트레잇을 할당했으므로 이제 자동 검토 규칙을 구성할 준비가 되었습니다.

접근 자동화 규칙은 사용자 트레잇, 리소스 레이블, 일정을 활용하여 요청을 자동으로 승인할 수 있는지 결정합니다. 이 단계에서는 Teleport가 접근을 자동으로 승인하는 방법을 보여주기 위해 하나 이상의 자동 검토 규칙을 구성합니다.

역할 기반 자동 검토#

특정 팀의 역할 요청을 자동으로 승인하는 방법을 보여주기 위해 다음 접근 자동화 규칙을 만듭니다:

  1. Identity Governance -> Access Requests -> Set Up Access Automation Rules로 이동합니다.
  2. Create New Access Automation Rule -> Automatic Review Rule을 클릭합니다.
  3. 규칙을 구성하고 다음을 설정합니다:
    • Name of requested roles to match: access
    • User Traits to match: team: demo
    • Review decision: APPROVED
  4. Create Rule을 클릭합니다.

demo-rule.yaml이라는 access_monitoring_rule 구성 파일을 만듭니다:

# demo-rule.yaml
kind: access_monitoring_rule
version: v1
metadata:
  name: demo-rule
spec:
  automatic_review:
    decision: APPROVED
    integration: builtin
  condition: |-
    contains_all(set("access"), access_request.spec.roles) &&
    contains_any(user.traits["team"], set("demo"))
  desired_state: reviewed
  subjects:
    - access_request

다음으로 access_monitoring_rule을 만듭니다:

$ tctl create -f demo-rule.yaml

demo-rule.tf라는 access_monitoring_rule 구성 파일을 만듭니다:

# demo-rule.tf
resource "teleport_access_monitoring_rule" "demo-rule" {
  version = "v1"
  metadata = {
    name = "demo-rule"
  }
  spec = {
    automatic_review = {
      decision    = "APPROVED"
      integration = "builtin"
    }
    condition     = <<-EOT
      contains_all(set("access"), access_request.spec.roles) &&
      contains_any(user.traits["team"], set("demo"))
    EOT
    desired_state = "reviewed"
    subjects      = ["access_request"]
  }
}

구성을 적용합니다:

$ terraform apply

이 규칙은 사용자에게 team: demo 트레잇이 있는 경우 access 역할에 대한 접근 요청을 자동으로 승인합니다.

새 자동 검토 규칙을 확인하려면 Teleport Web UI를 통해 접근 요청을 만드세요:

  1. demo-access-requester로 로그인합니다.
  2. Identity Governance -> Access Requests로 이동하고 New Access Request를 클릭합니다.
  3. 요청 유형을 Resources에서 Roles로 변경합니다.
  4. 접근 요청에 access 역할을 추가합니다.
  5. Proceed to Request, 그런 다음 Submit Request를 클릭합니다.

이 시점에서 새 접근 요청이 만들어지고 자동으로 검토되어 APPROVED 상태로 전환됩니다. Back to Listings로 이동하여 접근 요청 상태를 확인합니다. 검토가 처리되는 데 잠시 시간이 걸릴 수 있으므로 페이지를 새로 고쳐야 할 수 있습니다.

리소스 기반 자동 검토#

접근 자동화 규칙을 만들기 전에 Teleport 클러스터에 연결된 레이블이 지정된 SSH 서버가 최소 하나 있는지 확인합니다:

# List your SSH servers to identify available labels:
$ tsh ls
Node Name   Address    Labels
----------- ---------- -------------------------------
teleport-00 ⟵ Tunnel  env=demo

특정 팀의 리소스 요청을 자동으로 승인하는 방법을 보여주기 위해 다음 접근 자동화 규칙을 만듭니다:

  1. Identity Governance -> Access Requests -> Set Up Access Automation Rules로 이동합니다.
  2. Create New Access Automation Rule -> Automatic Review Rule을 클릭합니다.
  3. 규칙을 구성하고 다음을 설정합니다:
    • Name of requested roles to match: access
    • Resource labels to match: env: demo
    • User Traits to match: team: demo
    • Review decision: APPROVED
  4. Create Rule을 클릭합니다.

demo-rule.yaml이라는 access_monitoring_rule 구성 파일을 만듭니다:

# demo-rule.yaml
kind: access_monitoring_rule
version: v1
metadata:
  name: demo-rule
spec:
  automatic_review:
    decision: APPROVED
    integration: builtin
  condition: |-
    contains_all(set("access"), access_request.spec.roles) &&
    contains_any(user.traits["team"], set("demo")) &&
    access_request.spec.resource_labels_intersection["env"].contains("demo")
  desired_state: reviewed
  subjects:
    - access_request

다음으로 access_monitoring_rule을 만듭니다:

$ tctl create -f demo-rule.yaml

demo-rule.tf라는 access_monitoring_rule 구성 파일을 만듭니다:

# demo-rule.tf
resource "teleport_access_monitoring_rule" "demo-rule" {
  version = "v1"
  metadata = {
    name = "demo-rule"
  }
  spec = {
    automatic_review = {
      decision    = "APPROVED"
      integration = "builtin"
    }
    condition     = <<-EOT
      contains_all(set("access"), access_request.spec.roles) &&
      contains_any(user.traits["team"], set("demo")) &&
      access_request.spec.resource_labels_intersection["env"].contains("demo")
    EOT
    desired_state = "reviewed"
    subjects      = ["access_request"]
  }
}

구성을 적용합니다:

$ terraform apply

이 규칙은 사용자에게 team: demo 트레잇이 있는 경우 access 역할 및 env: demo 레이블의 리소스에 대한 접근 요청을 자동으로 승인합니다.

새 자동 검토 규칙을 확인하려면 Teleport Web UI를 통해 접근 요청을 만드세요:

  1. demo-access-requester로 로그인합니다.
  2. Identity Governance -> Access Requests로 이동하고 New Access Request를 클릭합니다.
  3. 접근을 요청하고 싶은 SSH 서버를 추가합니다.
  4. Proceed to Request, 그런 다음 Submit Request를 클릭합니다.

이 시점에서 새 접근 요청이 만들어지고 자동으로 검토되어 APPROVED 상태로 전환됩니다. Back to Listings로 이동하여 접근 요청 상태를 확인합니다. 검토가 처리되는 데 잠시 시간이 걸릴 수 있으므로 페이지를 새로 고쳐야 할 수 있습니다.

일정 기반 자동 검토#

지정된 일정 동안 역할 요청을 자동으로 승인하는 방법을 보여주기 위해 다음 접근 자동화 규칙을 만듭니다:

  1. Identity Governance -> Access Requests -> Set Up Access Automation Rules로 이동합니다.
  2. Create New Access Automation Rule -> Automatic Review Rule을 클릭합니다.
  3. 규칙을 구성하고 다음을 설정합니다:
    • Name of requested roles to match: access
    • User Traits to match: team: demo
    • Review decision: APPROVED
  4. 일정을 구성합니다:
    • For specified times only를 활성화합니다.
    • 원하는 Time Zone을 선택합니다.
    • 원하는 요일을 선택합니다.
    • 선택한 각 요일의 일정을 설정합니다.
  5. Create Rule을 클릭합니다.

예를 들어, 월요일 언제든지 자동 검토를 활성화하려면 일정 편집기가 다음과 같이 나타납니다:

Schedule Editor

demo-rule.yaml이라는 access_monitoring_rule 구성 파일을 만듭니다:

# demo-rule.yaml
kind: access_monitoring_rule
version: v1
metadata:
  name: demo-rule
spec:
  automatic_review:
    decision: APPROVED
    integration: builtin
  condition: |-
    contains_all(set("access"), access_request.spec.roles) &&
    contains_any(user.traits["team"], set("demo"))
  desired_state: reviewed
  subjects:
    - access_request
  schedules:
    default:
      time:
        timezone: America/Los_Angeles
        shifts:
          - weekday: Monday
            start: "00:00"
            end: "23:59"

다음으로 access_monitoring_rule을 만듭니다:

$ tctl create -f demo-rule.yaml

demo-rule.tf라는 access_monitoring_rule 구성 파일을 만듭니다:

# demo-rule.tf
resource "teleport_access_monitoring_rule" "demo-rule" {
  version = "v1"
  metadata = {
    name = "demo-rule"
  }
  spec = {
    automatic_review = {
      decision    = "APPROVED"
      integration = "builtin"
    }
    condition     = <<-EOT
      contains_all(set("access"), access_request.spec.roles) &&
      contains_any(user.traits["team"], set("demo"))
    EOT
    desired_state = "reviewed"
    subjects      = ["access_request"]
    schedules = {
      default = {
        time = {
          timezone = "America/Los_Angeles"
          shifts = [
            {
              weekday : "Monday"
              start : "00:00"
              end : "23:59"
            }
          ]
        }
      }
    }
  }
}

구성을 적용합니다:

$ terraform apply

문제 해결#

충돌하는 자동 검토 규칙#

자동 검토 규칙은 선택된 검토 결정에 따라 접근 요청을 자동으로 승인하거나 거부할 수 있습니다. 접근 요청이 승인 규칙과 거부 규칙 모두의 조건을 충족하면 거부 규칙이 우선합니다.

다음 단계#

자동 검토 구성

원문 보기
요약

Teleport는 접근 요청의 자동 검토를 지원합니다. 이 가이드에서는 Teleport RBAC를 구성하고 자동 검토의 사용 사례 예시를 보여줄 것입니다: 자동 검토는 접근 자동화 규칙에 의해 트리거됩니다. 예를 들어, 접근 자동화 규칙은 Teleport 트레잇 또는 IdP 속성 team: demo를 가진 사용자가 access 역할에 대한 접근을 요청할 때 자동 접근 요청 승인을 수행할 수 있습니다.

Teleport는 접근 요청의 자동 검토를 지원합니다. 이 기능을 통해 팀은 제로 상시 권한 정책을 적용하면서도 사용자가 수동 승인 없이 임시 접근을 받을 수 있습니다.

이 가이드에서는 Teleport RBAC를 구성하고 자동 검토의 사용 사례 예시를 보여줄 것입니다:

  • 특정 팀의 사용자로부터의 역할 요청을 자동으로 승인합니다.
  • 특정 팀의 사용자로부터의 리소스 요청을 자동으로 승인합니다.

작동 방식#

자동 검토는 접근 자동화 규칙에 의해 트리거됩니다. 이 규칙은 Teleport에 접근 요청을 모니터링하고 특정 조건(요청된 역할, 사용자 트레잇 또는 리소스 레이블 등)이 충족되면 자동으로 검토를 제출하도록 지시합니다.

예를 들어, 접근 자동화 규칙은 Teleport 트레잇 또는 IdP 속성 team: demo를 가진 사용자가 access 역할에 대한 접근을 요청할 때 자동 접근 요청 승인을 수행할 수 있습니다.

전제 조건#

  • A running Teleport Enterprise (v18.2.8 or higher) 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:

  • access_monitoring_rule 리소스에 대한 목록 조회, 생성, 읽기, 업데이트, 삭제 권한. 이 권한은 사전 설정된 editor 역할에 포함되어 있습니다.
  • 이 가이드를 위해 레이블이 지정된 Teleport로 보호된 SSH 서버가 최소 하나 필요합니다. 시작하기에서 SSH 서버 등록 방법을 확인하세요.

Terraform 단계를 따르는 경우, 먼저 Teleport Terraform Provider를 설정하세요.

1/3단계. 요청자 역할 및 사용자 만들기#

이 예시에서 먼저 다음을 만들 것입니다:

  • access 역할과 access 역할이 접근할 수 있는 모든 리소스에 대한 접근을 요청할 수 있도록 하는 demo-access-request 역할.
  • 위 역할이 할당된 demo-access-requester 사용자.

역할 만들기#

demo-role.yaml이라는 role 구성 파일을 만듭니다:

# demo-role.yaml
kind: role
version: v7
metadata:
  name: demo-access-request
spec:
  allow:
    request:
      roles:
        - access
      search_as_roles:
        - access

다음으로 역할을 만듭니다:

$ tctl create demo-role.yaml

사용자 만들기#

다음 명령을 사용하여 사용자를 만들고 역할을 할당합니다:

$ tctl users add --roles=demo-access-request demo-access-requester

또는 사용자를 만든 후 역할을 할당할 수 있습니다:

Assign the demo-access-request role to `demo-access-requester` by running the appropriate commands for your authentication provider:

2/3단계. 사용자 트레잇 할당#

자동 검토 규칙이 요청하는 사용자를 평가할 수 있도록 Teleport Web UI를 통해 트레잇을 할당합니다:

  1. Zero Trust Access -> Users로 이동합니다.
  2. demo-access-requester 옆에서 Options -> **Edit...**를 클릭합니다.
  3. Add user trait을 클릭하고 다음을 설정합니다:
    • Key: team
    • Value: demo
  4. Save를 클릭합니다.
  5. 사용자가 원하는 트레잇으로 업데이트되었는지 확인합니다.

Edit User Traits

사용자 트레잇을 추가할 때 어떤 키와 값이든 입력할 수 있습니다. 사용자 트레잇 양식은 와일드카드나 정규 표현식을 지원하지 않습니다.

SSO 사용자

자동 검토는 SSO 사용자와 IdP에서 제공하는 속성과 호환됩니다.

3/3단계. 자동 검토 구성#

사용자를 만들고 트레잇을 할당했으므로 이제 자동 검토 규칙을 구성할 준비가 되었습니다.

접근 자동화 규칙은 사용자 트레잇, 리소스 레이블, 일정을 활용하여 요청을 자동으로 승인할 수 있는지 결정합니다. 이 단계에서는 Teleport가 접근을 자동으로 승인하는 방법을 보여주기 위해 하나 이상의 자동 검토 규칙을 구성합니다.

역할 기반 자동 검토#

특정 팀의 역할 요청을 자동으로 승인하는 방법을 보여주기 위해 다음 접근 자동화 규칙을 만듭니다:

  1. Identity Governance -> Access Requests -> Set Up Access Automation Rules로 이동합니다.
  2. Create New Access Automation Rule -> Automatic Review Rule을 클릭합니다.
  3. 규칙을 구성하고 다음을 설정합니다:
    • Name of requested roles to match: access
    • User Traits to match: team: demo
    • Review decision: APPROVED
  4. Create Rule을 클릭합니다.

demo-rule.yaml이라는 access_monitoring_rule 구성 파일을 만듭니다:

# demo-rule.yaml
kind: access_monitoring_rule
version: v1
metadata:
  name: demo-rule
spec:
  automatic_review:
    decision: APPROVED
    integration: builtin
  condition: |-
    contains_all(set("access"), access_request.spec.roles) &&
    contains_any(user.traits["team"], set("demo"))
  desired_state: reviewed
  subjects:
    - access_request

다음으로 access_monitoring_rule을 만듭니다:

$ tctl create -f demo-rule.yaml

demo-rule.tf라는 access_monitoring_rule 구성 파일을 만듭니다:

# demo-rule.tf
resource "teleport_access_monitoring_rule" "demo-rule" {
  version = "v1"
  metadata = {
    name = "demo-rule"
  }
  spec = {
    automatic_review = {
      decision    = "APPROVED"
      integration = "builtin"
    }
    condition     = <<-EOT
      contains_all(set("access"), access_request.spec.roles) &&
      contains_any(user.traits["team"], set("demo"))
    EOT
    desired_state = "reviewed"
    subjects      = ["access_request"]
  }
}

구성을 적용합니다:

$ terraform apply

이 규칙은 사용자에게 team: demo 트레잇이 있는 경우 access 역할에 대한 접근 요청을 자동으로 승인합니다.

새 자동 검토 규칙을 확인하려면 Teleport Web UI를 통해 접근 요청을 만드세요:

  1. demo-access-requester로 로그인합니다.
  2. Identity Governance -> Access Requests로 이동하고 New Access Request를 클릭합니다.
  3. 요청 유형을 Resources에서 Roles로 변경합니다.
  4. 접근 요청에 access 역할을 추가합니다.
  5. Proceed to Request, 그런 다음 Submit Request를 클릭합니다.

이 시점에서 새 접근 요청이 만들어지고 자동으로 검토되어 APPROVED 상태로 전환됩니다. Back to Listings로 이동하여 접근 요청 상태를 확인합니다. 검토가 처리되는 데 잠시 시간이 걸릴 수 있으므로 페이지를 새로 고쳐야 할 수 있습니다.

리소스 기반 자동 검토#

접근 자동화 규칙을 만들기 전에 Teleport 클러스터에 연결된 레이블이 지정된 SSH 서버가 최소 하나 있는지 확인합니다:

# List your SSH servers to identify available labels:
$ tsh ls
Node Name   Address    Labels
----------- ---------- -------------------------------
teleport-00 ⟵ Tunnel  env=demo

특정 팀의 리소스 요청을 자동으로 승인하는 방법을 보여주기 위해 다음 접근 자동화 규칙을 만듭니다:

  1. Identity Governance -> Access Requests -> Set Up Access Automation Rules로 이동합니다.
  2. Create New Access Automation Rule -> Automatic Review Rule을 클릭합니다.
  3. 규칙을 구성하고 다음을 설정합니다:
    • Name of requested roles to match: access
    • Resource labels to match: env: demo
    • User Traits to match: team: demo
    • Review decision: APPROVED
  4. Create Rule을 클릭합니다.

demo-rule.yaml이라는 access_monitoring_rule 구성 파일을 만듭니다:

# demo-rule.yaml
kind: access_monitoring_rule
version: v1
metadata:
  name: demo-rule
spec:
  automatic_review:
    decision: APPROVED
    integration: builtin
  condition: |-
    contains_all(set("access"), access_request.spec.roles) &&
    contains_any(user.traits["team"], set("demo")) &&
    access_request.spec.resource_labels_intersection["env"].contains("demo")
  desired_state: reviewed
  subjects:
    - access_request

다음으로 access_monitoring_rule을 만듭니다:

$ tctl create -f demo-rule.yaml

demo-rule.tf라는 access_monitoring_rule 구성 파일을 만듭니다:

# demo-rule.tf
resource "teleport_access_monitoring_rule" "demo-rule" {
  version = "v1"
  metadata = {
    name = "demo-rule"
  }
  spec = {
    automatic_review = {
      decision    = "APPROVED"
      integration = "builtin"
    }
    condition     = <<-EOT
      contains_all(set("access"), access_request.spec.roles) &&
      contains_any(user.traits["team"], set("demo")) &&
      access_request.spec.resource_labels_intersection["env"].contains("demo")
    EOT
    desired_state = "reviewed"
    subjects      = ["access_request"]
  }
}

구성을 적용합니다:

$ terraform apply

이 규칙은 사용자에게 team: demo 트레잇이 있는 경우 access 역할 및 env: demo 레이블의 리소스에 대한 접근 요청을 자동으로 승인합니다.

새 자동 검토 규칙을 확인하려면 Teleport Web UI를 통해 접근 요청을 만드세요:

  1. demo-access-requester로 로그인합니다.
  2. Identity Governance -> Access Requests로 이동하고 New Access Request를 클릭합니다.
  3. 접근을 요청하고 싶은 SSH 서버를 추가합니다.
  4. Proceed to Request, 그런 다음 Submit Request를 클릭합니다.

이 시점에서 새 접근 요청이 만들어지고 자동으로 검토되어 APPROVED 상태로 전환됩니다. Back to Listings로 이동하여 접근 요청 상태를 확인합니다. 검토가 처리되는 데 잠시 시간이 걸릴 수 있으므로 페이지를 새로 고쳐야 할 수 있습니다.

일정 기반 자동 검토#

지정된 일정 동안 역할 요청을 자동으로 승인하는 방법을 보여주기 위해 다음 접근 자동화 규칙을 만듭니다:

  1. Identity Governance -> Access Requests -> Set Up Access Automation Rules로 이동합니다.
  2. Create New Access Automation Rule -> Automatic Review Rule을 클릭합니다.
  3. 규칙을 구성하고 다음을 설정합니다:
    • Name of requested roles to match: access
    • User Traits to match: team: demo
    • Review decision: APPROVED
  4. 일정을 구성합니다:
    • For specified times only를 활성화합니다.
    • 원하는 Time Zone을 선택합니다.
    • 원하는 요일을 선택합니다.
    • 선택한 각 요일의 일정을 설정합니다.
  5. Create Rule을 클릭합니다.

예를 들어, 월요일 언제든지 자동 검토를 활성화하려면 일정 편집기가 다음과 같이 나타납니다:

Schedule Editor

demo-rule.yaml이라는 access_monitoring_rule 구성 파일을 만듭니다:

# demo-rule.yaml
kind: access_monitoring_rule
version: v1
metadata:
  name: demo-rule
spec:
  automatic_review:
    decision: APPROVED
    integration: builtin
  condition: |-
    contains_all(set("access"), access_request.spec.roles) &&
    contains_any(user.traits["team"], set("demo"))
  desired_state: reviewed
  subjects:
    - access_request
  schedules:
    default:
      time:
        timezone: America/Los_Angeles
        shifts:
          - weekday: Monday
            start: "00:00"
            end: "23:59"

다음으로 access_monitoring_rule을 만듭니다:

$ tctl create -f demo-rule.yaml

demo-rule.tf라는 access_monitoring_rule 구성 파일을 만듭니다:

# demo-rule.tf
resource "teleport_access_monitoring_rule" "demo-rule" {
  version = "v1"
  metadata = {
    name = "demo-rule"
  }
  spec = {
    automatic_review = {
      decision    = "APPROVED"
      integration = "builtin"
    }
    condition     = <<-EOT
      contains_all(set("access"), access_request.spec.roles) &&
      contains_any(user.traits["team"], set("demo"))
    EOT
    desired_state = "reviewed"
    subjects      = ["access_request"]
    schedules = {
      default = {
        time = {
          timezone = "America/Los_Angeles"
          shifts = [
            {
              weekday : "Monday"
              start : "00:00"
              end : "23:59"
            }
          ]
        }
      }
    }
  }
}

구성을 적용합니다:

$ terraform apply

문제 해결#

충돌하는 자동 검토 규칙#

자동 검토 규칙은 선택된 검토 결정에 따라 접근 요청을 자동으로 승인하거나 거부할 수 있습니다. 접근 요청이 승인 규칙과 거부 규칙 모두의 조건을 충족하면 거부 규칙이 우선합니다.

다음 단계#