VPC 환경에서 이용 가능합니다.
클러스터를 생성할 경우, 클러스터를 생성한 SubAccount 계정과 메인 계정은 클러스터 RBAC 구성에 system:masters 그룹으로 자동 설정되며, 이 설정은 클러스터 정보나 ConfigMap에 표시되지 않습니다. IAM 사용자에게 클러스터 사용 권한을 추가하려면 kube-system 네임스페이스에 ncp-auth
ConfigMap을 등록해야 합니다.
참고
ncp-iam-authenticator가 설치되고 kubeconfig가 생성된 상태에서 설정 가능합니다. ncp-iam-authenticator 설치, IAM 인증 kubeconfig 생성을 참조해 주십시오.
IAM 사용자를 클러스터에 추가
- 클러스터를 생성한 SubAccount 사용자 또는 메인 계정으로 kubectl 자격 증명이 구성되어 있어야 합니다.
ncp-auth
ConfigMap을 생성해 주십시오.- ConfigMap의 IAM 사용자 파라미터는 아래와 같습니다.
- subaccountIdNo: SubAccount 콘솔에서 확인 가능한 추가할 SubAccount 사용자의 ID
- username: Kubernetes 내에서 IAM 사용자에게 매핑할 사용자 이름.
- groups: Kubernetes 내에서 사용자에게 매핑할 그룹 목록. 자세한 Default roles and role bindings를 참조해 주십시오.
ncp-auth
ConfigMap에 ncloud.com/applied-ncp-auth 어노테이션을 통해 적용된 사용자 목록을 확인합니다.- IAM 사용자 또는 역할을 매핑한 Kubernetes 사용자 또는 그룹이 RoleBinding 또는 ClusterRoleBinding을 사용하여 Kubernetes 역할에 바인딩되어 있는지 확인해 주십시오.
- 자세한 내용은 Kubernetes 문서의 Using RBAC Authorization를 참조해 주십시오.
- 모든 네임스페이스의 리소스 보기 권한 - 그룹 이름은 full-access-group 이며, 이를
ncp-auth
ConfigMap에서 IAM 사용자의 groups에 매핑해야 합니다.
- 특정 네임스페이스의 리소스 보기 권한 - 파일에 설정된 네임스페이스는 default이므로 원하는 네임스페이스를 지정하여 수정합니다. 그룹 이름은 restricted-access-group이며, 이를
ncp-auth
ConfigMap에서 IAM 사용자의 groups에 매핑해야 합니다.
mapSubAccounts에 사용자 등록하지 않고 전체 인증
ncp-auth
ConfigMap에 authenticateAll 값을 true로 추가하면 모든 SubAccount 계정이 mapSubAccounts에 추가되지 않아도 인증됩니다.- 인증된 사용자는 SubAccount 사용자를 클러스터에 추가와 동일하게 Kubernetes 사용자 또는 그룹이 RoleBinding 또는 ClusterRoleBinding을 사용하여 Kubernetes 역할에 바인딩되어야 합니다.
SubAccount 그룹을 Kubernetes 그룹으로 사용
- SubAccount 그룹에 속해있는 SubAccount 사용자는 ncp-sub-account-group:가 prefix로 추가된 Kubernetes 그룹에 포함되게 됩니다.
- full-access 라는 SubAccount 그룹에 속한 사용자 전체에 full-access-clusterrole을 부여하는 예시는 아래와 같습니다.