

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 스테이징 구조 설정 예시
<a name="model-registry-staging-construct-set-up"></a>

Amazon SageMaker Model Registry에 대한 스테이징 구조를 설정하려면 의도한 역할에 관리자가 관련 권한을 부여해야 합니다. 다음은 다양한 역할별로 스테이징 구조를 설정하는 방법에 대한 예시입니다.

**참고**  
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
}
```

다음 표에는 Model Registry 사전 정의된 스테이징 구조 템플릿이 포함되어 있습니다. 사용 사례에 따라 자체 스테이징 구조를 정의할 수 있습니다. 사용자가 관련 권한을 사용하려면 먼저 관련 권한을 설정해야 합니다.


| 단계 | 스테이지 상태 | 
| --- | --- | 
|  제안  |  PendingApproval  | 
|  개발  |  InProgress  | 
|  QA  |  OnHold  | 
|  PreProduction  |  Approved  | 
|  프로덕션  |  거부됨  | 
|  보관됨  |  Retired  | 

`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) 섹션을 참조하세요.