

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

# Amazon SageMaker Ground Truth 콘솔을 사용하는 IAM 권한 부여
<a name="sms-security-permission-console-access"></a>

SageMaker AI 콘솔의 Ground Truth 영역을 사용하려면 개체에 Ground Truth가 상호 작용하는 SageMaker AI 및 기타 AWS 서비스에 액세스할 수 있는 권한을 부여해야 합니다. 다른 AWS 서비스에 액세스하는 데 필요한 권한은 사용 사례에 따라 다릅니다.
+ 모든 사용 사례에 Amazon S3 권한이 필요합니다. 이러한 권한은 입력 및 출력 데이터를 포함하는 Amazon S3 버킷에 대한 액세스를 부여해야 합니다.
+ AWS Marketplace 공급업체 인력을 사용하려면 권한이 필요합니다.
+ 비공개 작업 팀을 설정하려면 Amazon Cognito 권한이 필요합니다.
+ AWS KMS 출력 데이터 암호화에 사용할 수 있는 AWS KMS 키를 보려면 권한이 필요합니다.
+ 기존 실행 역할을 나열하거나 새 실행 역할을 생성하려면 IAM 권한이 필요합니다. 또한 먼저 `PassRole` 권한 추가를 사용하여 SageMaker AI가 레이블링 작업을 시작하기 위해 선택한 실행 역할을 사용할 수 있도록 허용해야 합니다.

다음 섹션에는 Ground Truth의 기능을 하나 이상 사용하기 위해 역할에 부여할 수 있는 정책이 나열되어 있습니다.

**Topics**
+ [Ground Truth 콘솔 권한](#sms-security-permissions-console-all)
+ [사용자 지정 레이블 워크플로 권한](#sms-security-permissions-custom-workflow)
+ [프라이빗 작업 인력 권한](#sms-security-permission-workforce-creation)
+ [공급업체 작업 인력 권한](#sms-security-permissions-workforce-creation-vendor)

## Ground Truth 콘솔 권한
<a name="sms-security-permissions-console-all"></a>

SageMaker AI 콘솔의 Ground Truth 영역을 사용하여 사용자 또는 역할에 레이블링 작업을 만들 수 있는 권한을 부여하려면 사용자 또는 역할에 다음 정책을 연결합니다. 다음 정책은 [기본 제공 태스크 유형](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html) 작업 유형을 사용한 대한 레이블 지정 작업을 생성할 IAM 역할 권한을 부여합니다. 사용자 지정 레이블 워크플로를 만들려면 [사용자 지정 레이블 워크플로 권한](#sms-security-permissions-custom-workflow)의 정책을 다음 정책에 추가하세요. 다음 정책에 포함된 각 `Statement`은(는) 이 코드 블록 아래에 설명되어 있습니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SageMakerApis",
            "Effect": "Allow",
            "Action": [
                "sagemaker:*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "KmsKeysForCreateForms",
            "Effect": "Allow",
            "Action": [
                "kms:DescribeKey",
                "kms:ListAliases"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AccessAwsMarketplaceSubscriptions",
            "Effect": "Allow",
            "Action": [
                "aws-marketplace:ViewSubscriptions"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SecretsManager",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:CreateSecret",
                "secretsmanager:DescribeSecret",
                "secretsmanager:ListSecrets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ListAndCreateExecutionRoles",
            "Effect": "Allow",
            "Action": [
                "iam:ListRoles",
                "iam:CreateRole",
                "iam:CreatePolicy",
                "iam:AttachRolePolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "PassRoleForExecutionRoles",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "sagemaker.amazonaws.com"
                }
            }
        },
        {
            "Sid": "GroundTruthConsole",
            "Effect": "Allow",
            "Action": [
                "groundtruthlabeling:*",
                "lambda:InvokeFunction",
                "lambda:ListFunctions",
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "s3:GetBucketCors",
                "s3:PutBucketCors",
                "s3:ListAllMyBuckets",
                "cognito-idp:AdminAddUserToGroup",
                "cognito-idp:AdminCreateUser",
                "cognito-idp:AdminDeleteUser",
                "cognito-idp:AdminDisableUser",
                "cognito-idp:AdminEnableUser",
                "cognito-idp:AdminRemoveUserFromGroup",
                "cognito-idp:CreateGroup",
                "cognito-idp:CreateUserPool",
                "cognito-idp:CreateUserPoolClient",
                "cognito-idp:CreateUserPoolDomain",
                "cognito-idp:DescribeUserPool",
                "cognito-idp:DescribeUserPoolClient",
                "cognito-idp:ListGroups",
                "cognito-idp:ListIdentityProviders",
                "cognito-idp:ListUsers",
                "cognito-idp:ListUsersInGroup",
                "cognito-idp:ListUserPoolClients",
                "cognito-idp:ListUserPools",
                "cognito-idp:UpdateUserPool",
                "cognito-idp:UpdateUserPoolClient"
            ],
            "Resource": "*"
        }
    ]
}
```

------

이 정책에 포함되는 문은 다음과 같습니다. 해당 명령문의 `Resource` 목록에 특정 리소스를 추가하여 이러한 명령문의 범위를 좁힐 수 있습니다.

`SageMakerApis`

이 명령문에는 사용자가 모든 [SageMaker AI API 작업](sagemaker/latest/APIReference/API_Operations.html)을 수행할 수 있도록 허용하는 `sagemaker:*`가 포함되어 있습니다. 레이블 지정 작업을 생성하고 모니터링하는 데 사용되지 않는 작업을 사용자가 수행하지 못하도록 제한하여 이 정책의 범위를 좁힐 수 있습니다.

**`KmsKeysForCreateForms`**

Ground Truth 콘솔에서 출력 데이터 암호화에 사용할 AWS KMS 키를 나열하고 선택할 수 있는 권한을 사용자에게 부여하려면이 문만 포함하면 됩니다. 위의 정책은 사용자에게 AWS KMS계정의 모든 키를 나열하고 선택할 수 있는 권한을 부여합니다. 사용자가 나열하고 선택할 수 있는 키를 제한하려면 `Resource`에 해당 키 ARN을 지정하세요.

**`SecretsManager`**

이 문은 사용자에게 레이블 지정 작업을 생성하는 데 AWS Secrets Manager 필요한의 리소스를 설명, 나열 및 생성할 수 있는 권한을 부여합니다.

`ListAndCreateExecutionRoles`

이 명령문은 사용자에게 계정의 IAM 역할을 나열하고(`ListRoles`) 생성할(`CreateRole`) 수 있는 권한을 부여합니다. 또한 사용자에게 정책을 생성하고(`CreatePolicy`) 정책을 엔터티에 연결할(`AttachRolePolicy`) 수 있는 권한을 부여합니다. 콘솔에서 실행 역할을 나열하고, 선택하고, 필요한 경우 실행 역할을 생성하는 데 필요합니다.

실행 역할을 이미 만들었고 사용자가 콘솔에서 해당 역할만 선택할 수 있도록 이 명령문의 범위를 좁히려면 사용자에게 보기 권한을 부여할 역할의 ARN을 `Resource`에서 지정하고, 작업 `CreateRole`, `CreatePolicy`, `AttachRolePolicy`을(를) 제거하세요.

`AccessAwsMarketplaceSubscriptions`

레이블 지정 작업을 생성할 때 이미 구독한 공급업체 작업 팀을 보고 선택하려면 이러한 권한이 필요합니다. 사용자에게 공급업체 작업 팀에 *구독*할 수 있는 권한을 부여하려면 위의 정책에 [공급업체 작업 인력 권한](#sms-security-permissions-workforce-creation-vendor)의 명령문을 추가하세요.

`PassRoleForExecutionRoles`

이는 레이블 지정 작업 생성자에게 작업자 UI를 미리 보고 입력 데이터, 레이블 및 지침이 올바르게 표시되는지 확인할 수 있는 권한을 부여하는 데 필요합니다. 이 명령문은 레이블링 작업을 생성하는 데 사용된 IAM 실행 역할을 SageMaker AI에 전달하여 작업자 UI를 렌더링하고 미리 볼 수 있는 권한을 엔터티에 부여합니다. 이 정책의 범위를 좁히려면 레이블 지정 작업을 생성하는 데 사용되는 실행 역할의 역할 ARN을 `Resource` 아래에 추가하세요.

**`GroundTruthConsole`**
+ `groundtruthlabeling` – 이를 통해 사용자는 Ground Truth 콘솔의 특정 기능을 사용하는 데 필요한 작업을 수행할 수 있습니다. 여기에는 레이블 지정 작업 상태를 설명하고(`DescribeConsoleJob`), 입력 매니페스트 파일의 모든 데이터세트 객체를 나열하고(`ListDatasetObjects`), 데이터세트 샘플링을 선택한 경우 데이터세트를 필터링하고(`RunFilterOrSampleDatasetJob`), 자동 데이터 레이블링을 사용하는 경우 입력 매니페스트 파일을 생성할 수 있는 권한(`RunGenerateManifestByCrawlingJob`)이 포함됩니다. 이러한 작업은 Ground Truth 콘솔을 사용할 때만 사용할 수 있으며 API를 사용하여 직접 호출할 수는 없습니다.
+ `lambda:InvokeFunction` 및 `lambda:ListFunctions` – 이러한 작업은 사용자에게 사용자 지정 레이블 워크플로를 실행하는 데 사용되는 Lambda 함수를 나열하고 간접 호출할 권한을 부여합니다.
+ `s3:*` – 이 명령문에 포함된 모든 Amazon S3 권한은 [자동화된 데이터 설정](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-console-create-manifest-file.html)을 위해 Amazon S3 버킷을 보고(`ListAllMyBuckets`), Amazon S3의 입력 데이터에 액세스하고(`ListBucket`, `GetObject`) 필요한 경우 Amazon S3에서 CORS 정책을 확인 및 생성하고(`GetBucketCors`, `PutBucketCors`), S3에 레이블 지정 작업 출력 파일을 쓰는 데(`PutObject`) 사용됩니다.
+ `cognito-idp` – 이러한 권한은 Amazon Cognito를 사용하여 프라이빗 작업 인력을 만들고, 보고, 관리하는 데 사용됩니다. 이러한 작업에 대해 자세히 알아보려면 [Amazon Cognito API 참조](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-reference.html)를 참조하세요.

## 사용자 지정 레이블 워크플로 권한
<a name="sms-security-permissions-custom-workflow"></a>

[사용자 지정 레이블 워크플로를 생성](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html)하는 동안 기존 사전 주석 및 사후 주석 Lambda 함수를 선택할 수 있는 권한을 사용자에게 부여하는 정책과 유사한 [Ground Truth 콘솔 권한](#sms-security-permissions-console-all)의 정책에 다음 명령문을 추가합니다.

```
{
    "Sid": "GroundTruthConsoleCustomWorkflow",
    "Effect": "Allow",
    "Action": [
        "lambda:InvokeFunction",
        "lambda:ListFunctions"
    ],
    "Resource": "*"
}
```

엔터티에 사전 주석 및 사후 주석 Lambda 함수를 생성하고 테스트할 수 있는 권한을 부여하는 방법을 알아보려면 [Lambda With Ground Truth를 사용하는 데 필요한 권한](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step3-lambda-permissions.html)을 참조하세요.

## 프라이빗 작업 인력 권한
<a name="sms-security-permission-workforce-creation"></a>

다음 권한을 권한 정책에 추가하면 Amazon Cognito를 사용하여 프라이빗 작업 인력 및 작업 팀을 생성하고 관리할 수 있는 액세스 권한이 부여됩니다. 이러한 권한은 [OIDC IdP 인력](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-create-private-oidc.html#sms-workforce-create-private-oidc-next-steps)을 사용하는 데 필요하지 않습니다.

```
{
    "Effect": "Allow",
    "Action": [
        "cognito-idp:AdminAddUserToGroup",
        "cognito-idp:AdminCreateUser",
        "cognito-idp:AdminDeleteUser",
        "cognito-idp:AdminDisableUser",
        "cognito-idp:AdminEnableUser",
        "cognito-idp:AdminRemoveUserFromGroup",
        "cognito-idp:CreateGroup",
        "cognito-idp:CreateUserPool",
        "cognito-idp:CreateUserPoolClient",
        "cognito-idp:CreateUserPoolDomain",
        "cognito-idp:DescribeUserPool",
        "cognito-idp:DescribeUserPoolClient",
        "cognito-idp:ListGroups",
        "cognito-idp:ListIdentityProviders",
        "cognito-idp:ListUsers",
        "cognito-idp:ListUsersInGroup",
        "cognito-idp:ListUserPoolClients",
        "cognito-idp:ListUserPools",
        "cognito-idp:UpdateUserPool",
        "cognito-idp:UpdateUserPoolClient"
        ],
    "Resource": "*"
}
```

Amazon Cognito를 사용하여 프라이빗 작업 인력을 생성하는 방법에 대한 자세한 내용은 [Amazon Cognito 작업 인력](sms-workforce-private-use-cognito.md)을(를) 참조하세요.

## 공급업체 작업 인력 권한
<a name="sms-security-permissions-workforce-creation-vendor"></a>

[Amazon SageMaker Ground Truth 콘솔을 사용하는 IAM 권한 부여](#sms-security-permission-console-access)의 정책에 다음 명령문을 추가하여 엔터티에 [공급업체 작업 인력](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-vendor.html)을 구독할 권한을 부여할 수 있습니다.

```
{
    "Sid": "AccessAwsMarketplaceSubscriptions",
    "Effect": "Allow",
    "Action": [
        "aws-marketplace:Subscribe",
        "aws-marketplace:Unsubscribe",
        "aws-marketplace:ViewSubscriptions"
    ],
    "Resource": "*"
}
```