ID 및 액세스 관리 - Amazon Interactive Video Service

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

ID 및 액세스 관리

AWS Identity and Access Management (IAM)는 계정 관리자가 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있도록 지원하는 AWS 서비스입니다. 모든 AWS 리소스는 AWS 계정의 소유이고, 리소스 생성 또는 리소스 액세스 권한은 권한 정책에 따라 결정됩니다. IAM 계정 관리자는 어떤 사용자가 Amazon IVS 리소스를 사용할 수 있도록 인증(로그인)하고 권한을 부여(권한 있음)할 수 있는지를 제어합니다. IAM은 추가 비용 없이 AWS 계정에 제공되는 기능입니다.

중요: 자세한 내용은 AWS IAM 제품 페이지, IAM 사용 설명서AWS API 요청 서명을 참조하세요. 이 섹션에서는 IAM 사용 설명서의 특정 섹션에 대한 링크도 확인하실 수 있습니다. 서비스를 이용하시기 전, 해당 내용을 한 검토해보시기 바랍니다.

고객

IAM을 사용하는 방법은 Amazon IVS에서 수행하는 작업에 따라 달라집니다.

  • 서비스 사용자 – Amazon IVS 서비스를 사용하여 작업을 수행하는 경우 필요한 자격 증명과 권한(permission)을 관리자가 제공합니다. 다른 Amazon IVS 기능을 사용하여 작업을 수행한다면 추가 권한이 필요할 수 있습니다. 액세스 권한 관리 방식을 이해하면 적절한 권한을 관리자에게 요청할 수 있습니다. Amazon IVS의 기능에 액세스할 수 없다면 문제 해결 섹션을 참조하세요.

  • 서비스 관리자 – 회사에서 Amazon IVS 리소스를 책임지고 있다면 Amazon IVS에 대한 완전한 액세스 권한이 있을 것입니다. 서비스 관리자는 직원이 액세스해야 하는 Amazon IVS 기능과 리소스를 결정합니다. 그런 다음 IAM 관리자에게 요청을 제출하여 서비스 사용자의 권한을 변경해야 합니다. 이 페이지의 정보를 검토하여 IAM의 기본 개념을 이해합니다. 회사가 Amazon IVS에서 IAM을 사용하는 방법에 대해 자세히 알아보려면 Amazon IVS가 IAM과 작동하는 방식 섹션을 참조하세요.

  • IAM 관리자 - IAM 관리자인 경우 Amazon IVS에 대한 액세스 권한을 관리하는 정책을 작성할 수 있습니다. IAM에서 사용할 수 있는 Amazon IVS 자격 증명 기반 정책(identity-based policies)의 예제를 확인하시려면 자격 증명 기반 정책 예제 자격 증명 기반 정책 예제 섹션을 참조하세요.

Amazon IVS가 IAM과 작동하는 방식

Amazon IVS API 요청을 하기 전에 먼저 하나 이상의 IAM 자격 증명(사용자, 그룹 및 역할) 및 IAM 정책을 생성한 다음, 정책을 자격 증명에 연결해야 합니다. 권한이 전파되는 데에는 몇 분 정도 소요되며 그때까지 API 요청은 거부됩니다.

Amazon IVS가 IAM과 작동하는 방식에 대한 자세한 내용은 IAM 사용 설명서에서 IAM으로 작업하는 AWS 서비스를 참조하세요.

ID

IAM 자격 증명을 생성하여 AWS 계정의 사용자 및 프로세스에 대한 인증을 제공할 수 있습니다. IAM 그룹은 하나의 단위로 관리할 수 있는 IAM 사용자 모음입니다. IAM 사용 설명서에서 자격 증명(사용자, 그룹, 및 역할)을 참조하세요.

정책

IAM 사용 설명서에서 다음 섹션을 참조하세요.

기본적으로 IAM 사용자와 역할에는 Amazon IVS 리소스를 생성 혹은 변경할 권한이 없습니다 (패스워드 변경도 불가함). 또한, 사용자와 역할은 AWS 콘솔, AWS CLI 또는 AWS API를 사용하여 작업을 수행할 수 없습니다. IAM 관리자는 지정된 리소스에서 특정 API 작업을 수행할 수 있는 권한을 사용자와 역할에게 부여하는 IAM 정책을 생성해야 합니다.

IAM 정책은 작업을 수행하기 위해 사용하는 방법과 관계없이 작업에 대한 권한을 정의합니다. 예를 들어, iam:GetRole 작업을 허용하는 정책이 있다고 가정해봅시다. 해당 정책을 보유한 사용자는 AWS Management Console, AWS CLI 또는 AWS API에서 역할에 대한 정보를 얻을 수 있습니다.

정책은 JSON 권한이며, 정책 문서는 요소로 구성됩니다. Amazon IVS는 다음 세 가지 요소를 지원합니다.

  • 작업 - Amazon IVS에 대한 정책 작업은 작업 앞에 ivs 접두사를 사용합니다. 예를 들어, Amazon IVS CreateChannel API 메서드로 Amazon IVS 채널을 생성할 권한을 누군가에게 부여하려면 해당 개인에 대한 정책에 ivs:CreateChannel 작업을 포함합니다. 정책 설명에는 Action 또는 NotAction 요소가 포함되어야 합니다.

  • 리소스 — Amazon IVS 채널 리소스에는 다음 ARN 형식이 있습니다.

    arn:aws:ivs:${Region}:${Account}:channel/${channelId}

    예를 들어, 설명에서 VgNkEJgOVX9N 채널을 지정하려면 다음 ARN을 사용합니다.

    "Resource": "arn:aws:ivs:us-west-2:123456789012:channel/VgNkEJgOVX9N"

    리소스 생성과 같은 일부 Amazon IVS 작업은 특정 리소스에서 수행할 수 없습니다. 이러한 경우 와일드카드(*)를 사용해야 합니다.

    "Resource":"*"
  • 조건 - Amazon IVS는 aws:RequestTag, aws:TagKeys, aws:ResourceTag 등과 같은 몇 가지 글로벌 조건 키를 지원합니다.

정책에서 변수를 자리 표시자로 사용할 수 있습니다. 예를 들어, 사용자의 IAM 사용자 이름으로 태그가 지정된 경우에만 IAM 사용자에게 리소스에 액세스할 수 있는 권한을 부여할 수 있습니다. IAM 사용 설명서에서 변수 및 태그를 참조하세요.

Amazon IVS에서는 미리 구성된 권한 세트를 자격 증명에 부여하는 데 사용할 수 있는 AWS 관리형 정책을 제공합니다(읽기 전용 또는 전체 액세스). 아래에 표시된 자격 증명 기반 정책 대신에 관리형 정책을 사용하도록 선택할 수 있습니다. 자세한 내용은 Amazon IVS의 관리형 정책을 참조하세요.

Amazon IVS 태그를 기반으로 권한 부여

Amazon IVS 리소스에 태그를 연결하거나 Amazon IVS에 대한 요청에서 태그를 전달할 수 있습니다. 태그를 기반으로 액세스를 제어하려면 aws:ResourceTag/key-name, aws:RequestTag/key-name 또는 aws:TagKeys 조건 키를 사용하여 정책의 조건 요소에서 태그 정보를 제공합니다. Amazon IVS 리소스에 태그를 지정하는 방법에 대한 자세한 내용은 IVS Low-Latency Streaming API Reference, IVS Real-Time Streaming API Reference 및 IVS Chat API Reference의 'Tagging'을 참조하세요.

예시는 태그를 기반으로 Amazon IVS 채널 보기에서 확인하십시오.

역할

IAM 사용 설명서에서 IAM 역할임시 보안 인증 정보를 참조하세요.

IAM 역할은 특정 권한을 가지고 있는 AWS계정 내 엔터티입니다.

Amazon IVS는 임시 보안 인증 정보를 지원합니다. 임시 보안 인증을 사용하여 페더레이션으로 로그인하거나 IAM 역할을 수임하거나 교차 계정 역할을 수임할 수 있습니다. AWS Security Token Service API 작업(예: AssumeRole 또는 GetFederationToken)을 호출하여 임시 보안 인증 정보를 가져옵니다.

권한 있는 액세스 및 권한 없는 액세스

API 리소스는 권한 있는 액세스 권한을 지원합니다. 권한 없는 재생 액세스 권한은 프라이빗 채널을 통해 설정할 수 있습니다(프라이빗 채널 설정 참조).

정책에 대한 모범 사례

자세한 내용은 IAM 사용 설명서에서 IAM 모범 사례를 참조하세요.

자격 증명 기반 정책은 매우 강력합니다. 이 정책은 계정에서 사용자가 Amazon IVS 리소스를 생성, 액세스 또는 삭제할 수 있는지 여부를 결정합니다. 이 작업으로 인해 AWS 계정에 비용이 발생할 수 있습니다. 다음 권장 사항을 따릅니다.

  • 최소 권한 부여 - 사용자 지정 정책을 생성할 때 작업 수행에 필요한 권한만을 부여합니다. 최소한의 권한을 조합하는 것으로 시작하여 추후 필요에 따라 권한을 추가로 부여합니다. 초기에 권한을 많이 부여한 후 나중에 이를 줄이는 것보다 안전한 방법입니다. 특히, 관리 액세스 권한을 위해 ivs:*를 예약한후 애플리케이션에서 사용하지 마시기 바랍니다.

  • 중요한 작업에 대해 Multi-Factor Authentication(MFA) 활성화 - 보안을 강화하기 위해 IAM 사용자가 중요한 리소스 또는 API 작업에 액세스할 때 MFA를 사용하도록 합니다.

  • 보안 강화를 위해 정책 조건 사용 – 실제로 가능한 경우 자격 증명 기반 정책이 리소스에 대한 액세스를 허용하는 조건을 정의합니다. 예를 들어, 요청할 수 있는 IP 주소의 범위를 지정하도록 조건을 작성할 수 있습니다. 지정된 날짜 또는 시간 범위 내에서만 요청을 허용하거나, SSL 또는 MFA를 사용해야 하는 조건을 작성할 수도 있습니다.

자격 증명 기반 정책 예제

Amazon IVS 콘솔 사용

Amazon IVS 콘솔에 액세스하려면 AWS 계정의 Amazon IVS 리소스에 대한 세부 정보를 나열하고 볼 수 있는 최소 권한이 있어야 합니다. 최소 필수 권한보다 더 제한적인 자격 증명 기반 정책을 생성하면 콘솔이 해당 정책에 연결된 엔터티에 대해 의도대로 작동하지 않습니다. Amazon IVS 콘솔에 대한 액세스를 보장하려면 자격 증명에 다음 정책을 연결합니다(IAM 사용 설명서에서 IAM 권한 추가 및 제거 참조).

다음 정책 부분은 다음에 대한 액세스를 제공합니다.

  • 모든 Amazon IVS API 엔드포인트

  • 사용자의 Amazon IVS Service Quotas

  • IVS의 S3에 자동 레코딩 기능에 필요한 Amazon S3 엔드포인트(저지연 스트리밍) 및 IVS의 복합 레코딩 기능(실시간 스트리밍).

  • S3에 자동 레코딩 서비스 연결 역할 생성

  • 라이브 스트림 세션에 대한 지표를 가져오는 Amazon Cloudwatch

{ "Version": "2012-10-17", "Statement": [ { "Action": "ivs:*", "Effect": "Allow", "Resource": "*" }, { "Action": [ "servicequotas:ListServiceQuotas" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "s3:CreateBucket", "s3:DeleteBucketPolicy", "s3:GetBucketLocation", "s3:GetBucketPolicy", "s3:ListAllMyBuckets", "s3:PutBucketPolicy" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "iam:AttachRolePolicy", "iam:CreateServiceLinkedRole", "iam:PutRolePolicy" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/ivs.amazonaws.com/AWSServiceRoleForIVSRecordToS3*" }, { "Action": [ "cloudwatch:GetMetricData" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "lambda:AddPermission", "lambda:ListFunctions" ], "Effect": "Allow", "Resource": "*" } ] }

사용자가 자신이 권한을 볼 수 있도록 허용

아래 예제는 IAM 사용자가 사용자 ID에 연결된 인라인 및 관리형 정책을 볼 수 있도록 허용하는 정책을 보여줍니다. AWS 콘솔에서 또는 AWS CLI나 AWS API를 사용하여 프로그래밍 방식으로 이 작업을 완료하는 권한이 정책에 포함됩니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": [ "arn:aws:iam:*:*:user/${aws:username}" ] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Amazon IVS 채널에 액세스

AWS 계정의 IAM 사용자에게 Amazon IVS 채널 중 하나(VgNkEJgOVX9N)에 대한 액세스 권한을 부여하려고 하는 경우입니다. 그리고 스트림 중지(ivs:StopStream), 메타데이터 추가(ivs:PutMetadata), 채널 업데이트(ivs:UpdateChannel) 작업을 수행하도록 허용하고자 합니다. 이 정책에서 Amazon IVS 콘솔에 필요한 ivs:ListChannels, ivs:ListStreams, ivs:GetChannel, ivs:GetStream 권한도 부여합니다.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"ListChannelsInConsole", "Effect":"Allow", "Action":[ "ivs:ListChannels", "ivs:ListStreams" ], "Resource":"arn:aws:ivs:*:*:channel/*" }, { "Sid":"ViewSpecificChannelInfo", "Effect":"Allow", "Action":[ "ivs:GetChannel", "ivs:GetStream" ], "Resource":"arn:aws:ivs:*:*:channel/VgNkEJgOVX9N" }, { "Sid":"ManageChannel", "Effect":"Allow", "Action":[ "ivs:StopStream", "ivs:PutMetadata", "ivs:UpdateChannel" ], "Resource":"arn:aws:ivs:*:*:channel/VgNkEJgOVX9N" } ] }

태그를 기반으로 Amazon IVS 채널 보기

자격 증명 기반 정책의 조건을 사용하여 태그를 기반으로 Amazon IVS 리소스에 대한 액세스를 제어할 수 있습니다. 이 예제에서는 채널 보기를 허용하는 정책을 보여줍니다. 이 정책은 Amazon IVS 콘솔에서 이 작업을 완료하는 데 필요한 권한도 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListWidgetsInConsole", "Effect": "Allow", "Action": "ivs:ListChannels", "Resource": "arn:aws:ivs:*:*:channel/*" }, { "Sid": "ViewChannelIfOwner", "Effect": "Allow", "Action": "ivs:GetChannel", "Resource": "arn:aws:ivs:*:*:channel/*", "Condition": { "StringEquals": {"aws:ResourceTag/Owner": "${aws:username}"} } } ] }

이 정책을 계정의 IAM 사용자에게 연결할 수 있습니다. 하지만 채널에 사용자 이름이 소유자로 태그 지정된 경우에만 권한이 부여됩니다. richard-roe라는 사용자가 Amazon IVS 채널을 보려고 시도하면 해당 채널에 Owner=richard-roe 또는 owner=richard-roe 태그가 지정되어야 합니다. 그렇지 않으면 액세스가 거부됩니다. (조건 태그 키 이름은 대소문자를 구분하지 않기 때문에 조건 태그 키(Owner)는 Ownerowner 모두와 일치합니다.)

문제 해결

다음 정보를 사용하여 Amazon IVS 및 IAM에서 작업할 때 발생할 수 있는 일반적인 문제를 진단하고 수정할 수 있습니다.

  • Amazon IVS에서 작업을 수행할 권한이 없습니다.

    다음 예제 오류는 mateojackson이라고 하는 IAM 사용자가 AWS 콘솔을 사용하여 채널에 대한 세부 정보를 보려고 하지만 ivs:GetChannel 권한이 없는 경우에 발생합니다.

    User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: ivs:GetChannel on resource: arn:aws:ivs:us-west-2:123456789012:channel/VgNkEJgOVX9N

    이 경우 Mateo는 ivs:GetChannel 작업을 사용하여 arn:aws:ivs:us-west-2:123456789012:channel/VgNkEJgOVX9N 리소스에 액세스하도록 허용하는 정책을 업데이트하도록 관리자에게 요청합니다.

  • 액세스 키를 확인하고자 합니다.

    IAM 사용자 액세스 키를 생성한 후에는 언제든지 액세스 키 ID를 볼 수 있습니다. 하지만 보안 액세스 키는 다시 볼 수 없습니다. 보안 액세스 키를 잃어버린 경우 새로운 액세스 키 페어를 생성해야 합니다. 액세스 키는 다음 두 부분으로 구성됩니다.

    • 액세스 키 ID(예: AKIAIOSFODNN7EXAMPLE)

    • 비밀 액세스 키(예: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY)

    사용자 이름 및 암호와 같이, 액세스 키 ID와 비밀 액세스 키를 함께 사용하여 요청을 인증해야 합니다. 사용자 이름과 암호를 관리하는 것처럼 안전하게 액세스 키를 관리합니다.

    중요: 정식 사용자 ID를 찾는 데 도움이 되더라도 액세스 키를 제3자에게 제공하지 마세요. 이로 인해 다른 사람에게 계정에 대한 영구 액세스를 제공하게 될 수 있습니다.

    액세스 키 페어를 생성할 때는 액세스 키 ID와 보안 액세스 키를 안전한 위치에 저장하라는 메시지가 나타납니다. 비밀 액세스 키는 생성할 때만 사용할 수 있습니다. 하지만 보안 액세스 키를 잃어버린 경우 새로운 액세스 키를 IAM 사용자에게 추가해야 합니다.

    최대 두 개의 액세스 키를 보유할 수 있습니다. 이미 두 개가 있는 경우 새로 생성하려면 먼저 키 페어 하나를 삭제해야 합니다. 자세한 내용은 IAM 사용 설명서에서 IAM 사용자에 대한 액세스 키 관리를 참조하세요.

  • 관리자이며 다른 사용자가 Amazon IVS에 액세스하도록 허용하려고 합니다.

    다른 사용자가 Amazon IVS에 액세스하도록 허용하려면 액세스 권한이 필요한 사용자 또는 애플리케이션에 대한 IAM 엔터티(사용자 또는 역할)를 생성해야 합니다. 개인 또는 애플리케이션은 해당 엔터티에 대한 자격 증명을 사용하여 AWS에 액세스합니다. 그런 다음, 엔터티에 정책을 연결하여 Amazon IVS에서 올바른 권한을 부여해야 합니다.

    시작하려면 IAM 사용 설명서에서 첫 번째 IAM 위임 사용자 및 그룹 생성을 참조하세요.

  • AWS 계정 외부의 사용자가 Amazon IVS 리소스에 액세스할 수 있도록 허용하려고 합니다.

    다른 계정의 사용자 또는 조직 외부의 개인이 리소스에 액세스하는 데 사용할 수 있는 역할을 생성할 수 있습니다. 역할을 수임하는 데 있어 신뢰할 수 있는 사람을 지정할 수 있습니다. 리소스 기반 정책 또는 ACL(액세스 제어 목록)을 지원하는 서비스의 경우 이러한 정책을 사용하여 다른 사람에게 리소스에 대한 액세스 권한을 부여할 수 있습니다. 자세한 내용은 IAM 사용 설명서에서 다음 섹션을 참조하세요.

    알아볼 주제... 참조할 섹션...
    소유한 AWS 계정 전체에서 리소스에 대한 액세스 권한을 제공하는 방법

    소유한 다른 AWS 계정의 IAM 사용자에게 액세스 권한 제공

    서드 파티 AWS 계정에 리소스에 대한 액세스 권한을 제공하는 방법

    서드 파티가 소유한 AWS 계정에 대한 액세스 제공

    자격 증명 연동을 통한 액세스 권한을 제공하는 방법

    외부에서 인증된 사용자에게 액세스 권한 제공(아이덴티티 페더레이션)

    교차 계정 액세스를 위한 역할 및 리소스 기반 정책 사용의 차이점

    IAM 역할과 리소스 기반 정책의 차이