新增使用者並設定服務帳戶 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

新增使用者並設定服務帳戶

精細存取控制 - 我們的建議

使用者會根據其 Kubernetes 使用者名稱進行區分。使用者的 Kubernetes 使用者名稱定義在其存取項目中。為了確保兩個人類使用者具有不同的使用者名稱,有兩個選項:

  1. 建議 - 多個人類使用者可以使用相同的角色,只要每個角色都有自己的不同工作階段名稱,並在工作階段之間保留。根據預設,IAM 角色的 Kubernetes 使用者名稱格式為 arn:aws:sts::{ACCOUNT_ID}:assumed-role/{ROLE_NAME}/{SESSION_NAME}。使用此預設值時,使用者將會依工作階段名稱區分。管理員有幾種方式可以強制每個使用者使用唯一的工作階段名稱。

    • SSO 登入 - 使用 SSO 登入的使用者預設會有與其AWS使用者名稱繫結的工作階段名稱

    • 中央憑證販賣服務 - 對於企業客戶,他們可能有一些內部憑證販賣服務,使用者可以呼叫 來取得具有其身分的憑證。

    • 角色型強制執行 - 要求 IAM 使用者在您的 中擔任 IAM 角色時,將其設定為aws:username其角色工作階段名稱AWS 帳戶。有關如何執行此操作的文件如下:https://https://aws.amazon.com/blogs/security/easily-control-naming-individual-iam-role-sessions/

  2. 如果 2 個資料科學家使用不同的存取項目 (不同的 IAM 角色或使用者),則一律會計入不同的使用者。

建立存取項目

資料科學家角色所需的 IAM 政策:

  • eks:DescribeCluster

必要的存取項目政策

  • AmazonSagemakerHyperpodSpacePolicy - 範圍限定於命名空間 DS 應該在 中建立空格

  • AmazonSagemakerHyperpodSpaceTemplatePolicy - 範圍為「jupyter-k8s-shared」命名空間

私有和公有空間

我們支援 2 種共用模式:「公有」和「OwnerOnly」。「AccessType」和「OwnershipType」欄位都使用這兩個值。

  • AccessType:具有 命名空間許可的任何人都可以存取公有空間,而 OwnerOnly 只能由空間建立者和管理員使用者存取。管理員使用者的定義條件如下:

  • OwnershipType:具有命名空間許可的任何人都可以修改/刪除公有空間,建立者或管理員可以修改/刪除 OwnerOnly。

管理員使用者的定義如下:

  1. Kubernetes system:masters 群組的一部分

  2. 在 Helm Chart 的 CLUSTER_ADMIN_GROUP 環境變數中定義的 Kubernetes 群組的一部分。

您可以使用 EKS 存取項目來設定使用者群組。透過在 物件中設定規格,可將空間定義為「公有」或「OwnerOnly」:

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