AWS Systems Manager Change Manager는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 AWS Systems Manager Change Manager 가용성 변경을 참조하세요.
AWS Systems Manager의 I자격 증명 및 액세스 관리
AWS Identity and Access Management(IAM)는 관리자가 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있도록 지원하는 AWS 서비스입니다. IAM 관리자는 어떤 사용자가 Systems Manager 리소스를 사용할 수 있는 인증(로그인) 및 권한(권한 있음)을 받을 수 있는지 제어합니다. IAM은 추가 비용 없이 사용할 수 있는 AWS 서비스입니다.
고객
AWS Identity and Access Management(IAM) 사용 방법은 역할에 따라 다릅니다.
-
서비스 사용자 - 기능에 액세스할 수 없는 경우 관리자에게 권한을 요청합니다(AWS Systems Manager ID 및 액세스 문제 해결 참조).
-
서비스 관리자 - 사용자 액세스를 결정하고 권한 요청을 제출합니다(AWS Systems Manager에서 IAM을 사용하는 방식 참조).
-
IAM 관리자 - 액세스를 관리하기 위한 정책을 작성합니다(AWS Systems Manager 자격 증명 기반 정책 예시 참조).
ID를 통한 인증
인증은 ID 자격 증명을 사용하여 AWS에 로그인하는 방식입니다. AWS 계정 루트 사용자나 IAM 사용자로 또는 IAM 역할을 수임하여 인증받아야 합니다.
AWS IAM Identity Center(IAM Identity Center), Single Sign-On 인증 또는 Google/Facebook 자격 증명과 같은 ID 소스의 ID를 사용하여 페더레이션 ID로 로그인할 수 있습니다. 로그인하는 방법에 대한 자세한 내용은 AWS 로그인 사용 설명서의 AWS 계정에 로그인하는 방법 섹션을 참조하세요.
프로그래밍 방식 액세스를 위해 AWS는 요청에 암호화 방식으로 서명할 수 있는 SDK 및 CLI를 제공합니다. 자세한 내용은 IAM 사용 설명서의 API 요청용 AWS Signature Version 4 섹션을 참조하세요.
AWS 계정 루트 사용자
AWS 계정을 생성하는 경우에는 모든 AWS 서비스 서비스와 리소스에 대한 완전한 액세스 권한이 있는 AWS 계정 루트 사용자라는 단일 로그인 자격 증명으로 시작합니다. 일상적인 작업에 루트 사용자를 사용하지 않을 것을 강력히 권장합니다. 루트 사용자 자격 증명이 필요한 작업은 IAM 사용 설명서의 루트 사용자 자격 증명이 필요한 작업 섹션을 참조하세요.
IAM 사용자 및 그룹
IAM 사용자는 단일 개인 또는 애플리케이션에 대한 특정 권한을 가진 자격 증명입니다. 장기 자격 증명이 있는 IAM 사용자 대신 임시 자격 증명을 사용하는 것이 좋습니다. 자세한 내용은 IAM 사용 설명서에서 임시 자격 증명을 사용하여 AWS에 액세스하려면 인간 사용자가 ID 공급자와의 페더레이션을 사용하도록 요구를 참조하세요.
IAM 그룹은 IAM 사용자 모음을 지정하고 대규모 사용자 집합의 권한을 더 쉽게 관리할 수 있게 합니다. 자세한 내용은 IAM 사용 설명서의 IAM 사용자 사용 사례 섹션을 참조하세요.
IAM 역할
IAM 역할은 임시 ID를 제공하는 특정 권한이 있는 ID입니다. 사용자에서 IAM 역할(콘솔)로 전환하거나 AWS CLI 또는 AWS API 작업을 직접 호출하여 역할을 수임할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 역할 수임 방법을 참조하세요.
IAM 역할은 페더레이션 사용자 액세스, 임시 IAM 사용자 권한, 교차 계정 액세스, 교차 서비스 액세스 및 Amazon EC2에서 실행되는 애플리케이션에 유용합니다. 자세한 내용은 IAM 사용 설명서의 교차 계정 리소스 액세스를 참조하세요.
정책을 사용하여 액세스 관리
정책을 생성하고 AWS ID 또는 리소스에 연결하여 AWS에서 내 액세스를 제어합니다. 정책은 자격 증명이나 리소스와 연결될 때 해당 권한을 정의합니다. AWS는 위탁자가 요청을 보낼 때 이러한 정책을 평가합니다. 대부분의 정책은 AWS에 JSON 문서로 저장됩니다. JSON 정책 문서에 대한 자세한 내용은 IAM 사용 설명서의 JSON 정책 개요 섹션을 참조하세요.
정책을 사용하여 관리자는 어떤 위탁자가 어떤 리소스에 대해 어떤 조건에서 작업을 수행할 수 있는지 정의하여 누가 무엇을 액세스할 수 있는지 지정합니다.
기본적으로, 사용자 및 역할에는 어떠한 권한도 없습니다. IAM 관리자는 IAM 정책을 생성하고 사용자가 수임할 수 있는 역할에 이를 추가합니다. IAM 정책은 작업을 수행하기 위해 사용하는 방법과 관계없이 해당 권한을 정의합니다.
ID 기반 정책
자격 증명 기반 정책은 자격 증명(사용자, 사용자 그룹 또는 역할)에 연결하는 JSON 권한 정책 문서입니다. 이러한 정책은 자격 증명이 수행할 수 있는 작업, 대상 리소스 및 이에 관한 조건을 제어합니다. 자격 증명 기반 정책을 생성하는 방법을 알아보려면 IAM 사용 설명서에서 고객 관리형 정책으로 사용자 지정 IAM 권한 정의를 참조하세요.
ID 기반 정책은 인라인 정책(단일 ID에 직접 포함) 또는 관리형 정책(여러 ID에 연결된 독립 실행형 정책)일 수 있습니다. 관리형 정책 또는 인라인 정책을 선택하는 방법을 알아보려면 IAM 사용 설명서의 관리형 정책 및 인라인 정책 중에서 선택 섹션을 참조하세요.
AWS의 Systems Manager 관리형 정책에 대한 자세한 내용은 AWS Systems Manager 관리형 정책 섹션을 참조하세요.
리소스 기반 정책
리소스 기반 정책은 리소스에 연결하는 JSON 정책 설명서입니다. 예를 들어 IAM 역할 신뢰 정책 및 Amazon S3 버킷 정책이 있습니다. 리소스 기반 정책을 지원하는 서비스에서 서비스 관리자는 이러한 정책을 사용하여 특정 리소스에 대한 액세스를 통제할 수 있습니다. 리소스 기반 정책에서 위탁자를 지정해야 합니다.
리소스 기반 정책은 해당 서비스에 있는 인라인 정책입니다. 리소스 기반 정책에서는 IAM의 AWS관리형 정책을 사용할 수 없습니다.
정책 조건 키
사용자와 역할이 수행할 수 있는 작업과 이러한 작업을 수행할 수 있는 리소스는 특정 조건에 따라 추가로 제한될 수 있습니다.
JSON 정책 문서에서 Condition 요소(또는 Condition 블록)를 사용하면 정책이 발효되는 조건을 지정할 수 있습니다. Condition 요소는 옵션입니다. StringEquals 또는 StringNotLike와 같은 조건 연산자를 사용하여 정책의 조건을 요청의 값과 일치시키는 조건식을 생성할 수 있습니다.
한 문에서 여러 Condition 요소를 지정하거나 단일 Condition 요소에서 여러 키를 지정하는 경우, AWS는 논리적 AND 작업을 사용하여 평가합니다. 단일 조건 키의 여러 값을 지정하는 경우, AWS는 논리적 OR 작업을 사용하여 조건을 평가합니다. 문의 권한을 부여하기 전에 모든 조건을 충족해야 합니다.
조건을 지정할 때 자리 표시자 변수를 사용할 수도 있습니다. 예를 들어, IAM 사용자에게 IAM 사용자 이름으로 태그가 지정된 경우에만 리소스에 액세스할 수 있는 권한을 부여할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 IAM 정책 요소: 변수 및 태그를 참조하세요.
AWS는 전역 조건 키와 서비스별 조건 키를 지원합니다. 자세한 내용은 IAM 사용 설명서의 AWS 글로벌 조건 컨텍스트 키를 참조하세요.
중요
Systems Manager Automation을 사용하는 경우 정책에 aws:SourceIp 조건 키를 사용하지 않는 것이 좋습니다. 이 조건 키의 동작은 Automation 런북 실행을 위한 IAM 역할이 제공되는지 여부와 런북에 사용된 Automation 작업을 비롯한 여러 요인에 따라 달라집니다. 결과적으로 조건 키는 예상치 못한 동작을 생성할 수 있습니다. 따라서 사용하지 않는 것이 좋습니다.
Systems Manager는 몇 가지 자체 조건 키를 지원합니다. 자세한 내용은 서비스 권한 부여 참조의 AWS Systems Manager 조건 키를 참조하세요. Systems Manager 조건 키를 사용할 수 있는 작업 및 리소스는 서비스 권한 부여 참조에서 AWS Systems Manager에서 정의한 리소스 유형에 나열되어 있습니다.
정책이 Systems Manager 서비스에서 소유한 서비스 보안 주체 이름에 의존해야 하는 경우 aws:PrincipalServiceName 조건 키가 아닌 aws:PrincipalServiceNamesList 다중 값 조건 키를 사용하여 보안 주체의 존재 여부를 확인하는 것이 좋습니다. aws:PrincipalServiceName 조건 키에는 서비스 보안 주체 이름 목록에서 하나의 항목만 포함되고 항상 원하는 서비스 보안 주체 이름이 아닐 수 있습니다. 다음 Condition 블록은 ssm.amazonaws.com의 존재 여부 확인을 보여줍니다.
{ "Condition": { "ForAnyValue:StringEquals": { "aws:PrincipalServiceNamesList": "ssm.amazonaws.com" } } }
System Manager ID 기반 정책의 예제를 보려면 AWS Systems Manager 자격 증명 기반 정책 예시 섹션을 참조하세요.
액세스 제어 목록(ACL)
액세스 제어 목록(ACL)은 어떤 보안 주체(계정 멤버, 사용자 또는 역할)가 리소스에 액세스할 수 있는 권한을 가지고 있는지를 제어합니다. ACLs는 JSON 정책 문서 형식을 사용하지 않지만 리소스 기반 정책과 유사합니다.
Amazon S3, AWS WAF 및 Amazon VPC는 ACL을 지원하는 대표적인 서비스입니다. ACL에 관한 자세한 내용은 Amazon Simple Storage Service 개발자 가이드의 액세스 제어 목록(ACL) 개요를 참조하세요.
기타 정책 타입
AWS는 더 일반적인 정책 유형에 따라 부여되는 최대 권한을 설정할 수 있는 추가 정책 유형을 지원합니다.
-
권한 경계 - 자격 증명 기반 정책에서 IAM 엔터티에 부여할 수 있는 최대 권한을 설정합니다. 자세한 정보는 IAM 사용 설명서의 IAM 엔터티의 권한 범위를 참조하세요.
-
서비스 제어 정책(SCP) - AWS Organizations 내 조직 또는 조직 단위에 대한 최대 권한을 지정합니다. 자세한 내용은 AWS Organizations사용 설명서의 서비스 제어 정책을 참조하세요.
-
리소스 제어 정책(RCP) - 계정 내 리소스에 사용할 수 있는 최대 권한을 설정합니다. 자세한 내용은 AWS Organizations사용 설명서의 리소스 제어 정책(RCP)을 참조하세요.
-
세션 정책 - 역할 또는 페더레이션 사용자에 대해 임시 세션을 생성할 때 파라미터로 전달되는 고급 정책입니다. 자세한 내용은 IAM 사용 설명서의 세션 정책을 참조하세요.
여러 정책 유형
여러 정책 유형이 요청에 적용되는 경우, 결과 권한은 이해하기가 더 복잡합니다. 여러 정책 유형이 관련될 때 AWS가 요청을 허용할지를 결정하는 방법을 알아보려면 IAM 사용 설명서의 정책 평가 로직을 참조하세요.