翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
MLflow の IAM アクセス許可を設定する
Amazon で MLflow の使用を開始するには、必要な IAM サービスロールを設定する必要があります SageMaker。
Studio で実験にアクセスするための新しい Amazon SageMaker ドメインを作成する場合は、ドメインのセットアップ中に必要な IAM アクセス許可を設定できます。詳細については、「新しいドメインの作成時に MLflow IAM アクセス許可を設定する」を参照してください。
IAM コンソールを使用してアクセス許可を設定するには、「」を参照してくださいIAM コンソールで必要な IAM サービスロールを作成する。
sagemaker-mlflow
アクションの AuthZ コントロールを設定する必要があります。オプションで、より詳細な AuthZ コントロールを定義して、アクション固有の MLflow アクセス許可を管理できます。詳細については、「アクション固有の AuthZ コントロール」を参照してください。
新しいドメインの作成時に MLflow IAM アクセス許可を設定する
組織の新しい Amazon SageMaker ドメインを設定する場合、ユーザーおよび ML アクティビティ設定を使用してドメインサービスロールの IAM アクセス許可を設定できます。
Amazon Role Manager では、次の MLflow ML SageMaker アクティビティを使用できます。
MLflow を使用する: この ML アクティビティは、MLflow REST APIs を呼び出して MLflow の実験、実行、モデルを管理するアクセス許可をドメインサービスロールに付与します MLflow 。
MLflow Tracking Servers の管理: この ML アクティビティは、追跡サーバーを作成、更新、開始、停止、削除するアクセス許可をドメインサービスロールに付与します。
MLflow AWS のサービスに必要なアクセス: この ML アクティビティは、Amazon S3 と Model Registry にアクセスするために必要なドメインサービスロールのアクセス許可を提供します。 SageMaker これにより、ドメインサービスロールを追跡サーバーサービスロールとして使用できます。
MLflow ML アクティビティをドメインサービスロールに追加するには、次の手順に従います。
新しいドメインを設定する SageMaker ときに で MLflow を使用するための IAM アクセス許可を設定する
SageMaker コンソールを使用して新しいドメインを設定します。「ドメインのセットアップ SageMaker」ページで、「組織のセットアップ」を選択します。詳細については、「コンソールを使用したカスタムセットアップ」を参照してください。
ユーザーと ML アクティビティ を設定するときは、MLflow の次の ML アクティビティを選択します: MLflow を使用する、MLflow 追跡サーバーを管理する、MLflow AWS のサービスに必要なアクセス。
新しいドメインのセットアップと作成を完了します。
Role Manager での ML アクティビティの詳細については、「」を参照してくださいML アクティビティリファレンス。
IAM コンソールで必要な IAM サービスロールを作成する
ドメインサービスロールを作成または更新していない場合は、代わりに MLflow 追跡サーバーを作成して使用するには、IAM コンソールで次のサービスロールを作成する必要があります。
追跡サーバーが SageMaker リソースへのアクセスに使用できる追跡サーバーの IAM サービスロール
MLflow リソースの作成と管理 SageMaker に使用できる SageMaker IAM サービスロール
追跡サーバーの IAM サービスロールを作成する
追跡サーバーの IAM サービスロールは、Amazon S3 や Model Registry など、必要なリソースにアクセスするために追跡サーバーによって使用されます。 SageMaker
追跡サーバーの IAM サービスロールを作成するには、次の IAM 信頼ポリシーを作成します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
IAM コンソールで、次のポリシーを追跡サーバーサービスロールに追加します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:Put*", "s3:List*", "sagemaker:AddTags", "sagemaker:CreateModelPackageGroup", "sagemaker:CreateModelPackage", "sagemaker:UpdateModelPackage", "sagemaker:DescribeModelPackageGroup" ], "Resource": "
*
" } ] }
SageMaker IAM サービスロールを作成する
SageMaker サービスロールは、MLflow 追跡サーバーにアクセスするクライアントによって使用され、MLflow REST APIs を呼び出すためのアクセス許可が必要です。 SageMaker サービスロールには、追跡サーバーを作成、更新、起動、停止、削除するための SageMaker API アクセス許可も必要です。
新しいロールを作成するか、既存のロールを更新できます。 SageMaker サービスロールには、次のポリシーが必要です。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker-mlflow:*", "sagemaker:CreateMlflowTrackingServer", "sagemaker:UpdateMlflowTrackingServer", "sagemaker:DeleteMlflowTrackingServer", "sagemaker:StartMlflowTrackingServer", "sagemaker:StopMlflowTrackingServer", "sagemaker:CreatePresignedMlflowTrackingServerUrl" ], "Resource": "*" } ] }
アクション固有の AuthZ コントロール
の AuthZ コントロールを設定する必要があります。またsagemaker-mlflow
、オプションでアクション固有の AuthZ コントロールを設定して、ユーザーが MLflow 追跡サーバーに対して持つより詳細な MLflow アクセス許可を管理できます。
注記
次の手順では、MLflow Tracking Server の ARN が既に利用可能であることを前提としています。追跡サーバーの作成方法については、Studio を使用して追跡サーバーを作成する「」または「」を参照してくださいを使用して追跡サーバーを作成する AWS CLI。
次のコマンドは、すべての使用可能な SageMaker MLflow アクションに対する IAM アクセス許可をトラッキングサーバーmlflow-policy.json
に提供する というファイルを作成します。オプションで、そのユーザーに実行させたい特定のアクションを選択して、ユーザーに付与するアクセス許可を制限できます。使用可能なアクションのリストについては、「MLflow でサポートされている IAM アクション」を参照してください。
# Replace "Resource":"*" with "Resource":"TrackingServerArn" # Replace "sagemaker-mlflow:*" with specific actions printf '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "
sagemaker-mlflow:*
", "Resource": "*
" } ] }' > mlflow-policy.json
mlflow-policy.json
ファイルを使用して、 を使用して IAM ポリシーを作成します AWS CLI。
aws iam create-policy \ --policy-name
MLflowPolicy
\ --policy-documentfile://mlflow-policy.json
アカウント ID を取得し、ポリシーを IAM ロールにアタッチします。
# Get your account ID aws sts get-caller-identity # Attach the IAM policy using your exported role and account ID aws iam attach-role-policy \ --role-name
$role_name
\ --policy-arn arn:aws:iam::123456789012
:policy/MLflowPolicy
MLflow でサポートされている IAM アクション
AuthZ アクセスコントロールでは、次の SageMaker MLflow アクションがサポートされています。
sagemaker-mlflow:AccessUI
sagemaker-mlflow:CreateExperiment
sagemaker-mlflow:SearchExperiments
sagemaker-mlflow:GetExperiment
sagemaker-mlflow:GetExperimentByName
sagemaker-mlflow:DeleteExperiment
sagemaker-mlflow:RestoreExperiment
sagemaker-mlflow:UpdateExperiment
sagemaker-mlflow:CreateRun
sagemaker-mlflow:DeleteRun
sagemaker-mlflow:RestoreRun
sagemaker-mlflow:GetRun
sagemaker-mlflow:LogMetric
sagemaker-mlflow:LogBatch
sagemaker-mlflow:LogModel
sagemaker-mlflow:LogInputs
sagemaker-mlflow:SetExperimentTag
sagemaker-mlflow:SetTag
sagemaker-mlflow:DeleteTag
sagemaker-mlflow:LogParam
sagemaker-mlflow:GetMetricHistory
sagemaker-mlflow:SearchRuns
sagemaker-mlflow:ListArtifacts
sagemaker-mlflow:UpdateRun
sagemaker-mlflow:CreateRegisteredModel
sagemaker-mlflow:GetRegisteredModel
sagemaker-mlflow:RenameRegisteredModel
sagemaker-mlflow:UpdateRegisteredModel
sagemaker-mlflow:DeleteRegisteredModel
sagemaker-mlflow:GetLatestModelVersions
sagemaker-mlflow:CreateModelVersion
sagemaker-mlflow:GetModelVersion
sagemaker-mlflow:UpdateModelVersion
sagemaker-mlflow:DeleteModelVersion
sagemaker-mlflow:SearchModelVersions
sagemaker-mlflow:GetDownloadURIForModelVersionArtifacts
sagemaker-mlflow:TransitionModelVersionStage
sagemaker-mlflow:SearchRegisteredModels
sagemaker-mlflow:SetRegisteredModelTag
sagemaker-mlflow:DeleteRegisteredModelTag
sagemaker-mlflow:DeleteModelVersionTag
sagemaker-mlflow:DeleteRegisteredModelAlias
sagemaker-mlflow:SetRegisteredModelAlias
sagemaker-mlflow:GetModelVersionByAlias