翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
のIAMアクセス許可を設定する MLflow
Amazon MLflowで を開始するには、必要なIAMサービスロールを設定する必要があります SageMaker。
Studio で実験にアクセスするための新しい Amazon SageMaker ドメインを作成する場合は、ドメインのセットアップ中に必要なIAMアクセス許可を設定できます。詳細については、「新しいドメインを作成するときにMLflowIAMアクセス許可を設定する」を参照してください。
IAM コンソールを使用してアクセス許可を設定するには、「」を参照してくださいIAM コンソールで必要なIAMサービスロールを作成する。
sagemaker-mlflow
アクションの承認コントロールを設定する必要があります。オプションで、より詳細な承認コントロールを定義して、アクション固有のMLflowアクセス許可を管理できます。詳細については、「アクション固有の承認コントロールを作成する」を参照してください。
新しいドメインを作成するときにMLflowIAMアクセス許可を設定する
組織の新しい Amazon SageMaker ドメインを設定するときは、ユーザーと ML アクティビティ設定を使用してドメインサービスロールのIAMアクセス許可を設定できます。
新しいドメインを設定する SageMaker ときに MLflowを使用するためのIAMアクセス許可を設定するには
-
SageMaker コンソールを使用して新しいドメインを設定します。ドメインの設定 SageMakerページで、組織の設定 を選択します。詳細については、「コンソールを使用したカスタムセットアップ」を参照してください。
-
ユーザーと ML アクティビティ を設定するときは、 の次の ML アクティビティから選択しますMLflow。 の使用MLflow、MLflow追跡サーバーの の管理、 AWS のサービスに必要なアクセスMLflow。これらのアクティビティの詳細については、この手順に従う説明を参照してください。
-
新しいドメインのセットアップと作成を完了します。
Amazon SageMaker Role Manager では、次の MLflow ML アクティビティを使用できます。
を使用するMLflow: この ML アクティビティは、 で実験、実行、モデルを管理するMLflowRESTAPIsために を呼び出すアクセス許可をドメインサービスロールに付与しますMLflow。
MLflow 追跡サーバーの管理: この ML アクティビティは、追跡サーバーを作成、更新、開始、停止、削除するアクセス許可をドメインサービスロールに付与します。
AWS のサービスに必要なアクセスMLflow: この ML アクティビティは、Amazon S3 と SageMaker モデルレジストリへのアクセスに必要なドメインサービスロールのアクセス許可を提供します。これにより、ドメインサービスロールを追跡サーバーサービスロールとして使用できます。
Role Manager での ML アクティビティの詳細については、「」を参照してくださいML アクティビティリファレンス。
IAM コンソールで必要なIAMサービスロールを作成する
ドメインサービスロールを作成または更新していない場合は、代わりに IAMコンソールで次のサービスロールを作成して、MLflow追跡サーバーを作成および使用する必要があります。
追跡サーバーが SageMaker リソースへのアクセスに使用できる追跡サーバーIAMサービスロール
MLflow リソースの作成と管理 SageMaker に使用できる SageMaker IAMサービスロール
IAM 追跡サーバーIAMサービスロールのポリシー
追跡サーバーIAMサービスロールは、Amazon S3 や SageMaker Model Registry など、追跡サーバーが必要とするリソースにアクセスするために使用します。
追跡サーバー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": "
*
" } ] }
IAM 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": "*" } ] }
アクション固有の承認コントロールを作成する
には認証コントロールを設定する必要があります。オプションでsagemaker-mlflow
、ユーザーがMLflow追跡サーバーに対して持つより詳細なMLflowアクセス許可を管理するように、アクション固有の認証コントロールを設定できます。
注記
次の手順では、MLflowトラッキングサーバーの が既に使用可能であることを前提ARNとしています。追跡サーバーを作成する方法については、Studio を使用して追跡サーバーを作成する「」または「」を参照してくださいを使用して追跡サーバーを作成する AWS CLI。
次のコマンドは、 という名前のファイルを作成しmlflow-policy.json
、すべての利用可能な SageMaker MLflowアクションに対するIAMアクセス許可をトラッキングサーバーに提供します。オプションで、ユーザーに実行させたい特定のアクションを選択することで、ユーザーに付与されるアクセス許可を制限できます。使用可能なアクションのリストについては、「IAM でサポートされているアクション MLflow」を参照してください。
# 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
IAM でサポートされているアクション MLflow
認証アクセスコントロールでは、次の 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