View a markdown version of this page

Aggiungere utenti e configurare gli account di servizio - Amazon SageMaker AI

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à.

Aggiungere utenti e configurare gli account di servizio

Controllo degli accessi a grana fine: la nostra raccomandazione

Gli utenti vengono differenziati in base al nome utente Kubernetes. Il nome utente Kubernetes dell'utente è definito nella relativa voce di accesso. Per garantire che due utenti umani abbiano nomi utente distinti, ci sono due opzioni:

  1. Consigliato: più utenti umani possono utilizzare lo stesso ruolo purché ognuno abbia il proprio nome di sessione distinto che persisterà tra le sessioni. Per impostazione predefinita, i nomi utente Kubernetes per i ruoli IAM sono nel formato. arn:aws:sts::{ACCOUNT_ID}:assumed-role/{ROLE_NAME}/{SESSION_NAME} Con questa impostazione predefinita, gli utenti saranno già differenziati in base al nome della sessione. Un amministratore ha diversi modi per imporre nomi di sessione univoci per utente.

    • Accesso SSO: per impostazione predefinita, gli utenti che utilizzano l'accesso SSO avranno un nome di sessione associato al proprio nome utente AWS

    • Servizio di distribuzione centralizzata delle credenziali: i clienti aziendali possono disporre di un servizio di distribuzione di credenziali interno che gli utenti possono chiamare per ottenere le credenziali con la propria identità.

    • Applicazione basata sui ruoli: richiedi agli utenti IAM di impostare il proprio aws:username nome di sessione quando assumono un ruolo IAM nel tuo. Account AWS La documentazione su come eseguire questa operazione è disponibile qui: https://aws.amazon.com/blogs/security/easily-control-naming-individual-iam-role-sessions/

  2. Se 2 Data Scientist utilizzano voci di accesso diverse (ruolo o utente IAM diverso), verranno sempre conteggiati come utenti diversi.

Creazione di una voce di accesso

Politica IAM richiesta per il ruolo di data scientist:

  • eks:DescribeCluster

Politiche di accesso richieste

  • AmazonSagemakerHyperpodSpacePolicy- con ambito di riferimento allo spazio dei nomi DS dovrebbe creare spazi in

  • AmazonSagemakerHyperpodSpaceTemplatePolicy- con ambito nello spazio dei nomi «jupyter-k8s-shared»

  • AmazonSagemakerHyperpodUserClusterPolicy- suddiviso in cluster

Spazi privati e pubblici

Supportiamo 2 tipi di modelli di condivisione: «Pubblico» e «OwnerOnly». Entrambi i campi «AccessType» e «OwnershipType» utilizzano questi 2 valori.

  • AccessType: gli spazi pubblici sono accessibili a chiunque disponga delle autorizzazioni nel namespace, mentre sono OwnerOnly accessibili solo dal creatore dello spazio e dagli utenti amministratori. Gli utenti amministratori sono definiti con i seguenti criteri:

  • OwnershipType: gli spazi pubblici possono essere modified/deleted assegnati a chiunque disponga delle autorizzazioni nel namespace, OwnerOnly possono essere modified/deleted del creatore o dell'amministratore.

Gli utenti amministratori sono definiti da:

  1. Parte del gruppo system:masters Kubernetes

  2. Parte del gruppo Kubernetes definito nella variabile di ambiente CLUSTER_ADMIN_GROUP nel diagramma helm.

I gruppi di un utente possono essere configurati utilizzando le voci di accesso EKS. Uno spazio può essere definito come «Pubblico» o «OwnerOnly» configurando le specifiche nell'oggetto:

apiVersion: workspace.jupyter.org/v1alpha1 kind: Workspace metadata: labels: app.kubernetes.io/name: jupyter-k8s name: example-workspace spec: displayName: "Example Workspace" image: "public.ecr.aws/sagemaker/sagemaker-distribution:3.4.2-cpu" desiredStatus: "Running" ownershipType: "Public"/"OwnerOnly" accessType: "Public"/"OwnerOnly" # more fields here