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

146 lines
3.0 KiB
Markdown

# Teleport 권한 관리
## 권한 관리
참고 주소 : [https://goteleport.com/docs/access-controls/getting-started/](https://goteleport.com/docs/access-controls/getting-started/)
## Management > User Roles 에서 관리
```yaml
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` 사용중
## 허용
```yaml
allow:
logins:
- dev2
node_labels:
ipaddr: '*'
```
`allow` 하위에 작성된 조건에 따라 허용이 가능
* `logins` : SSH 접속을 위해 사용할 User
* `node_labels` : 해당 label을 가진 서버 조회 가능
* `app_labels` : 해당 label을 가진 애플리케이션 조회 가능
## 차단
```yaml
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
```yaml
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
```
```yaml
- organization: CloudMOA
roles:
- datasaker
- app-connect
team: saas_teleport
```
해당 부분의 roles 부분에 작성하여 role 적용
`team` 같은 경우 Github의 Team 에서 조회 가능
![](https://t25540965.p.clickup-attachments.com/t25540965/74610a9b-bca5-49a2-a2db-698f93d4b0d9/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202024-01-22%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%203.08.13.png)
웹브라우저 상 주소의 맨 뒷 부분에 적혀있는 내용이 `team:` 에 입력되는 값 ex) saas