Amazon 증강 AI의 권한 및 보안 - 아마존 SageMaker

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

Amazon 증강 AI의 권한 및 보안

Amazon Augmented AI (Amazon A2I)를 사용하여 ML/AI 애플리케이션을 위한 인적 검토 워크플로를 생성할 때는 Amazon SageMaker에서 인력 및 작업자 태스크 템플릿과 같은 리소스를 생성하고 구성합니다. 인적 루프를 구성하고 시작하려면 Amazon A2I를 Amazon Textract나 Amazon Rekognition과 같은 기타 AWS 서비스와 통합하거나 Amazon 증강 AI 런타임 API를 사용하세요. 인적 검토 워크플로를 생성하고 인적 루프를 시작하려면 AWS Identity and Access Management (IAM) 역할 또는 사용자와 특정 정책을 연결해야 합니다. 구체적으로 설명하면 다음과 같습니다.

  • 2020년 1월 12일 또는 그 이후에 이미지 입력 데이터를 사용하여 인적 루프를 시작하는 경우 입력 데이터가 포함된 Amazon S3 버킷에 CORS 헤더 정책을 추가해야 합니다. 자세한 내용은 CORS 권한 요구 사항 섹션을 참조하세요.

  • 흐름 정의를 생성할 때 인적 태스크 UI에서 렌더링될 객체를 읽고 인적 검토 결과를 쓰기 위해 Amazon S3에 액세스할 수 있는 권한을 Amazon A2I에 부여하는 역할을 제공해야 합니다.

    이 역할에는 역할을 수임할 수 있는 SageMaker 권한을 부여하기 위해 신뢰 정책이 연결되어 있어야 합니다. 이렇게 하면 Amazon A2I가 이 역할에 연결된 권한에 따라 작업을 수행할 수 있습니다.

    흐름 정의 생성에 사용하는 역할을 수정하고 연결할 수 있는 정책 예제는 흐름 정의를 생성하는 데 사용되는 IAM 역할에 권한 추가 단원을 참조하십시오. 이러한 정책은 SageMaker 콘솔의 Amazon A2I 영역 내 인적 검토 워크플로 섹션에 생성된 IAM 역할에 연결됩니다.

  • 인적 루프를 생성하고 시작하려면, 기본 제공 태스크 유형(예: DetectModerationLabel 또는 AnalyzeDocument)의 API 작업이나 사용자 정의 ML 애플리케이션의 Amazon A2I 런타임 API 작업 StartHumanLoop을 사용합니다. 이러한 서비스에 Amazon A2I 작업을 사용할 권한을 부여하려면 이러한 API 작업을 간접 호출하는 AmazonAugmentedAIFullAccess 관리형 정책을 사용자에게 연결해야 합니다. 자세한 방법은 Amazon A2I API 작업을 간접 호출할 수 있는 사용자 생성 섹션을 참조하세요.

    이 정책은 기본 제공 태스크 유형과 관련된 AWS 서비스의 API 작업을 간접 호출할 권한을 부여하지 않습니다. 예를 들어 AmazonAugmentedAIFullAccess는 Amazon Rekognition DetectModerationLabel API 작업 또는 Amazon Textract AnalyzeDocument API 작업을 호출할 수 있는 권한을 부여하지 않습니다. 더 일반적인 정책인 AmazonAugmentedAIIntegratedAPIAccess를 사용하여 이러한 권한을 부여할 수 있습니다. 자세한 내용은 Amazon A2I, Amazon Textract 및 Amazon Rekognition API 작업을 간접 호출할 수 있는 권한을 가진 사용자 생성 섹션을 참조하세요. 이 옵션은 사용자에게 광범위한 사용 권한을 부여하여 Amazon A2I 및 통합 AWS 서비스의 API 작업을 사용하려는 경우에 적합합니다.

    보다 세분화된 권한을 구성하려면 이러한 개별 서비스 사용 권한을 부여하는 데 사용할 수 있는 자격 증명 기반 정책에 대한 Amazon Rekognition 자격 증명 기반 정책 예제Amazon Textract 자격 증명 기반 정책 예제 단원을 참조하십시오.

  • 사용자 지정 작업자 태스크 UI 템플릿을 미리 보려면 사용자 인터페이스에서 렌더링되는 Amazon S3 객체에 대한 읽기 권한이 있는 IAM 역할이 필요합니다. 작업자 작업 템플릿 미리 보기 사용 의 정책 예제를 참조하십시오.

CORS 권한 요구 사항

2020년 초에 Chrome 및 Firefox와 같이 널리 사용되는 브라우저에서 EXIF 데이터라고 하는 이미지 메타데이터를 기반으로 이미지를 회전하는 기본 동작을 변경했습니다. 이전에는 브라우저에서 항상 디스크에 저장된 것과 똑같은 방식으로 이미지를 표시했으며 일반적으로 회전되지 않은 상태였습니다. 변경 후에는 이제 방향 값이라는 이미지 메타데이터에 따라 이미지가 회전합니다. 이는 전체 기계 학습(ML) 커뮤니티에 중요한 영향을 미칩니다. 예를 들어 EXIF 방향을 고려하지 않는 경우 이미지에 주석을 다는 애플리케이션에서 이미지가 예상치 못한 방향으로 표시되어 레이블이 잘못 표시될 수 있습니다.

웹 표준 그룹 W3C에서 이미지 회전을 제어하는 기능이 웹의 동일 출처 정책을 위반한다고 결정했기 때문에 Chrome 89부터 AWS은(는) 더 이상 이미지 회전을 자동으로 방지할 수 없습니다. 따라서 인적 루프 생성 요청을 제출할 때 인간 작업자가 예측 가능한 방향으로 입력 이미지에 주석을 달 수 있도록 하려면 입력 이미지가 포함된 S3 버킷에 CORS 헤더 정책을 추가해야 합니다.

중요

입력 데이터가 포함된 S3 버킷에 CORS 구성을 추가하지 않으면 해당 입력 데이터 객체에 대한 인적 검토 태스크가 실패합니다.

Amazon S3 콘솔에서 입력 데이터가 포함된 S3 버킷에 CORS 정책을 추가할 수 있습니다. S3 콘솔의 입력 이미지가 포함된 S3 버킷에 필수 CORS 헤더를 설정하려면 CORS에 도메인 간 리소스 공유를 추가하려면 어떻게 해야 합니까?에 설명된 지침을 따르세요. 이미지를 호스팅하는 버킷에는 다음 CORS 구성 코드를 사용하세요. Amazon S3 콘솔을 사용하여 정책을 버킷에 추가하는 경우 JSON 형식을 사용해야 합니다.

JSON

[{ "AllowedHeaders": [], "AllowedMethods": ["GET"], "AllowedOrigins": ["*"], "ExposeHeaders": [] }]

XML

<CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> </CORSRule> </CORSConfiguration>

다음 GIF는 Amazon S3 콘솔을 사용하여 CORS 헤더 정책을 추가하는 방법에 대한 Amazon S3 설명서의 지침을 보여줍니다.

흐름 정의를 생성하는 데 사용되는 IAM 역할에 권한 추가

흐름 정의를 생성하려면 SageMaker 콘솔에서 인적 검토 워크플로를 생성하거나 CreateFlowDefinition API 작업을 사용할 때 사용하는 역할에 이 섹션의 정책을 연결합니다.

  • 콘솔을 사용하여 인적 검토 워크플로를 생성하는 경우 콘솔에서 인적 검토 워크플로를 생성할 때 IAM 역할 필드에 Amazon 리소스 이름(ARN) 역할을 입력합니다.

  • API를 사용하여 흐름 정의를 생성할 때 CreateFlowDefinition 작업의 RoleArn 파라미터에 전달되는 역할에 이러한 정책을 연결합니다.

인적 검토 워크플로(흐름 정의)를 생성할 때 Amazon A21에서 작업을 완료하기 위해 Amazon S3를 간접 호출합니다. Amazon S3 버킷에서 파일을 검색하고 저장할 수 있는 권한을 Amazon S3에 부여하려면 다음 정책을 생성하여 역할에 연결합니다. 예를 들어, 인적 검토를 위해 전송할 이미지, 문서 및 기타 파일이 my_input_bucket이라는 S3 버킷에 저장되어 있고, my_output_bucket이라는 버킷에 인적 검토를 저장하려는 경우 다음 정책을 생성합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::my_input_bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::my_output_bucket/*" ] } ] }

또한 역할을 수임할 수 있는 SageMaker 권한을 부여하려면 IAM 역할에 다음과 같은 신뢰 정책이 있어야 합니다. IAM 신뢰 정책에 대한 자세한 내용은 AWS자격 증명 및 액세스 관리 설명서에서 정책 및 권한의 리소스 기반 정책 섹션을 참조하세요.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSageMakerToAssumeRole", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

IAM 역할과 정책을 생성하고 관리하는 방법에 대한 자세한 내용은 AWS Identity and Access Management사용 설명서에서 다음 주제를 참조하세요.

Amazon A2I API 작업을 간접 호출할 수 있는 사용자 생성

Amazon A2I를 사용하여 Amazon Rekognition, Amazon Textract 또는 Amazon A2I 런타임 API에 대한 인적 루프를 생성하고 시작하려면 Amazon A2I 작업을 간접 호출할 수 있는 권한을 가진 사용자를 사용해야 합니다. 그러려면 IAM 콘솔을 사용하여 AmazonAugmentedAIFullAccess 관리형 정책을 신규 또는 기존 사용자에게 연결합니다.

이 정책은 사용자에게 흐름 정의를 생성하고 관리하도록 SageMaker API에서 API 작업을 간접 호출하고 인적 루프를 생성하고 관리하도록 Amazon 증강 AI 런타임 API를 간접 호출할 수 있는 권한을 부여합니다. 이러한 API 작업에 대한 자세한 내용은 Amazon 증강 AI에서 API 사용 단원을 참조하십시오.

AmazonAugmentedAIFullAccess는 Amazon Rekognition 또는 Amazon Textract API 작업에 대한 사용 권한을 부여하지 않습니다.

참고

인적 루프를 생성하고 시작하는 데 사용되는 IAM 역할에 AmazonAugmentedAIFullAccess 정책을 연결할 수도 있습니다.

액세스 권한을 제공하려면 사용자, 그룹 또는 역할에 권한을 추가합니다.

  • AWS IAM Identity Center의 사용자 및 그룹:

    권한 세트를 생성합니다. AWS IAM Identity Center 사용 설명서권한 세트 생성의 지침을 따르세요.

  • 자격 증명 공급자를 통해 IAM에서 관리되는 사용자:

    아이덴티티 페더레이션을 위한 역할을 생성합니다. IAM 사용 설명서서드 파티 자격 증명 공급자의 역할 만들기(연합)의 지침을 따르세요.

  • IAM 사용자:

    • 사용자가 맡을 수 있는 역할을 생성합니다. IAM 사용 설명서에서 IAM 사용자의 역할 생성의 지침을 따르세요.

    • (권장되지 않음) 정책을 사용자에게 직접 연결하거나 사용자를 사용자 그룹에 추가합니다. IAM 사용 설명서에서 사용자(콘솔)에 권한 추가의 지침을 따르세요.

자세한 내용은 AWS Identity and Access Management 사용 설명서의 IAM 자격 증명 권한 추가 및 제거을 참조하세요.

Amazon A2I, Amazon Textract 및 Amazon Rekognition API 작업을 간접 호출할 수 있는 권한을 가진 사용자 생성

기본 제공 태스크 유형(즉, Amazon Rekognition의 DetectModerationLables 및 Amazon Textract의 AnalyzeDocument)에서 사용하는 API 작업을 간접 호출하는 권한과 모든 Amazon A2I API 작업을 사용할 수 있는 권한이 있는 사용자를 생성하려면 IAM 관리형 정책인 AmazonAugmentedAIIntegratedAPIAccess에 연결합니다. 태스크 유형이 둘 이상인 Amazon A2I를 사용하여 사용자에게 광범위한 권한을 부여할 때 이 정책을 사용할 수도 있습니다. 이러한 API 작업에 대한 자세한 내용은 Amazon 증강 AI에서 API 사용 단원을 참조하십시오.

참고

인적 루프를 생성하고 시작하는 데 사용되는 IAM 역할에 AmazonAugmentedAIIntegratedAPIAccess 정책을 연결할 수도 있습니다.

액세스 권한을 제공하려면 사용자, 그룹 또는 역할에 권한을 추가합니다.

  • AWS IAM Identity Center의 사용자 및 그룹:

    권한 세트를 생성합니다. AWS IAM Identity Center 사용 설명서권한 세트 생성의 지침을 따르세요.

  • 자격 증명 공급자를 통해 IAM에서 관리되는 사용자:

    아이덴티티 페더레이션을 위한 역할을 생성합니다. IAM 사용 설명서서드 파티 자격 증명 공급자의 역할 만들기(연합)의 지침을 따르세요.

  • IAM 사용자:

    • 사용자가 맡을 수 있는 역할을 생성합니다. IAM 사용 설명서에서 IAM 사용자의 역할 생성의 지침을 따르세요.

    • (권장되지 않음) 정책을 사용자에게 직접 연결하거나 사용자를 사용자 그룹에 추가합니다. IAM 사용 설명서에서 사용자(콘솔)에 권한 추가의 지침을 따르세요.

자세한 내용은 AWS Identity and Access Management 사용 설명서의 IAM 자격 증명 권한 추가 및 제거을 참조하세요.

작업자 작업 템플릿 미리 보기 사용

작업 시 작업자에게 표시되는 인터페이스와 지침을 사용자 지정하려면 작업자 작업 템플릿을 생성합니다. CreateHumanTaskUi 작업 또는 SageMaker 콘솔을 사용하여 템플릿을 생성할 수 있습니다.

템플릿을 미리 보려면 사용자 인터페이스에서 렌더링되는 Amazon S3 객체 읽기가 가능한 다음 권한이 있는 IAM 역할이 필요합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::my_input_bucket/*" ] } ] }

Amazon Rekognition 및 Amazon Textract 태스크 유형의 경우 SageMaker Console의 Amazon 증강 AI 섹션을 사용하여 템플릿을 미리 볼 수 있습니다. 사용자 지정 태스크 유형의 경우 RenderUiTemplate 작업을 간접 호출하여 템플릿을 미리 봅니다. 템플릿을 미리 보려면 작업 유형에 대한 지침을 따르십시오.

  • Amazon Rekognition 및 Amazon Textract 태스크 유형 - SageMaker 콘솔에서 작업자 태스크 템플릿 생성에 설명된 절차를 참조하여 역할의 Amazon 리소스 이름(ARN)을 사용합니다.

  • 사용자 지정 태스크 유형 - RenderUiTemplate 작업에서 RoleArn 파라미터에 역할의 ARN을 사용합니다.

AWS KMS 암호화된 버킷과 함께 Amazon A2I 사용

CreateFlowDefinitionOutputConfig에서 출력 데이터를 암호화할 AWS Key Management Service (AWS KMS) 고객 관리형 키를 지정하는 경우 해당 키에 다음과 유사한 IAM 정책을 추가해야 합니다. 이 정책은 인적 루프를 생성하는 데 사용하는 IAM 실행 역할에 이 키를 사용하여 "Action"에 나열된 모든 작업을 수행할 수 있는 권한을 부여합니다. 이 작업에 관한 자세한 내용은 AWS Key Management Service 개발자 안내서의 AWS KMS 권한을 참조하세요.

이 정책을 사용하려면 "Principal"의 IAM 서비스 역할 ARN을 인적 검토 워크플로(흐름 정의)를 생성하는 데 사용하는 실행 역할의 ARN으로 교체하세요. CreateFlowDefinition를 사용하여 레이블 지정 작업을 생성할 때 RoleArn에 지정한 ARN입니다. 콘솔에서 흐름 정의를 생성할 때는 KmsKeyId를 제공할 수 없다는 점에 유의하세요.

{ "Sid": "AllowUseOfKmsKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/service-role/example-role" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

추가 권한 및 보안 리소스