Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazione del controllo degli accessi basato sui ruoli Kubernetes
Gli utenti amministratori del cluster devono inoltre configurare il controllo degli accessi basato sul ruolo di Kubernetes (RBAC)
Opzione 1: eseguire la configurazione utilizzando Helm chart RBAC
Il team SageMaker HyperPod di assistenza fornisce una sottocartella Helm per la configurazione. RBAC Per ulteriori informazioni, consulta Installa pacchetti sul EKS cluster Amazon utilizzando Helm.
Opzione 2: da configurare manualmente RBAC
Crea ClusterRole
e ClusterRoleBinding
con il privilegio minimo e crea Role
e RoleBinding
con i permessi di mutazione.
Per creare ClusterRole
e ClusterRoleBinding
per il ruolo di data scientist IAM
Crea un file di configurazione a livello di cluster cluster_level_config.yaml
come segue.
kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: name: hyperpod-scientist-user-cluster-role rules: - apiGroups: [""] resources: ["pods"] verbs: ["list"] - apiGroups: [""] resources: ["nodes"] verbs: ["list"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: hyperpod-scientist-user-cluster-role-binding subjects: - kind: Group name: hyperpod-scientist-user-cluster-level apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: hyperpod-scientist-user-cluster-role # this must match the name of the Role or ClusterRole you wish to bind to apiGroup: rbac.authorization.k8s.io
Applica la configurazione al cluster. EKS
kubectl apply -f cluster_level_config.yaml
Per creare Role & RoleBinding nel namespace
Questo è l'operatore di formazione dello spazio dei nomi che esegue i processi di formazione e Resiliency lo monitorerà per impostazione predefinita. Il ripristino automatico del lavoro può essere supportato solo nel namespace o nel kubeflow
namespace con prefisso. aws-hyperpod
Create un file di configurazione del ruolo come segue. namespace_level_role.yaml
Questo esempio crea un ruolo nel kubeflow
namespace
kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: namespace: kubeflow name: hyperpod-scientist-user-namespace-level-role ### # 1) add/list/describe/delete pods # 2) get/list/watch/create/patch/update/delete/describe kubeflow pytroch job # 3) get pod log ### rules: - apiGroups: [""] resources: ["pods"] verbs: ["create", "get"] - apiGroups: [""] resources: ["nodes"] verbs: ["get", "list"] - apiGroups: [""] resources: ["pods/log"] verbs: ["get", "list"] - apiGroups: [""] resources: ["pods/exec"] verbs: ["get", "create"] - apiGroups: ["kubeflow.org"] resources: ["pytorchjobs", "pytorchjobs/status"] verbs: ["get", "list", "create", "delete", "update", "describe"] - apiGroups: [""] resources: ["configmaps"] verbs: ["create", "update", "get", "list", "delete"] - apiGroups: [""] resources: ["secrets"] verbs: ["create", "get", "list", "delete"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: namespace: kubeflow name: hyperpod-scientist-user-namespace-level-role-binding subjects: - kind: Group name: hyperpod-scientist-user-namespace-level apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: hyperpod-scientist-user-namespace-level-role # this must match the name of the Role or ClusterRole you wish to bind to apiGroup: rbac.authorization.k8s.io
Applica la configurazione al cluster. EKS
kubectl apply -f namespace_level_role.yaml
Crea una voce di accesso per i gruppi Kubernetes
Dopo aver effettuato la configurazione RBAC utilizzando una delle due opzioni precedenti, utilizza il seguente comando di esempio per sostituire le informazioni necessarie.
aws eks create-access-entry \ --cluster-name
<eks-cluster-name>
\ --principal-arn arn:aws:iam::<AWS_ACCOUNT_ID_SCIENTIST_USER>
:role/ScientistUserRole \ --kubernetes-groups '["hyperpod-scientist-user-namespace-level","hyperpod-scientist-user-cluster-level"]'
Per il principal-arn
parametro, è necessario utilizzare ilIAMutenti per scienziati.