10.3. 역할 바인딩 관리
사용자 또는 그룹에 역할을 추가하거나 바인딩 하면 역할 에서 부여하는 관련 액세스 권한이 사용자 또는 그룹에 부여됩니다. oc adm policy
명령을 사용하여 사용자 및 그룹에 역할을 추가하거나 사용자 및 그룹으로부터 역할을 제거할 수 있습니다.
다음 작업을 사용하여 로컬 역할 바인딩에 대한 사용자 또는 그룹의 연결된 역할을 관리할 때 -n
플래그로 프로젝트를 지정할 수 있습니다. 지정하지 않으면 현재 프로젝트가 사용됩니다.
명령 | 설명 |
---|---|
| 리소스에 작업을 수행할 수 있는 사용자를 나타냅니다. |
| 지정된 역할을 현재 프로젝트의 지정된 사용자에게 바인딩합니다. |
| 현재 프로젝트에서 지정된 사용자로부터 지정된 역할을 제거합니다. |
| 현재 프로젝트에서 지정된 사용자 및 해당 사용자의 역할을 모두 제거합니다. |
| 현재 프로젝트에서 지정된 그룹에 지정된 역할을 바인딩합니다. |
| 현재 프로젝트에서 지정된 그룹의 지정된 역할을 제거합니다. |
| 현재 프로젝트에서 지정된 그룹과 해당 그룹의 역할을 모두 제거합니다. |
|
|
다음 작업을 사용하여 클러스터 역할 바인딩을 관리할 수도 있습니다. 클러스터 역할 바인딩에 네임스페이스가 아닌 리소스가 사용되므로 -n
플래그가 해당 작업에 사용되지 않습니다.
명령 | 설명 |
---|---|
| 클러스터의 모든 프로젝트에 대해 지정된 사용자에게 지정된 역할을 바인딩합니다. |
| 클러스터의 모든 프로젝트에 대해 지정된 사용자로부터 지정된 역할을 제거합니다. |
| 클러스터의 모든 프로젝트에 대해 지정된 역할을 지정된 그룹에 바인딩합니다. |
| 클러스터의 모든 프로젝트에 대해 지정된 그룹에서 지정된 역할을 제거합니다. |
|
|
예를 들어 다음을 실행하여 joe-project 의 alice 사용자에게 admin 역할을 추가할 수 있습니다.
$ oc adm policy add-role-to-user admin alice -n joe-project
그런 다음 로컬 역할 바인딩을 보고 출력에 추가되었는지 확인할 수 있습니다.
$ oc describe rolebinding.rbac -n joe-project Name: admin Labels: <none> Annotations: <none> Role: Kind: ClusterRole Name: admin Subjects: Kind Name Namespace ---- ---- --------- User joe Name: admin-0 1 Labels: <none> Annotations: <none> Role: Kind: ClusterRole Name: admin Subjects: Kind Name Namespace ---- ---- --------- User alice 2 Name: system:deployers Labels: <none> Annotations: <none> Role: Kind: ClusterRole Name: system:deployer Subjects: Kind Name Namespace ---- ---- --------- ServiceAccount deployer joe-project Name: system:image-builders Labels: <none> Annotations: <none> Role: Kind: ClusterRole Name: system:image-builder Subjects: Kind Name Namespace ---- ---- --------- ServiceAccount builder joe-project Name: system:image-pullers Labels: <none> Annotations: <none> Role: Kind: ClusterRole Name: system:image-puller Subjects: Kind Name Namespace ---- ---- --------- Group system:serviceaccounts:joe-project