IAM 역할을 사용하여 2.0 스트리밍 인스턴스에서 실행되는 애플리케이션 및 스크립트에 권한 부여 AppStream - 아마존 AppStream 2.0

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

IAM 역할을 사용하여 2.0 스트리밍 인스턴스에서 실행되는 애플리케이션 및 스크립트에 권한 부여 AppStream

AppStream 2.0 스트리밍 인스턴스에서 실행되는 애플리케이션과 스크립트는 AWS API 요청에 AWS 자격 증명을 포함해야 합니다. 이러한 보안 인증 정보를 관리하기 위해 IAM 역할을 생성할 수 있습니다. IAM 역할은 AWS 리소스에 액세스하는 데 사용할 수 있는 권한 세트를 지정합니다. 그러나 이 역할은 한 사람과 고유하게 연결되지 않습니다. 대신, 그것을 필요로 하는 사람이라면 누구나 수임할 수 있습니다.

AppStream 2.0 스트리밍 인스턴스에 IAM 역할을 적용할 수 있습니다. 스트리밍 인스턴스가 역할로 전환(수임)되면 이 역할이 임시 보안 자격 증명을 제공합니다. 애플리케이션 또는 스크립트는 이러한 자격 증명을 사용하여 스트리밍 인스턴스에서 API 작업 및 관리 작업을 수행합니다. AppStream 2.0은 사용자를 위해 임시 자격 증명 스위치를 관리합니다.

AppStream 2.0 스트리밍 인스턴스에서 IAM 역할을 사용하는 모범 사례

AppStream 2.0 스트리밍 인스턴스에서 IAM 역할을 사용하는 경우 다음 방법을 따르는 것이 좋습니다.

  • AWS API 작업 및 리소스에 부여하는 권한을 제한하십시오.

    IAM 정책을 생성하여 AppStream 2.0 스트리밍 인스턴스와 연결된 IAM 역할에 연결할 때는 최소 권한 원칙을 따르십시오. AWS API 작업 또는 리소스에 대한 액세스가 필요한 애플리케이션 또는 스크립트를 사용하는 경우 필요한 특정 작업과 리소스를 결정하십시오. 그런 다음, 애플리케이션 또는 스크립트가 해당 작업만 수행할 수 있도록 허용하는 정책을 생성합니다. 자세한 내용은 IAM 사용 설명서에서 최소 권한 부여를 참조하세요.

  • 각 AppStream 2.0 리소스에 대해 IAM 역할을 생성합니다.

    각 AppStream 2.0 리소스에 대해 고유한 IAM 역할을 생성하는 것은 최소 권한 원칙을 따르는 방법입니다. 그러면 다른 리소스에 영향을 주지 않고 리소스에 대한 권한도 수정할 수 있습니다.

  • 자격 증명을 사용할 수 있는 위치를 제한합니다.

    IAM 정책에서는 IAM 역할을 사용하여 리소스에 액세스할 수 있는 조건을 정의할 수 있습니다. 예를 들어 요청이 발생할 수 있는 IP 주소 범위를 지정하는 조건을 포함할 수 있습니다. 그러면 자격 증명이 환경 외부에서 사용되지 않습니다. 자세한 내용은 IAM 사용 설명서의 보안 강화를 위해 정책 조건 사용을 참조하세요.

2.0 스트리밍 인스턴스와 함께 AppStream 사용하도록 기존 IAM 역할 구성

이 주제에서는 이미지 빌더 및 플릿 스트리밍 인스턴스와 함께 사용할 수 있도록 기존 IAM 역할을 구성하는 방법에 대해 설명합니다.

사전 조건 

AppStream 2.0 이미지 빌더 또는 플릿 스트리밍 인스턴스에서 사용하려는 IAM 역할은 다음 사전 요구 사항을 충족해야 합니다.

  • IAM 역할은 AppStream 2.0 스트리밍 인스턴스와 동일한 Amazon Web Services 계정에 있어야 합니다.

  • IAM 역할은 서비스 역할일 수 없습니다.

  • IAM 역할에 연결된 신뢰 관계 정책에는 AppStream 2.0 서비스가 보안 주체로 포함되어야 합니다. 보안 주체는 작업을 수행하고 리소스에 액세스할 수 AWS 있는 주체입니다. 이 정책은 sts:AssumeRole 작업도 포함해야 합니다. 이 정책 구성은 AppStream 2.0을 신뢰할 수 있는 개체로 정의합니다.

  • 이미지 빌더에 IAM 역할을 적용하는 경우 이미지 빌더는 2019년 9월 3일 또는 그 이후에 출시된 AppStream 2.0 에이전트 버전을 실행해야 합니다. 플릿에 IAM 역할을 적용하는 경우 플릿은 같은 날짜 또는 그 이후에 릴리스된 에이전트 버전을 사용하는 이미지를 사용해야 합니다. 자세한 정보는 AppStream 2.0 에이전트 릴리스 노트을 참조하세요.

AppStream 2.0 서비스 보안 주체가 기존 IAM 역할을 맡을 수 있도록 하려면

다음 단계를 수행하려면 IAM 역할을 나열하고 업데이트하는 데 필요한 권한이 있는 IAM 사용자로 계정에 로그인해야 합니다. 필요한 권한이 없으면 Amazon Web Services 계정 관리자에게 해당 계정으로 이 단계를 수행하거나 필요한 권한을 부여해 달라고 요청하세요.

  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할을 선택합니다.

  3. 계정의 역할 목록에서 변경할 역할의 이름을 선택합니다.

  4. 신뢰 관계 탭을 선택한 후 신뢰 관계 편집을 선택합니다.

  5. 정책 문서에서, 신뢰 관계 정책에 appstream.amazonaws.com 서비스 사용자에 대한 sts:AssumeRole 작업이 포함되어 있는지 확인하십시오.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "appstream.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  6. 신뢰 정책 편집을 마쳤으면 Update Trust Policy(신뢰 정책 업데이트)를 선택하여 변경 사항을 저장합니다.

  7. 선택한 IAM 역할은 AppStream 2.0 콘솔에 표시됩니다. 이 역할은 애플리케이션 및 스크립트에 대해 스트리밍 인스턴스에서 API 작업 및 관리 작업을 수행할 수 있는 권한을 부여합니다.

AppStream 2.0 스트리밍 인스턴스에 사용할 IAM 역할을 생성하는 방법

이 주제에서는 이미지 빌더 및 플릿 스트리밍 인스턴스와 함께 사용할 수 있도록 새로운 IAM 역할을 생성하는 방법에 대해 설명합니다.

  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할을 선택한 후 역할 생성을 선택합니다.

  3. 신뢰할 수 있는 엔터티 유형 선택(Select type of trusted entity)에서 AWS 서비스(service)를 선택합니다.

  4. AWS 서비스 목록에서 AppStream 2.0을 선택합니다.

  5. 사용 사례 선택에서 AppStream 2.0 - AppStream 2.0 인스턴스가 사용자를 대신하여 AWS 서비스를 호출하도록 허용이 이미 선택되어 있습니다. 다음: 권한을 선택합니다.

  6. 가능하다면, 권한 정책을 사용하기 위한 정책을 선택하거나 정책 생성을 선택하여 새 브라우저 탭을 열고 완전히 새로운 정책을 생성합니다. 자세한 내용은 IAM 사용 설명서의 IAM 정책 생성(콘솔)에서 4단계 절차를 참조하세요.

    정책을 생성하면 탭을 닫고 원래 탭으로 돌아갑니다. AppStream 2.0에 적용하려는 권한 정책 옆의 확인란을 선택합니다.

  7. (선택 사항) 권한 경계를 선택합니다. 이는 서비스 역할에서 가능한 고급 기능이며 서비스 링크된 역할은 아닙니다. 자세한 정보는 IAM 사용 설명서의 IAM 엔터티의 권한 범위를 참조하세요.

  8. 다음: 태그를 선택합니다. 선택적으로 태그를 키-값 페어로 연결할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 IAM 사용자 및 역할 태그 지정을 참조하세요.

  9. 다음: 검토를 선택합니다.

  10. 역할 이름에 Amazon Web Services 계정 내에서 고유한 역할 이름을 입력합니다. 다른 AWS 리소스가 역할을 참조할 수 있으므로 역할을 만든 후에는 역할 이름을 편집할 수 없습니다.

  11. 역할 설명의 기본 역할 설명을 유지하거나 새 역할 설명을 입력합니다.

  12. 역할을 검토한 다음 역할 생성을 선택합니다.

AppStream 2.0 스트리밍 인스턴스에서 IAM 역할을 사용하는 방법

IAM 역할을 생성한 후 이미지 빌더를 실행하거나 플릿을 생성할 때 이미지 빌더 또는 플릿 스트리밍 인스턴스에 적용할 수 있습니다. 기존 플릿에 IAM 역할을 적용할 수도 있습니다. 이미지 빌더를 시작할 때 IAM 역할을 적용하는 방법에 대한 정보는 이미지 빌더를 시작하여 스트리밍 애플리케이션 설치 및 구성 섹션을 참조하세요. 플릿을 생성할 때 IAM 역할을 적용하는 방법에 대한 자세한 내용은 플릿 만들기 섹션을 참조하세요.

이미지 빌더 또는 플릿 스트리밍 인스턴스에 IAM 역할을 적용하면 AppStream 2.0은 임시 자격 증명을 검색하고 인스턴스에 appstream_machine_role 자격 증명 프로필을 생성합니다. 임시 보안 인증 정보는 1시간 동안 유효하며 한 시간마다 새로운 보안 인증 정보가 검색됩니다. 이전 자격 증명은 만료되지 않으므로 유효한 기간 동안 사용할 수 있습니다.AWS CLI ( AWS 명령줄 인터페이스), AWS Tools for PowerShell 또는 선택한 언어의 AWS SDK를 사용하여 자격 증명 프로필을 사용하여 프로그래밍 방식으로 AWS 서비스를 호출할 수 있습니다.

API를 호출할 때 appstream_machine_role을 자격 증명 프로필로 지정하십시오. 그렇지 않으면 권한이 부족하여 작업이 실패합니다.

AppStream 스트리밍 인스턴스가 프로비저닝되는 동안에는 2.0이 지정된 역할을 맡습니다. AppStream 2.0은 API 호출을 위해 VPC에 연결된 엘라스틱 네트워크 인터페이스를 사용하기 때문에 애플리케이션 또는 스크립트는 AWS API 호출을 하기 AWS 전에 Elastic network 인터페이스를 사용할 수 있을 때까지 기다려야 합니다. 탄력적 네트워크 인터페이스가 제공되기 전에 API 호출이 이루어지면 호출에 실패합니다.

다음 예는 appstream_machine_role 자격 증명 프로필을 사용하여 스트리밍 인스턴스(EC2 인스턴스)를 설명하고 Boto 클라이언트를 만드는 방법을 보여줍니다. Boto는 Python용 Amazon Web Services(AWS) SDK입니다.

CLI를 사용한 스트리밍 인스턴스 (EC2 인스턴스) 설명 AWS

aws ec2 describe-instances --region us-east-1 --profile appstream_machine_role

다음 도구를 사용하여 스트리밍 인스턴스 (EC2 인스턴스) 를 설명하십시오. AWS PowerShell

.NET용 Amazon Web Services SDK PowerShell 버전 3.3.103.22 이상과 함께 버전 3.3.563.1 이상용 AWS 도구를 사용해야 합니다. 웹 사이트용 AWS 도구에서 도구 PowerShell 및 .NET용 Amazon Web Services SDK가 포함된 Windows용 AWS 도구 설치 프로그램을 다운로드할 수 있습니다.AWS PowerShell

Get-EC2Instance -Region us-east-1 -ProfileName appstream_machine_role

Python용 AWS SDK를 사용하여 Bot 클라이언트 만들기

session = boto3.Session(profile_name='appstream_machine_role')