

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ステージング構造の設定例
<a name="model-registry-staging-construct-set-up"></a>

Amazon SageMaker モデルレジストリのステージ構造を設定するには、管理者が対象ロールに適切なアクセス許可を付与する必要があります。さまざまなロールのステージ構造を設定する方法の例は、以下のとおりです。

**注記**  
Amazon SageMaker AI ドメイン内のユーザーは、ドメイン内で定義されたすべてのステージを表示できますが、使用できるのはアクセス許可が付与されているステージのみです。

ステージは `ModelLifeCycle` パラメータで定義され、次の構造になっています。管理者は、どの`stage`と`stageStatus`にどのロールがアクセスできるかのアクセス許可を設定します。ロールを引き受けるユーザーは、関連する `stage`と`stageStatus`を使用して、独自の`stageDescription`を含めることができます。

```
ModelLifeCycle {
    stage: String # Required (e.g., Development/QA/Production)
    stageStatus: String # Required (e.g., PendingApproval/Approved/Rejected)  
    stageDescription: String # Optional
}
```

モデルレジストリの事前定義されたステージ構造テンプレートは次の表のとおりです。ユースケースに応じて独自のステージ構造を定義できます。関連するアクセス許可は、ユーザーが使用する前に設定する必要があります。


| ステージ | ステージのステータス | 
| --- | --- | 
|  提案  |  PendingApproval  | 
|  開発  |  InProgress  | 
|  QA  |  OnHold  | 
|  PreProd  |  APPROVED  | 
|  本番稼働  |  拒否  | 
|  アーカイブ済み  |  使用停止  | 

`ModelLifeCycle` パラメータは、次の API で呼び出すことができます。
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateModelPackage.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html)

------
#### [ Policy for a data scientist role ]

以下は、モデルライフサイクル条件キーを使用する IAM ポリシーの例です。これらは独自の要件に基づいて変更できます。この例では、ロールのアクセス許可は、モデルライフサイクルステージを次のように設定または定義するように制限されています。
+ `"Development"`ステージと `"Approved"`ステータスでモデルを作成または更新します。
+ `"QA"` ステージ、`"PendingApproval"`ステータスでモデルパッケージを更新します。

```
{
    "Action" : [
        "sagemaker:UpdateModelPackage",
        "sagemaker:CreateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "StringEquals": {
            "sagemaker:ModelLifeCycle:stage" : "Development"
            "sagemaker:ModelLifeCycle:stageStatus" : "Approved"       
        }
    }
},
{
    "Action" : [
        "sagemaker:UpdateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "StringEquals": {
            "sagemaker:ModelLifeCycle:stage" : "Staging"
            "sagemaker:ModelLifeCycle:stageStatus" : "PendingApproval"       
        }
    }
}
```

------
#### [ Policy for a quality assurance specialist ]

以下は、モデルライフサイクル条件キーを使用する IAM ポリシーの例です。これらは独自の要件に基づいて変更できます。この例では、ロールのアクセス許可は、モデルライフサイクルステージを次のように設定または定義するように制限されています。
+ 以下を使用してパッケージを更新します。
  + `"QA"` ステージと`"Approved"`ステータスまたは`"Rejected"`ステータス。
  + `"Production"`ステージと`"PendingApproval"`ステータス。

```
{
    "Action": [
        "sagemaker:UpdateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "StringEquals": {
            "sagemaker:ModelLifeCycle:stage": "Staging",
            "sagemaker:ModelLifeCycle:stageStatus": "Approved"
        }
    }
}, {
    "Action": [
        "sagemaker:UpdateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "StringEquals": {
            "sagemaker:ModelLifeCycle:stage": "Staging",
            "sagemaker:ModelLifeCycle:stageStatus": "Rejected"
        }
    }
}, {
    "Action": [
        "sagemaker:UpdateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "StringEquals": {
            "sagemaker:ModelLifeCycle:stage": "Production",
            "sagemaker:ModelLifeCycle:stageStatus": "PendingApproval"
        }
    }
}
```

------
#### [ Policy for lead engineer role ]

以下は、モデルライフサイクル条件キーを使用する IAM ポリシーの例です。これらは独自の要件に基づいて変更できます。この例では、ロールのアクセス許可は、モデルライフサイクルステージを次のように設定または定義するように制限されています。
+ 以下を使用してパッケージを更新します。
  + `"Production"` ステージと`"Approved"`ステータスまたは`"Rejected"`ステータス。
  + `"Development"`ステージと`"PendingApproval"`ステータス。

```
{
    "Action" : [
        "sagemaker:UpdateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "ForAnyvalue:StringEquals" : {
            "sagemaker:ModelLifeCycle:stage" : "Production",
            "sagemaker:ModelLifeCycle:stageStatus" : "Approved"
        }
    }
},
{
    "Action" : [
        "sagemaker:UpdateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "StringEquals:" {
            "sagemaker:ModelLifeCycle:stage" : "Production"
            "sagemaker:ModelLifeCycle:stageStatus" : "Rejected"
        }
    }
},
{
    "Action" : [
        "sagemaker:UpdateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "StringEquals": {
            "sagemaker:ModelLifeCycle:stage" : "Development"
            "sagemaker:ModelLifeCycle:stageStatus" : "PendingApproval"
        }
    }
}
```

------

モデルステータスの更新に関する Amazon EventBridge 通知を取得するには、「[ModelLifeCycle のイベント通知を取得する](model-registry-staging-construct-event-bridge.md)」の例を参照してください。受信する EventBridge ペイロードの例については、「[SageMaker モデルパッケージの状態変更](automating-sagemaker-with-eventbridge.md#eventbridge-model-package)」を参照してください。