12.2. 사용자 이름 및 그룹
모든 서비스 계정에는 일반 사용자와 마찬가지로 역할을 부여할 수 있는 관련 사용자 이름이 있습니다. 사용자 이름은 프로젝트와 이름에서 파생됩니다.
system:serviceaccount:<project>:<name>
예를 들어 top-secret 프로젝트의 robot 서비스 계정에 view 역할을 추가하려면 다음을 수행합니다.
$ oc policy add-role-to-user view system:serviceaccount:top-secret:robot
프로젝트의 특정 서비스 계정에 대한 액세스 권한을 부여하려면 -z
플래그를 사용할 수 있습니다. 서비스 계정이 속하는 프로젝트에서 -z
플래그를 사용하고 < serviceaccount_name>을 지정합니다
. 오타를 방지하고 지정된 서비스 계정에만 액세스 권한을 부여할 수 있으므로 이 방법은 매우 권장됩니다. 예를 들어 다음과 같습니다.
$ oc policy add-role-to-user <role_name> -z <serviceaccount_name>
프로젝트에 없는 경우 아래 예제와 같이 -n
옵션을 사용하여 적용되는 프로젝트 네임스페이스를 나타냅니다.
모든 서비스 계정은 다음 두 그룹의 멤버이기도 합니다.
- system:serviceaccount
- 시스템의 모든 서비스 계정이 포함됩니다.
- system:serviceaccount:<project>
- 지정된 프로젝트의 모든 서비스 계정이 포함됩니다.
예를 들어 모든 프로젝트의 모든 서비스 계정에서 top-secret 프로젝트의 리소스를 볼 수 있도록 하려면 다음을 실행합니다.
$ oc policy add-role-to-group view system:serviceaccount -n top-secret
managers 프로젝트의 모든 서비스 계정에서 top-secret 프로젝트의 리소스를 편집할 수 있도록 하려면 다음을 수행합니다.
$ oc policy add-role-to-group edit system:serviceaccount:managers -n top-secret