Amazon Forecast에 대한 권한 설정 - Amazon Forecast

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

Amazon Forecast에 대한 권한 설정

Amazon Forecast는 Amazon Simple Storage Service(S3)를 사용하여 예측을 생성할 수 있는 예측기를 훈련하는 데 사용되는 대상 시계열 데이터를 저장합니다. 사용자를 대신하여 Amazon S3에 액세스하려면 Amazon Forecast에 권한이 필요합니다.

사용자를 대신하여 Amazon S3를 사용하도록 Amazon Forecast 권한을 부여하려면 계정에 AWS Identity and Access Management(IAM) 역할과 IAM 정책이 있어야 합니다. IAM 정책은 필요한 권한을 지정하며 IAM 역할에 연결되어야 합니다.

IAM 역할 및 정책을 생성하고 정책을 역할에 연결하려면 IAM 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용할 수 있습니다.

참고

Forecast는 Amazon Virtual Private Cloud와 통신하지 않으므로, Amazon S3 VPCE 게이트웨이를 지원할 수 없습니다. VPC 액세스만 허용하는 S3 버킷을 사용하면 AccessDenied 오류가 발생합니다.

Amazon Forecast를 위한 IAM 역할 생성(IAM 콘솔)

AWS IAM 콘솔을 사용하여 다음 작업을 수행할 수 있습니다.

  • Amazon Forecast를 사용하여 신뢰할 수 있는 엔터티로 IAM 역할 생성

  • Amazon Forecast에서 Amazon S3 버킷의 데이터를 표시하고 읽고 쓸 수 있는 권한으로 IAM 정책 생성

  • IAM 역할에 IAM 정책 연결

Amazon Forecast가 Amazon S3에 액세스하도록 허용하는 IAM 역할 및 정책을 생성하려면(IAM 콘솔)
  1. IAM 콘솔(https://console.aws.amazon.com/iam)에 로그인합니다.

  2. 정책을 선택하고 다음 작업을 수행하여 필수 정책을 생성합니다.

    1. Create policy(정책 생성)를 클릭합니다.

    2. 정책 생성 페이지의 정책 편집기에서 JSON 탭을 선택합니다.

    3. 다음 정책을 복사하고 이 정책을 그 위에 붙여넣어 편집기의 텍스트를 바꿉니다. bucket-name을 S3 버킷의 이름으로 바꾼 다음 정책 검토를 선택해야 합니다.

      { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:Get*", "s3:List*", "s3:PutObject" ], "Resource":[ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }

      다음: 태그를 클릭합니다.

    4. 필요에 따라 이 정책에 태그를 할당할 수 있습니다. Next: Review(다음: 검토)를 클릭합니다.

    5. 정책 검토이름에 정책 이름을 입력합니다. 예: AWSS3BucketAccess. 선택 사항으로 이 정책에 대한 설명을 입력한 다음 정책 생성을 선택합니다.

  3. 탐색 창에서 역할을 선택합니다. 그러고 나서 다음 작업을 수행하여 IAM 역할을 생성합니다.

    1. 역할 생성을 선택합니다.

    2. 신뢰할 수 있는 엔터티 유형AWS 서비스(을)를 선택합니다.

      사용 사례의 경우 일반 사용 사례 섹션 또는 기타 AWS 서비스 사용 사례 드롭다운 목록에서 예측을 선택합니다. 예측을 찾을 수 없는 경우 EC2를 선택합니다.

      다음을 클릭합니다.

    3. 권한 추가 섹션에서 다음을 클릭합니다.

    4. 이름 지정, 검토 및 생성 섹션에서 역할 이름에 역할 이름을 입력합니다(예: ForecastRole). Role description(역할 설명)에 대한 설명을 업데이트한 다음 Create role(역할 생성)을 선택합니다.

    5. 이제 역할 페이지로 돌아와야 합니다. 새 역할을 선택하여 역할의 세부 정보 페이지를 엽니다.

    6. Summary(요약)에서 Role ARN(역할 ARN) 값을 복사해 저장합니다. 데이터 세트를 Amazon Forecast로 가져오려면 이 값이 필요합니다.

    7. 이 역할을 사용할 서비스로 Amazon Forecast를 선택하지 않은 경우 신뢰 관계를 선택한 다음 Edit trust relationship(신뢰 관계 편집)을 선택하여 신뢰 정책을 다음과 같이 업데이트합니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "forecast.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:forecast:region:account-id:*" } } } ] }
    8. [선택 사항] KMS 키를 사용하여 암호화를 활성화하는 경우 KMS 키와 ARN을 연결합니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "ForecastKMS", "Effect": "Allow", "Action": "kms:*", "Resource": "arn:aws:kms:region:account-id:key/KMS-key-id" } ] }

Amazon Forecast를 위한 IAM 역할 생성(AWS CLI)

AWS CLI를 사용하여 다음을 수행할 수 있습니다.

  • Amazon Forecast를 사용하여 신뢰할 수 있는 엔터티로 IAM 역할 생성

  • Amazon Forecast에서 Amazon S3 버킷의 데이터를 표시하고 읽고 쓸 수 있는 권한으로 IAM 정책 생성

  • IAM 역할에 IAM 정책 연결

Amazon Forecast가 Amazon S3에 액세스하도록 허용하는 IAM 역할 및 정책을 생성하려면(AWS CLI)
  1. Amazon Forecast를 사용하여 사용자를 위한 역할을 맡을 수 있는 신뢰할 수 있는 엔터티로 IAM 역할을 생성합니다.

    aws iam create-role \ --role-name ForecastRole \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "forecast.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:forecast:region:account-id:*" } } } ] }'

    이 명령은 기본 AWS 구성 프로파일이 Amazon Forecast에서 지원하는 AWS 리전을 대상으로 한다고 가정합니다. Amazon Forecast에서 지원하지 않는 AWS 리전을 대상으로 하기 위해 다른 프로파일(예: aws-forecast)을 구성한 경우 명령에 profile 파라미터(예: --profile aws-forecast)를 포함하여 이 구성을 명시적으로 지정해야 합니다. AWS CLI 구성 프로파일 설정에 대한 자세한 내용은 AWS CLI 구성 명령을 참조하십시오.

    명령이 역할을 성공적으로 생성하면 이를 다음과 유사한 출력으로 반환합니다.

    { "Role": { "Path": "/", "RoleName": "ForecastRole", "RoleId": your-role-ID, "Arn": "arn:aws:iam::your-acct-ID:role/ForecastRole", "CreateDate": "creation-date", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "forecast.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "your-acct-ID" }, "ArnLike": { "aws:SourceArn": "arn:aws:forecast:region:your-acct-ID:*" } } } ] } } }

    역할의 ARN을 기록합니다. 데이터 세트를 가져와서 Amazon Forecast 예측기를 교육할 때 필요합니다.

  2. Amazon S3의 데이터를 나열하고 읽고 쓸 수 있는 권한으로 IAM 정책을 생성하여 1단계에서 생성한 IAM 역할에 연결합니다.

    aws iam put-role-policy \ --role-name ForecastRole \ --policy-name ForecastBucketAccessPolicy \ --policy-document '{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:Get*", "s3:List*", "s3:PutObject" ], "Resource":[ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }'

  3. [선택 사항] KMS 키를 사용하여 암호화를 활성화하는 경우 KMS 키와 ARN을 연결합니다.

    aws iam put-role-policy \ --role-name ForecastRole \ --policy-name ForecastBucketAccessPolicy \ --policy-document '{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:Get*", "s3:List*", "s3:PutObject" ], "Resource":[ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }'aws iam put-role-policy \ --role-name ForecastRole \ --policy-name ForecastKMSAccessPolicy \ --policy-document ‘{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "kms:DescribeKey", "kms:CreateGrant", "kms:RetireGrant" ], "Resource":[ "arn:aws:kms:region:account-id:key/KMS-key-id" ] } ] }’

교차 서비스 혼동된 대리자 예방

혼동된 대리자 문제는 작업을 수행할 권한이 없는 엔터티가 권한이 더 많은 엔터티에게 작업을 수행하도록 강요할 수 있는 보안 문제입니다. AWS에서는 교차 서비스 가장으로 인해 혼동된 대리자 문제가 발생할 수 있습니다. 교차 서비스 가장은 한 서비스(호출하는 서비스)가 다른 서비스(호출되는 서비스)를 직접적으로 호출할 때 발생할 수 있습니다. 호출하는 서비스는 다른 고객의 리소스에 대해 액세스 권한이 없는 방식으로 작동하게 권한을 사용하도록 조작될 수 있습니다. 이를 방지하기 위해 AWS에서는 계정의 리소스에 대한 액세스 권한이 부여된 서비스 보안 주체를 사용하여 모든 서비스에 대한 데이터를 보호하는 데 도움이 되는 도구를 제공합니다.

Identity and Access Management(IAM)가 Amazon Forecast에 제공하는 리소스 액세스 권한을 제한하려면 리소스 정책에서 aws:SourceArnaws:SourceAccount 전역 조건 컨텍스트 키를 사용하는 것이 좋습니다. 두 전역 조건 컨텍스트 키를 모두 사용하는 경우 aws:SourceAccount 값과 aws:SourceArn 값의 계정은 동일한 정책 문에서 사용할 경우 동일한 계정 ID를 사용해야 합니다.