Merge pull request #838 from bluefriday/translate-ko-bluefriday-15

Translate docs/topics/permissions_sql_storage_backend in Korean
This commit is contained in:
Bridget Kromhout 2020-09-24 15:04:50 -05:00 committed by GitHub
commit f6166f97e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 64 additions and 0 deletions

View File

@ -0,0 +1,64 @@
---
title: "SQL 스토리지 백엔드에 대한 권한 관리"
description: "SQL 스토리지 백엔드를 사용할 때 권한을 설정하는 방법을 알아본다."
---
이 문서는 SQL 스토리지 백엔드를 사용할 때 권한을 설정하고 관리하기 위한
지침을 사용자에게 제공하는 것을 목표로 한다.
## 소개
권한을 처리하기 위해 헬름은 쿠버네티스의 RBAC 기능을 사용한다. SQL 스토리지
백엔드를 사용할 때 쿠버네티스의 역할을 사용하여 사용자가 주어진
리소스에 액세스 할 수 있는지 여부를 결정할 수 없다. 이 문서는 이러한 권한을
생성하고 관리하는 방법을 보여준다.
## 초기화
헬름 CLI 가 처음으로 데이터베이스에 연결되면, 클라이언트는 이전에 초기화 되었는지
확인한다. 그렇지 않은 경우 필요한 설정을 자동으로 처리한다.
이 초기화에는 공용 스키마에 대한 관리자 권한이 필요하거나 최소한
다음을 수행할 수 있어야 한다.
* 테이블 생성
* 공개 스키마에 대한 권한 부여
사용자 데이터베이스에 대한 마이그레이션이 실행 된 후, 다른 모든 역할은
클라이언트를 사용할 수 있다.
## PostgreSQL 에서 관리자가 아닌 사용자에게 권한 부여
권한을 관리하기 위해 SQL 백엔드 드라이버는 PostgreSQL의
[RLS](https://www.postgresql.org/docs/9.5/ddl-rowsecurity.html) (행 보안
수준) 기능을 활용한다. RLS는 모든 사용자가 명시적으로
허용되지 않는 경우 동일한 행을 조작하지 않고도 동일한
테이블에서 읽거나 쓸 수 있도록 허용한다. 기본적으로 올바른
권한이 명시적으로 부여되지 않은 모든 역할은 `helm list`
실행할 때 항상 빈 목록을 반환하며 클러스터의 리소스를
검색하거나 수정할 수 없다.
지정된 역할에 특정 네임스페이스에 대한 액세스 권한을 부여하는 방법을 알아보자:
```sql
CREATE POLICY <name> ON releases_v1 FOR ALL TO <role> USING (namespace = 'default');
```
이 명령어는 `namespace = 'default'` 조건을
충족하는 모든 리소스를 읽고 쓸 수 있는 권한을 `role`
역할에 부여한다. 이 정책을 만든 후 `role` 역할을 대신하여
데이터베이스에 연결된 사용자는 `helm list` 를 실행할 때
`default` 네임스페이스에 있는 모든 릴리스를 볼 수 있으며 수정 및 삭제할 수 있다.
권한은 RLS를 사용하여 세분화하여 관리 할 수 있으며, 테이블의 주어진 다른 열의
접근을 제한할 수도 있다.
* key
* type
* body
* name
* namespace
* version
* status
* owner
* createdAt
* modifiedAt