AWS Cloud9 는 더 이상 신규 고객이 사용할 수 없습니다. AWS Cloud9 의 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세히 알아보기
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에 대한 자격 증명 및 액세스 관리 AWS Cloud9
AWS Identity and Access Management (IAM)는 관리자가 AWS 리소스에 대한 액세스를 안전하게 제어하는 데 도움이 AWS 서비스 되는 입니다. IAM 관리자는 AWS Cloud9 누가 리소스를 사용할 수 있는 인증(로그인) 및 권한 부여(권한 부여)를 받을 수 있는지 제어합니다. IAM 는 추가 비용 없이 사용할 수 AWS 서비스 있는 입니다.
주제
고객
AWS Identity and Access Management (IAM) 사용 방법은 에서 수행하는 작업에 따라 다릅니다 AWS Cloud9.
서비스 사용자 - AWS Cloud9 서비스를 사용하여 작업을 수행하는 경우 관리자는 필요한 자격 증명과 권한을 제공합니다. 더 많은 AWS Cloud9 기능을 사용하여 작업을 수행하면 추가 권한이 필요할 수 있습니다. 액세스 권한 관리 방식을 이해하면 적절한 권한을 관리자에게 요청할 수 있습니다. AWS Cloud9의 기능에 액세스할 수 없는 경우 AWS Cloud9 자격 증명 및 액세스 문제 해결을 참조하세요.
서비스 관리자 - 회사에서 AWS Cloud9 리소스를 담당하는 경우 에 대한 전체 액세스 권한이 있을 수 있습니다 AWS Cloud9. 서비스 사용자가 액세스해야 하는 AWS Cloud9 기능과 리소스를 결정하는 것은 사용자의 작업입니다. 그런 다음 IAM 관리자에게 요청을 제출하여 서비스 사용자의 권한을 변경해야 합니다. 이 페이지의 정보를 검토하여 의 기본 개념을 이해합니다IAM. 회사에서 IAM를 사용하는 방법에 대한 자세한 내용은 섹션을 AWS Cloud9참조하세요에서 를 AWS Cloud9 사용하는 방법 IAM.
IAM 관리자 - IAM 관리자인 경우 에 대한 액세스를 관리하기 위한 정책을 작성하는 방법에 대한 세부 정보를 알고 싶을 수 있습니다 AWS Cloud9. 에서 사용할 수 있는 자격 AWS Cloud9 증명 기반 정책 예제를 보려면 섹션을 IAM참조하세요AWS Cloud9에 대한 자격 증명 기반 정책 예시.
ID를 통한 인증
인증은 자격 증명 AWS 으로 에 로그인하는 방법입니다. 로 AWS 계정 루트 사용자, IAM 사용자로 또는 IAM 역할을 수임하여 인증(에 로그인 AWS)되어야 합니다.
자격 증명 소스를 통해 제공된 자격 증명을 사용하여 에 페더레이션 자격 증명 AWS 으로 로그인할 수 있습니다. AWS IAM Identity Center (IAM Identity Center) 사용자, 회사의 Single Sign-On 인증 및 Google 또는 Facebook 자격 증명은 페더레이션 자격 증명의 예입니다. 페더레이션 자격 증명으로 로그인하면 관리자가 이전에 IAM 역할을 사용하여 자격 증명 페더레이션을 설정했습니다. 페더레이션을 사용하여 AWS 에 액세스하면 간접적으로 역할을 수임하게 됩니다.
사용자 유형에 따라 AWS Management Console 또는 AWS 액세스 포털에 로그인할 수 있습니다. 에 로그인하는 방법에 대한 자세한 내용은 AWS 로그인 사용 설명서의 에 로그인하는 방법을 AWS 계정 AWS참조하세요.
AWS 프로그래밍 방식으로 에 액세스하는 경우 는 소프트웨어 개발 키트(SDK)와 명령줄 인터페이스(CLI)를 AWS 제공하여 자격 증명을 사용하여 요청에 암호화 방식으로 서명합니다. AWS 도구를 사용하지 않는 경우 직접 요청에 서명해야 합니다. 권장 방법을 사용하여 직접 요청에 서명하는 방법에 대한 자세한 내용은 IAM 사용 설명서의 AWS 서명 버전 4에서 API 요청을 참조하세요.
사용하는 인증 방법에 상관없이 추가 보안 정보를 제공해야 할 수도 있습니다. 예를 들어 다중 인증(MFA)을 사용하여 계정의 보안을 강화하는 것이 AWS 좋습니다. 자세한 내용은 AWS IAM Identity Center 사용 설명서의 다단계 인증 및 사용 설명서의 AWS 다단계 인증을 IAM 참조하세요IAM.
AWS 계정 루트 사용자
를 생성하면 계정의 모든 AWS 서비스 및 리소스에 대한 완전한 액세스 권한이 있는 하나의 로그인 자격 증명으로 AWS 계정시작합니다. 이 자격 증명을 AWS 계정 루트 사용자라고 하며 계정을 생성하는 데 사용한 이메일 주소와 암호로 로그인하여 액세스합니다. 일상적인 작업에 루트 사용자를 사용하지 않을 것을 강력히 권장합니다. 루트 사용자 보안 인증 정보를 보호하고 루트 사용자만 수행할 수 있는 작업을 수행하는 데 사용합니다. 루트 사용자로 로그인해야 하는 작업의 전체 목록은 IAM 사용 설명서의 루트 사용자 보안 인증이 필요한 작업을 참조하세요.
페더레이션 자격 증명
가장 좋은 방법은 관리자 액세스가 필요한 사용자를 포함한 인간 사용자가 ID 공급자와의 페더레이션을 사용하여 임시 자격 증명을 사용하여 AWS 서비스 에 액세스하도록 요구하는 것입니다.
페더레이션 자격 증명은 엔터프라이즈 사용자 디렉터리, 웹 자격 증명 공급자, , AWS Directory Service Identity Center 디렉터리 또는 자격 증명 소스를 통해 제공된 자격 증명을 사용하여 AWS 서비스 에 액세스하는 모든 사용자의 사용자입니다. 페더레이션 자격 증명이 에 액세스하면 역할을 AWS 계정수임하고 역할은 임시 자격 증명을 제공합니다.
중앙 집중식 액세스 관리를 위해 AWS IAM Identity Center(을)를 사용하는 것이 좋습니다. IAM Identity Center에서 사용자 및 그룹을 생성하거나 및 애플리케이션에서 사용할 수 있도록 자체 자격 증명 소스의 사용자 AWS 계정 및 그룹 집합에 연결하고 동기화할 수 있습니다. IAM Identity Center에 대한 자세한 내용은 AWS IAM Identity Center 사용 설명서의 IAM Identity Center란 무엇입니까?를 참조하세요.
IAM 사용자 및 그룹
IAM 사용자는 한 사람 또는 애플리케이션에 대한 특정 권한이 AWS 계정 있는 내 자격 증명입니다. 가능한 경우 암호 및 액세스 키와 같은 장기 보안 인증 정보가 있는 IAM 사용자를 생성하는 대신 임시 보안 인증 정보를 사용하는 것이 좋습니다. 그러나 IAM 사용자와 장기 보안 인증이 필요한 특정 사용 사례가 있는 경우 액세스 키를 교체하는 것이 좋습니다. 자세한 내용은 IAM 사용 설명서의 장기 보안 인증이 필요한 사용 사례에 대한 액세스 키 정기적으로 교체를 참조하세요.
IAM 그룹은 IAM 사용자 컬렉션을 지정하는 자격 증명입니다. 사용자는 그룹으로 로그인할 수 없습니다. 그룹을 사용하여 여러 사용자의 권한을 한 번에 지정할 수 있습니다. 그룹을 사용하면 대규모 사용자 집합의 권한을 더 쉽게 관리할 수 있습니다. 예를 들어 라는 이름의 그룹을 지정IAMAdmins하고 해당 그룹에 IAM 리소스를 관리할 수 있는 권한을 부여할 수 있습니다.
사용자는 역할과 다릅니다. 사용자는 한 사람 또는 애플리케이션과 고유하게 연결되지만, 역할은 해당 역할이 필요한 사람이라면 누구나 수임할 수 있습니다. 사용자는 영구적인 장기 보안 인증 정보를 가지고 있지만, 역할은 임시 보안 인증만 제공합니다. 자세한 내용은 IAM 사용 설명서의 IAM 사용자 사용 사례를 참조하세요.
IAM 역할
IAM 역할은 특정 권한이 AWS 계정 있는 내 자격 증명입니다. IAM 사용자와 비슷하지만 특정 사람과는 관련이 없습니다. 에서 IAM 역할을 일시적으로 수임하려면 사용자에서 역할(콘솔)로 전환할 AWS Management Console수 있습니다. IAM 또는 AWS API 작업을 호출 AWS CLI 하거나 사용자 지정 를 사용하여 역할을 수임할 수 있습니다URL. 역할 사용 방법에 대한 자세한 내용은 IAM 사용 설명서의 역할 수임 방법을 참조하세요.
IAM 임시 자격 증명이 있는 역할은 다음과 같은 상황에서 유용합니다.
-
페더레이션 사용자 액세스 - 페더레이션 ID에 권한을 부여하려면 역할을 생성하고 해당 역할의 권한을 정의합니다. 페더레이션 ID가 인증되면 역할이 연결되고 역할에 정의된 권한이 부여됩니다. 페더레이션 역할에 대한 자세한 내용은 IAM 사용 설명서의 타사 자격 증명 공급자에 대한 역할 생성을 참조하세요. IAM Identity Center를 사용하는 경우 권한 세트를 구성합니다. 인증 후 자격 증명이 액세스할 수 있는 항목을 제어하기 위해 IAM Identity Center는 권한 세트를 의 역할과 상호 연관시킵니다IAM. 권한 세트에 대한 자세한 내용은 AWS IAM Identity Center 사용 설명서의 권한 세트를 참조하세요.
-
임시 IAM 사용자 권한 - IAM 사용자 또는 역할은 특정 작업에 대해 다른 권한을 일시적으로 맡을 IAM 역할을 수 있습니다.
-
교차 계정 액세스 - IAM 역할을 사용하여 다른 계정의 누군가(신뢰할 수 있는 보안 주체)가 계정의 리소스에 액세스하도록 허용할 수 있습니다. 역할은 계정 간 액세스를 부여하는 기본적인 방법입니다. 그러나 일부 에서는 정책을 리소스에 직접 연결할 AWS 서비스수 있습니다(역할을 프록시로 사용하는 대신). 교차 계정 액세스에 대한 역할과 리소스 기반 정책의 차이점을 알아보려면 IAM 사용 설명서의 에서 교차 계정 리소스 액세스를 IAM 참조하세요.
-
교차 서비스 액세스 - 일부 는 다른 에서 기능을 AWS 서비스 사용합니다 AWS 서비스. 예를 들어 서비스에서 호출할 때 해당 서비스가 Amazon에서 애플리케이션을 실행EC2하거나 Amazon S3에 객체를 저장하는 것이 일반적입니다. 서비스는직접적으로 호출하는 보안 주체의 권한을 사용하거나, 서비스 역할을 사용하거나, 또는 서비스 연결 역할을 사용하여 이 작업을 수행할 수 있습니다.
-
전달 액세스 세션(FAS) - IAM 사용자 또는 역할을 사용하여 에서 작업을 수행하면 보안 주체로 AWS간주됩니다. 일부 서비스를 사용하는 경우 다른 서비스에서 다른 작업을 시작하는 작업을 수행할 수 있습니다. FAS 는 를 호출하는 보안 주체의 권한을 다운스트림 서비스에 AWS 서비스 대한 요청과 AWS 서비스함께 사용합니다. FAS 요청은 서비스가 다른 AWS 서비스 또는 리소스와의 상호 작용을 완료해야 하는 요청을 수신할 때만 수행됩니다. 이 경우 두 작업을 모두 수행할 수 있는 권한이 있어야 합니다. FAS 요청 시 정책 세부 정보는 액세스 세션 전달을 참조하세요.
-
서비스 역할 - 서비스 역할은 서비스가 사용자를 대신하여 작업을 수행하기 위해 수임하는 IAM 역할입니다. IAM 관리자는 내에서 서비스 역할을 생성, 수정 및 삭제할 수 있습니다IAM. 자세한 내용은 IAM 사용 설명서의 에 권한을 위임할 역할 생성을 AWS 서비스 참조하세요.
-
서비스 연결 역할 - 서비스 연결 역할은 에 연결된 서비스 역할의 한 유형입니다 AWS 서비스. 서비스는 사용자를 대신하여 작업을 수행하기 위해 역할을 수임할 수 있습니다. 서비스 연결 역할은 에 표시 AWS 계정 되며 서비스가 소유합니다. IAM 관리자는 서비스 연결 역할에 대한 권한을 볼 수 있지만 편집할 수는 없습니다.
-
-
Amazon에서 실행되는 애플리케이션 EC2 - IAM 역할을 사용하여 EC2 인스턴스에서 실행되고 AWS CLI 또는 AWS API 요청을 수행하는 애플리케이션의 임시 보안 인증을 관리할 수 있습니다. 이는 EC2 인스턴스 내에 액세스 키를 저장하는 것보다 좋습니다. EC2 인스턴스에 AWS 역할을 할당하고 모든 애플리케이션에서 사용할 수 있도록 하려면 인스턴스에 연결된 인스턴스 프로파일을 생성합니다. 인스턴스 프로파일에는 역할이 포함되어 있으며 EC2 인스턴스에서 실행 중인 프로그램이 임시 자격 증명을 가져올 수 있습니다. 자세한 내용은 IAM 사용 설명서EC2의 IAM 역할 사용을 참조하세요.
정책을 사용한 액세스 관리
정책을 AWS 생성하고 AWS 자격 증명 또는 리소스에 연결하여 의 액세스를 제어합니다. 정책은 자격 증명 또는 리소스와 연결된 AWS 경우 권한을 정의하는 의 객체입니다. 는 보안 주체(사용자, 루트 사용자 또는 역할 세션)가 요청할 때 이러한 정책을 AWS 평가합니다. 정책에서 권한은 요청이 허용되거나 거부되는 지를 결정합니다. 대부분의 정책은 에 JSON 문서 AWS 로 저장됩니다. JSON 정책 문서의 구조 및 내용에 대한 자세한 내용은 IAM 사용 설명서의 JSON 정책 개요를 참조하세요.
관리자는 정책을 사용하여 AWS JSON 대상에 액세스할 수 있는 사용자를 지정할 수 있습니다. 즉, 어떤 보안 주체가 어떤 리소스와 어떤 조건에서 작업을 수행할 수 있는지를 지정할 수 있습니다.
기본적으로, 사용자와 역할에는 어떠한 권한도 없습니다. 사용자에게 필요한 리소스에 대한 작업을 수행할 수 있는 권한을 부여하려면 IAM 관리자가 IAM 정책을 생성할 수 있습니다. 그런 다음 관리자는 IAM 정책을 역할에 추가하고 사용자는 역할을 수임할 수 있습니다.
IAM 정책은 작업을 수행하는 데 사용하는 방법에 관계없이 작업에 대한 권한을 정의합니다. 예를 들어, iam:GetRole
작업을 허용하는 정책이 있다고 가정합니다. 해당 정책을 사용하는 사용자는 AWS Management Console, AWS CLI또는 에서 역할 정보를 가져올 수 있습니다 AWS API.
보안 인증 기반 정책
자격 증명 기반 정책은 IAM 사용자, 사용자 그룹 또는 역할과 같은 자격 증명에 연결할 수 있는 JSON 권한 정책 문서입니다. 이러한 정책은 사용자와 역할이 어떤 리소스와 어떤 조건에서 어떤 작업을 수행할 수 있는지를 제어합니다. 자격 증명 기반 정책을 생성하는 방법을 알아보려면 IAM 사용 설명서의 고객 관리형 정책을 사용하여 사용자 지정 IAM 권한 정의를 참조하세요.
보안 인증 기반 정책은 인라인 정책 또는 관리형 정책으로 한층 더 분류할 수 있습니다. 인라인 정책은 단일 사용자, 그룹 또는 역할에 직접 포함됩니다. 관리형 정책은 의 여러 사용자, 그룹 및 역할에 연결할 수 있는 독립 실행형 정책입니다 AWS 계정. 관리형 정책에는 AWS 관리형 정책 및 고객 관리형 정책이 포함됩니다. 관리형 정책 또는 인라인 정책 중에서 선택하는 방법을 알아보려면 IAM 사용 설명서의 관리형 정책 및 인라인 정책 중에서 선택을 참조하세요.
리소스 기반 정책
리소스 기반 정책은 리소스에 연결하는 JSON 정책 문서입니다. 리소스 기반 정책의 예로는 IAM 역할 신뢰 정책 및 Amazon S3 버킷 정책이 있습니다. 리소스 기반 정책을 지원하는 서비스에서 서비스 관리자는 이러한 정책을 사용하여 특정 리소스에 대한 액세스를 통제할 수 있습니다. 정책이 연결된 리소스의 경우 정책은 지정된 보안 주체가 해당 리소스와 어떤 조건에서 어떤 작업을 수행할 수 있는지를 정의합니다. 리소스 기반 정책에서 보안 주체를 지정해야 합니다. 보안 주체에는 계정, 사용자, 역할, 페더레이션 사용자 또는 가 포함될 수 있습니다 AWS 서비스.
리소스 기반 정책은 해당 서비스에 있는 인라인 정책입니다. 리소스 기반 정책IAM에서는 의 AWS 관리형 정책을 사용할 수 없습니다.
액세스 제어 목록(ACLs)
액세스 제어 목록(ACLs)은 리소스에 액세스할 수 있는 권한이 있는 보안 주체(계정 멤버, 사용자 또는 역할)를 제어합니다. ACLs 는 리소스 기반 정책과 유사하지만 JSON 정책 문서 형식을 사용하지는 않습니다.
Amazon S3 AWS WAF및 AmazonVPC은 를 지원하는 서비스의 예입니다ACLs. 에 대한 자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 액세스 제어 목록(ACL) 개요를 ACLs참조하세요.
기타 정책 타입
AWS 는 덜 일반적인 추가 정책 유형을 지원합니다. 이러한 정책 타입은 더 일반적인 정책 유형에 따라 사용자에게 부여되는 최대 권한을 설정할 수 있습니다.
-
권한 경계 - 권한 경계는 자격 증명 기반 정책이 IAM엔터티(IAM 사용자 또는 역할)에 부여할 수 있는 최대 권한을 설정하는 고급 기능입니다. 개체에 대한 권한 경계를 설정할 수 있습니다. 그 결과로 얻는 권한은 객체의 자격 증명 기반 정책과 그 권한 경계의 교집합입니다.
Principal
필드에서 사용자나 역할을 지정하는 리소스 기반 정책은 권한 경계를 통해 제한되지 않습니다. 이러한 정책 중 하나에 포함된 명시적 거부는 허용을 재정의합니다. 권한 경계에 대한 자세한 내용은 IAM 사용 설명서의 IAM엔터티에 대한 권한 경계를 참조하세요. -
서비스 제어 정책(SCPs) - 의 조직 또는 조직 단위(OU)에 대한 최대 권한을 지정하는 JSON 정책SCPs입니다 AWS Organizations. AWS Organizations 는 비즈니스가 소유 AWS 계정 한 여러 을 그룹화하고 중앙에서 관리하기 위한 서비스입니다. 조직의 모든 기능을 활성화하면 서비스 제어 정책(SCPs)을 계정의 일부 또는 전체에 적용할 수 있습니다. 는 각 를 포함하여 멤버 계정의 엔터티에 대한 권한을 SCP 제한합니다 AWS 계정 루트 사용자. 조직 및 에 대한 자세한 내용은 AWS Organizations 사용 설명서의 서비스 제어 정책을 SCPs참조하세요.
-
세션 정책 – 세션 정책은 역할 또는 페더레이션 사용자에 대해 임시 세션을 프로그래밍 방식으로 생성할 때 파라미터로 전달하는 고급 정책입니다. 결과적으로 얻는 세션의 권한은 사용자 또는 역할의 보안 인증 기반 정책의 교차와 세션 정책입니다. 또한 권한을 리소스 기반 정책에서 가져올 수도 있습니다. 이러한 정책 중 하나에 포함된 명시적 거부는 허용을 재정의합니다. 자세한 내용은 IAM 사용 설명서의 세션 정책을 참조하세요.
여러 정책 유형
여러 정책 유형이 요청에 적용되는 경우, 결과 권한은 이해하기가 더 복잡합니다. AWS 에서 여러 정책 유형이 관련될 때 요청을 허용할지 여부를 결정하는 방법을 알아보려면 IAM 사용 설명서의 정책 평가 로직을 참조하세요.
에서 를 AWS Cloud9 사용하는 방법 IAM
IAM 를 사용하여 에 대한 액세스를 관리하기 전에 에서 사용할 수 있는 IAM 기능에 대해 AWS Cloud9알아봅니다 AWS Cloud9.
IAM 기능 | AWS Cloud9 지원 |
---|---|
예 |
|
아니요 |
|
예 |
|
예 |
|
예 |
|
아니요 |
|
예 |
|
예 |
|
예 |
|
예 |
|
예 |
AWS Cloud9 및 기타 AWS 서비스가 대부분의 IAM 기능을 사용하는 방법을 개괄적으로 보려면 IAM 사용 설명서의 에서 AWS 를 사용하는 서비스를 IAM 참조하세요.
에 대한 자격 증명 기반 정책 AWS Cloud9
ID 기반 정책 지원: 예
자격 증명 기반 정책은 IAM 사용자, 사용자 그룹 또는 역할과 같은 자격 증명에 연결할 수 있는 JSON 권한 정책 문서입니다. 이러한 정책은 사용자와 역할이 어떤 리소스와 어떤 조건에서 어떤 작업을 수행할 수 있는지를 제어합니다. 자격 증명 기반 정책을 생성하는 방법을 알아보려면 IAM 사용 설명서의 고객 관리형 정책을 사용하여 사용자 지정 IAM 권한 정의를 참조하세요.
IAM 자격 증명 기반 정책을 사용하면 허용되거나 거부된 작업 및 리소스와 작업이 허용되거나 거부되는 조건을 지정할 수 있습니다. 보안 인증 기반 정책에서는 보안 주체가 연결된 사용자 또는 역할에 적용되므로 보안 주체를 지정할 수 없습니다. JSON 정책에서 사용할 수 있는 모든 요소에 대해 알아보려면 IAM 사용 설명서의 IAM JSON 정책 요소 참조를 참조하세요.
에 대한 자격 증명 기반 정책 예제 AWS Cloud9
AWS Cloud9 자격 증명 기반 정책의 예를 보려면 섹션을 참조하세요AWS Cloud9에 대한 자격 증명 기반 정책 예시.
내 리소스 기반 정책 AWS Cloud9
리소스 기반 정책 지원: 아니요
리소스 기반 정책은 리소스에 연결하는 JSON 정책 문서입니다. 리소스 기반 정책의 예로는 IAM 역할 신뢰 정책 및 Amazon S3 버킷 정책이 있습니다. 리소스 기반 정책을 지원하는 서비스에서 서비스 관리자는 이러한 정책을 사용하여 특정 리소스에 대한 액세스를 통제할 수 있습니다. 정책이 연결된 리소스의 경우 정책은 지정된 보안 주체가 해당 리소스와 어떤 조건에서 어떤 작업을 수행할 수 있는지를 정의합니다. 리소스 기반 정책에서 보안 주체를 지정해야 합니다. 보안 주체에는 계정, 사용자, 역할, 페더레이션 사용자 또는 가 포함될 수 있습니다 AWS 서비스.
교차 계정 액세스를 활성화하려면 리소스 기반 정책의 보안 주체로 전체 계정 또는 다른 계정의 IAM엔터티를 지정할 수 있습니다. 리소스 기반 정책에 크로스 계정 보안 주체를 추가하는 것은 트러스트 관계 설정의 절반밖에 되지 않는다는 것을 유념하십시오. 보안 주체와 리소스가 다른 에 있는 경우 신뢰할 수 AWS 계정있는 계정의 IAM 관리자는 보안 주체 엔터티(사용자 또는 역할)에게 리소스에 액세스할 수 있는 권한도 부여해야 합니다. 엔터티에 ID 기반 정책을 연결하여 권한을 부여합니다. 하지만 리소스 기반 정책이 동일 계정의 보안 주체에 액세스를 부여하는 경우, 추가 자격 증명 기반 정책이 필요하지 않습니다. 자세한 내용은 IAM 사용 설명서의 에서 크로스 계정 리소스 액세스를 IAM 참조하세요.
AWS Cloud9 는 리소스 기반 정책을 지원하지 않지만 및 를 통해 AWS Cloud9 환경 구성원에 AWS Cloud9 API 대한 AWS Cloud9 환경 리소스 권한을 제어할 수 있습니다 AWS Cloud9 IDE.
에 대한 정책 작업 AWS Cloud9
정책 작업 지원: 예
관리자는 정책을 사용하여 AWS JSON 대상에 액세스할 수 있는 사용자를 지정할 수 있습니다. 즉, 어떤 보안 주체가 어떤 리소스와 어떤 조건에서 작업을 수행할 수 있는지를 지정할 수 있습니다.
JSON 정책의 Action
요소는 정책에서 액세스를 허용하거나 거부하는 데 사용할 수 있는 작업을 설명합니다. 정책 작업은 일반적으로 연결된 AWS API 작업과 이름이 동일합니다. 일치하는 API 작업이 없는 권한 전용 작업과 같은 몇 가지 예외가 있습니다. 정책에서 여러 작업이 필요한 몇 가지 작업도 있습니다. 이러한 추가 작업을 일컬어 종속 작업이라고 합니다.
연결된 작업을 수행할 수 있는 권한을 부여하기 위한 정책에 작업을 포함하십시오.
AWS Cloud9 작업 목록을 보려면 서비스 승인 참조의 에서 정의한 작업을 AWS Cloud9 참조하세요.
의 정책 작업은 작업 앞에 다음 접두사를 AWS Cloud9 사용합니다.
account
단일 문에서 여러 작업을 지정하려면 다음과 같이 쉼표로 구분합니다.
"Action": [ "account:
action1
", "account:action2
" ]
AWS Cloud9 자격 증명 기반 정책의 예를 보려면 섹션을 참조하세요AWS Cloud9에 대한 자격 증명 기반 정책 예시.
에 대한 정책 리소스 AWS Cloud9
정책 리소스 지원: 예
관리자는 정책을 사용하여 AWS JSON 대상에 액세스할 수 있는 사용자를 지정할 수 있습니다. 즉, 어떤 보안 주체가 어떤 리소스와 어떤 조건에서 작업을 수행할 수 있는지를 지정할 수 있습니다.
Resource
JSON 정책 요소는 작업이 적용되는 객체를 지정합니다. 문장에는 Resource
또는 NotResource
요소가 반드시 추가되어야 합니다. 가장 좋은 방법은 Amazon 리소스 이름(ARN)을 사용하여 리소스를 지정하는 것입니다. 리소스 수준 권한이라고 하는 특정 리소스 유형을 지원하는 작업에 대해 이 태스크를 수행할 수 있습니다.
작업 나열과 같이 리소스 수준 권한을 지원하지 않는 작업의 경우, 와일드카드(*)를 사용하여 해당 문이 모든 리소스에 적용됨을 나타냅니다.
"Resource": "*"
AWS Cloud9 리소스 유형 및 해당 의 목록을 보려면 서비스 승인 참조의 에서 정의한 리소스를 AWS Cloud9 ARNs참조하세요. 각 리소스ARN의 를 지정할 수 있는 작업을 알아보려면 에서 정의한 작업을 AWS Cloud9 참조하세요.
AWS Cloud9 자격 증명 기반 정책의 예를 보려면 섹션을 참조하세요AWS Cloud9에 대한 자격 증명 기반 정책 예시.
에 대한 정책 조건 키 AWS Cloud9
서비스별 정책 조건 키 지원: 예
관리자는 정책을 사용하여 AWS JSON 대상에 액세스할 수 있는 사용자를 지정할 수 있습니다. 즉, 어떤 보안 주체가 어떤 리소스와 어떤 조건에서 작업을 수행할 수 있는지를 지정할 수 있습니다.
Condition
요소(또는 Condition
블록)를 사용하면 정책이 발효되는 조건을 지정할 수 있습니다. Condition
요소는 옵션입니다. 같거나 작음과 같은 조건 연산자를 사용하여 정책의 조건을 요청의 값과 일치시키는 조건식을 생성할 수 있습니다.
한 문에서 여러 Condition
요소를 지정하거나 단일 Condition
요소에서 여러 키를 지정하는 경우, AWS 는 논리적 AND
태스크를 사용하여 평가합니다. 단일 조건 키에 여러 값을 지정하는 경우 는 논리적 OR
작업을 사용하여 조건을 AWS 평가합니다. 명문의 권한을 부여하기 전에 모든 조건을 충족해야 합니다.
조건을 지정할 때 자리 표시자 변수를 사용할 수도 있습니다. 예를 들어 IAM 리소스에 사용자 IAM 이름으로 태그가 지정된 경우에만 사용자에게 리소스에 액세스할 수 있는 권한을 부여할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 IAM 정책 요소: 변수 및 태그를 참조하세요.
AWS 는 전역 조건 키 및 서비스별 조건 키를 지원합니다. 모든 AWS 전역 조건 키를 보려면 IAM 사용 설명서의 AWS 전역 조건 컨텍스트 키를 참조하세요.
AWS Cloud9 조건 키 목록을 보려면 서비스 권한 부여 참조의 에 대한 조건 키를 AWS Cloud9 참조하세요. 조건 키를 사용할 수 있는 작업 및 리소스를 알아보려면 에서 정의한 작업을 AWS Cloud9 참조하세요.
AWS Cloud9 자격 증명 기반 정책의 예를 보려면 섹션을 참조하세요AWS Cloud9에 대한 자격 증명 기반 정책 예시.
ACLs 의 AWS Cloud9
지원 ACLs: 아니요
액세스 제어 목록(ACLs)은 리소스에 액세스할 수 있는 권한이 있는 보안 주체(계정 멤버, 사용자 또는 역할)를 제어합니다. ACLs 는 리소스 기반 정책과 유사하지만 JSON 정책 문서 형식을 사용하지는 않습니다.
ABAC 와 함께 AWS Cloud9
지원ABAC(정책의 태그): 예
속성 기반 액세스 제어(ABAC)는 속성을 기반으로 권한을 정의하는 권한 부여 전략입니다. 에서는 AWS이러한 속성을 태그 라고 합니다. IAM 엔터티(사용자 또는 역할) 및 여러 AWS 리소스에 태그를 연결할 수 있습니다. 엔터티 및 리소스에 태그를 지정하는 것은 의 첫 번째 단계입니다ABAC. 그런 다음 보안 주체의 태그가 액세스하려는 리소스의 태그와 일치할 때 작업을 허용하는 ABAC 정책을 설계합니다.
ABAC 는 빠르게 성장하는 환경에서 유용하며 정책 관리가 번거로워지는 상황에 도움이 됩니다.
태그에 근거하여 액세스를 제어하려면 aws:ResourceTag/
, key-name
aws:RequestTag/
또는 key-name
aws:TagKeys
조건 키를 사용하여 정책의 조건 요소에 태그 정보를 제공합니다.
서비스가 모든 리소스 유형에 대해 세 가지 조건 키를 모두 지원하는 경우, 값은 서비스에 대해 예입니다. 서비스가 일부 리소스 유형에 대해서만 세 가지 조건 키를 모두 지원하는 경우, 값은 부분적입니다.
에 대한 자세한 내용은 IAM 사용 설명서의 ABAC 권한 부여를 사용하여 권한 정의를 ABAC참조하세요. 설정 단계가 포함된 자습서를 보려면 IAM 사용 설명서의 속성 기반 액세스 제어 사용(ABAC)을 ABAC참조하세요.
에서 임시 자격 증명 사용 AWS Cloud9
임시 자격 증명 지원: 예
임시 자격 증명을 사용하여 로그인할 때 작동하지 AWS 서비스 않는 경우도 있습니다. 임시 자격 증명으로 AWS 서비스 작업하는 경우를 비롯한 자세한 내용은 IAM 사용 설명서의 AWS 서비스 에서 작업하는 IAM 섹션을 참조하세요.
사용자 이름 및 암호를 제외한 방법을 AWS Management Console 사용하여 에 로그인하는 경우 임시 자격 증명을 사용합니다. 예를 들어 회사의 Single Sign-On(SSO) 링크를 AWS 사용하여 에 액세스하면 해당 프로세스가 임시 자격 증명을 자동으로 생성합니다. 또한 콘솔에 사용자로 로그인한 다음 역할을 전환할 때 임시 보안 인증을 자동으로 생성합니다. 역할 전환에 대한 자세한 내용은 IAM 사용 설명서의 사용자에서 IAM 역할(콘솔)로 전환을 참조하세요.
AWS CLI 또는 를 사용하여 임시 자격 증명을 수동으로 생성할 수 있습니다 AWS API. 그런 다음 이러한 임시 자격 증명을 사용하여 장기 액세스 키를 사용하는 대신 임시 자격 증명을 동적으로 생성하는 AWS. AWS recommends에 액세스할 수 있습니다. 자세한 내용은 의 임시 보안 자격 증명을 IAM참조하세요.
에 대한 액세스 세션 전달 AWS Cloud9
전달 액세스 세션 지원(FAS): 예
IAM 사용자 또는 역할을 사용하여 에서 작업을 수행하는 경우 보안 주체로 AWS간주됩니다. 일부 서비스를 사용하는 경우 다른 서비스에서 다른 작업을 시작하는 작업을 수행할 수 있습니다. FAS 는 를 호출하는 보안 주체의 권한을 다운스트림 서비스에 AWS 서비스 대한 요청과 AWS 서비스함께 사용합니다. FAS 요청은 서비스가 다른 AWS 서비스 또는 리소스와의 상호 작용을 완료해야 하는 요청을 수신할 때만 수행됩니다. 이 경우 두 작업을 모두 수행할 수 있는 권한이 있어야 합니다. FAS 요청 시 정책 세부 정보는 액세스 세션 전달을 참조하세요.
AWS Cloud9의 서비스 역할
서비스 역할 지원: 예
서비스 역할은 서비스가 사용자를 대신하여 작업을 수행하기 위해 수임하는 IAM 역할입니다. IAM 관리자는 내에서 서비스 역할을 생성, 수정 및 삭제할 수 있습니다IAM. 자세한 내용은 IAM 사용 설명서의 에 권한을 위임할 역할 생성을 AWS 서비스 참조하세요.
주의
서비스 역할에 대한 권한을 변경하면 AWS Cloud9 기능이 중단될 수 있습니다. 에서 지침을 AWS Cloud9 제공하는 경우에만 서비스 역할을 편집합니다.
에 대한 서비스 연결 역할 AWS Cloud9
서비스 링크 역할 지원: 예
서비스 연결 역할은 에 연결된 서비스 역할의 한 유형입니다 AWS 서비스. 서비스는 사용자를 대신하여 작업을 수행하기 위해 역할을 수임할 수 있습니다. 서비스 연결 역할은 에 표시 AWS 계정 되며 서비스가 소유합니다. IAM 관리자는 서비스 연결 역할에 대한 권한을 볼 수 있지만 편집할 수는 없습니다.
서비스 연결 역할 생성 또는 관리에 대한 자세한 내용은 AWS 에서 작동하는 서비스를 참조하세요IAM. 서비스 연결 역할 열에서 Yes
(이)가 포함된 서비스를 테이블에서 찾습니다. 해당 서비스에 대한 서비스 연결 역할 설명서를 보려면 Yes(네) 링크를 선택합니다.
AWS Cloud9에 대한 자격 증명 기반 정책 예시
기본적으로 사용자 및 역할에는 AWS Cloud9 리소스를 생성하거나 수정할 수 있는 권한이 없습니다. 또한 AWS Management Console, AWS Command Line Interface (AWS CLI) 또는 를 사용하여 작업을 수행할 수 없습니다 AWS API. 사용자에게 필요한 리소스에 대한 작업을 수행할 수 있는 권한을 부여하기 위해 IAM 관리자는 IAM 정책을 생성할 수 있습니다. 그런 다음 관리자는 IAM 정책을 역할에 추가하고 사용자는 역할을 수임할 수 있습니다.
이러한 예제 정책 문서를 사용하여 IAM 자격 증명 기반 JSON 정책을 생성하는 방법을 알아보려면 IAM 사용 설명서의 IAM 정책 생성(콘솔)을 참조하세요.
각 리소스 유형에 대한 의 형식을 포함하여 AWS Cloud9에서 정의한 작업 및 리소스 유형에 ARNs 대한 자세한 내용은 서비스 승인 참조의 에 대한 작업, 리소스 및 조건 키를 AWS Cloud9 참조하세요.
정책 모범 사례
자격 증명 기반 정책은 계정에서 AWS Cloud9 리소스를 생성, 액세스 또는 삭제할 수 있는지 여부를 결정합니다. 이 작업으로 인해 AWS 계정에 비용이 발생할 수 있습니다. ID 기반 정책을 생성하거나 편집할 때는 다음 지침과 권장 사항을 따릅니다.
-
AWS 관리형 정책을 시작하고 최소 권한 권한으로 전환 - 사용자 및 워크로드에 권한 부여를 시작하려면 많은 일반적인 사용 사례에 대한 권한을 부여하는 AWS 관리형 정책을 사용합니다. 에서 사용할 수 있습니다 AWS 계정. 사용 사례에 맞는 AWS 고객 관리형 정책을 정의하여 권한을 추가로 줄이는 것이 좋습니다. 자세한 내용은 IAM 사용 설명서의 관리AWS 형 정책 또는 AWS 작업 함수에 대한 관리형 정책을 참조하세요.
-
최소 권한 적용 - IAM 정책으로 권한을 설정할 때 작업을 수행하는 데 필요한 권한만 부여합니다. 이렇게 하려면 최소 권한으로 알려진 특정 조건에서 특정 리소스에 대해 수행할 수 있는 작업을 정의합니다. 를 사용하여 권한을 적용하는 IAM 방법에 대한 자세한 내용은 IAM 사용 설명서의 에서 정책 및 권한을 IAM 참조하세요.
-
IAM 정책의 조건을 사용하여 액세스를 추가로 제한 - 정책에 조건을 추가하여 작업 및 리소스에 대한 액세스를 제한할 수 있습니다. 예를 들어 정책 조건을 작성하여 를 사용하여 모든 요청을 전송하도록 지정할 수 있습니다SSL. AWS 서비스와 같은 특정 를 통해 서비스 작업을 사용하는 경우 조건을 사용하여 서비스 작업에 대한 액세스 권한을 부여할 수도 있습니다 AWS CloudFormation. 자세한 내용은 IAM 사용 설명서의 IAM JSON 정책 요소: 조건을 참조하세요.
-
IAM Access Analyzer를 사용하여 IAM 정책을 검증하여 안전하고 기능적인 권한을 보장합니다. IAM Access Analyzer는 정책이 정책 언어(JSON) 및 IAM 모범 사례를 준수하도록 새 정책 및 기존 IAM 정책을 검증합니다. IAM Access Analyzer는 안전하고 기능적인 정책을 작성하는 데 도움이 되는 100개 이상의 정책 확인 및 실행 가능한 권장 사항을 제공합니다. 자세한 내용은 IAM 사용 설명서의 IAM Access Analyzer를 사용한 정책 검증을 참조하세요.
-
다중 인증 필요(MFA) - 에 IAM 사용자 또는 루트 사용자가 필요한 시나리오가 있는 경우 추가 보안을 MFA 위해 를 AWS 계정켭니다. API 작업을 호출할 MFA 때 를 요구하려면 정책에 MFA 조건을 추가합니다. 자세한 내용은 IAM 사용 설명서의 를 사용한 보안 API 액세스를 MFA 참조하세요.
의 모범 사례에 대한 자세한 내용은 IAM 사용 설명서의 의 보안 모범 사례를 IAM IAM참조하세요.
AWS Cloud9 콘솔 사용
AWS Cloud9 콘솔에 액세스하려면 최소 권한 집합이 있어야 합니다. 이러한 권한을 통해 의 AWS Cloud9 리소스에 대한 세부 정보를 나열하고 볼 수 있어야 합니다 AWS 계정. 최소 필수 권한보다 더 제한적인 자격 증명 기반 정책을 만들면 콘솔이 해당 정책에 연결된 엔터티(사용자 또는 역할)에 대해 의도대로 작동하지 않습니다.
AWS CLI 또는 에만 전화를 거는 사용자에 대해 최소 콘솔 권한을 허용할 필요는 없습니다 AWS API. 대신 수행하려는 API 작업과 일치하는 작업에만 액세스할 수 있도록 허용합니다.
사용자와 역할이 AWS Cloud9 콘솔을 계속 사용할 수 있도록 하려면 AWS Cloud9
또는 ConsoleAccess
AWS 관리형 정책도 엔터티에 연결합니다. 자세한 내용은 IAM 사용 설명서의 사용자에게 권한 추가를 참조하세요.ReadOnly
사용자가 자신의 고유한 권한을 볼 수 있도록 허용
이 예제에서는 IAM 사용자가 사용자 ID에 연결된 인라인 및 관리형 정책을 볼 수 있도록 허용하는 정책을 생성하는 방법을 보여줍니다. 이 정책에는 콘솔에서 또는 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": "*" } ] }
AWS Cloud9 자격 증명 및 액세스 문제 해결
다음 정보를 사용하여 AWS Cloud9 및 작업 시 발생할 수 있는 일반적인 문제를 진단하고 해결할 수 있습니다IAM.
주제
에서 작업을 수행할 권한이 없습니다. AWS Cloud9
작업을 수행할 수 있는 권한이 없다는 오류가 수신되면 작업을 수행할 수 있도록 정책을 업데이트해야 합니다.
다음 예제 오류는 mateojackson
IAM 사용자가 콘솔을 사용하여 가상
리소스에 대한 세부 정보를 보려고 하지만 가상 my-example-widget
awes:
권한이 없는 경우에 발생합니다.GetWidget
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: awes:GetWidget
on resource:my-example-widget
이 경우 awes:
작업을 사용하여 GetWidget
리소스에 액세스할 수 있도록 my-example-widget
mateojackson
사용자 정책을 업데이트해야 합니다.
도움이 필요한 경우 AWS 관리자에게 문의하세요. 관리자는 로그인 자격 증명을 제공한 사람입니다.
iam을 수행할 권한이 없습니다.PassRole
iam:PassRole
작업을 수행할 수 있는 권한이 없다는 오류가 수신되면 AWS Cloud9에 역할을 전달할 수 있도록 정책을 업데이트해야 합니다.
일부는 새 서비스 역할 또는 서비스 연결 역할을 생성하는 대신 기존 역할을 해당 서비스에 전달할 수 있도록 AWS 서비스 허용합니다. 이렇게 하려면 사용자가 서비스에 역할을 전달할 수 있는 권한을 가지고 있어야 합니다.
다음 예제 오류는 이름이 인 IAM 사용자가 콘솔을 사용하여 에서 작업을 수행하려고 marymajor
할 때 발생합니다 AWS Cloud9. 하지만 작업을 수행하려면 서비스 역할이 부여한 권한이 서비스에 있어야 합니다. Mary는 서비스에 역할을 전달할 수 있는 권한을 가지고 있지 않습니다.
User: arn:aws:iam::123456789012:user/
marymajor
is not authorized to perform: iam:PassRole
이 경우, Mary가 iam:PassRole
작업을 수행할 수 있도록 Mary의 정책을 업데이트해야 합니다.
도움이 필요한 경우 AWS 관리자에게 문의하세요. 관리자는 로그인 자격 증명을 제공한 사람입니다.
내 외부의 사람이 내 AWS Cloud9 리소스에 액세스 AWS 계정 하도록 허용하고 싶습니다.
다른 계정의 사용자 또는 조직 외부의 사람이 리소스에 액세스할 때 사용할 수 있는 역할을 생성할 수 있습니다. 역할을 수임할 신뢰할 수 있는 사람을 지정할 수 있습니다. 리소스 기반 정책 또는 액세스 제어 목록(ACLs)을 지원하는 서비스의 경우 이러한 정책을 사용하여 사용자에게 리소스에 대한 액세스 권한을 부여할 수 있습니다.
자세히 알아보려면 다음을 참조하세요.
-
에서 이러한 기능을 AWS Cloud9 지원하는지 알아보려면 섹션을 참조하세요에서 를 AWS Cloud9 사용하는 방법 IAM.
-
소유 AWS 계정 한 의 리소스에 대한 액세스 권한을 제공하는 방법을 알아보려면 IAM 사용 설명서의 소유 AWS 계정 한 다른 의 IAM 사용자에게 액세스 권한 제공을 참조하세요.
-
타사에 리소스에 대한 액세스 권한을 제공하는 방법을 알아보려면 IAM 사용 설명서의 타사 AWS 계정 소유 에 대한 액세스 권한 제공을 AWS 계정참조하세요.
-
자격 증명 페더레이션을 통해 액세스를 제공하는 방법을 알아보려면 IAM 사용 설명서의 외부 인증 사용자(자격 증명 페더레이션)에 대한 액세스 제공을 참조하세요.
-
교차 계정 액세스를 위한 역할 및 리소스 기반 정책 사용의 차이점을 알아보려면 IAM 사용 설명서의 에서 교차 계정 리소스 액세스를 IAM 참조하세요.
AWS Cloud9 가 IAM 리소스 및 작업을 사용하는 방법
AWS Identity and Access Management 는 AWS Cloud9 개발 환경과 기타 AWS 서비스 및 리소스 모두에서 작업할 수 있는 권한을 관리하는 데 사용됩니다.
AWS Cloud9 리소스 및 작업
에서 AWS Cloud9기본 리소스는 AWS Cloud9 개발 환경입니다. 정책에서 Amazon 리소스 이름(ARN)을 사용하여 정책이 적용되는 리소스를 식별합니다. 다음 표에는 환경 가 나열되어 있습니다ARNs. 자세한 내용은 의 Amazon 리소스 이름(ARNs) 및 AWS 서비스 네임스페이스를 참조하세요Amazon Web Services 일반 참조.
리소스 유형 | ARN 형식 |
---|---|
환경 |
|
지정한 AWS 리전에서 지정한 계정이 소유한 모든 환경 |
|
지정한 리전 내에 지정된 계정이 소유한 모든 환경 |
|
계정 및 리전에 관계없이 모든 AWS Cloud9 리소스 |
|
예를 들어 다음과 같이 Amazon 리소스 이름(ARN)을 사용하여 명령문에 특정 환경을 표시할 수 있습니다.
"Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:70d899206236474f9590d93b7c41dfEX"
모든 리소스를 지정하려면 Resource
요소에 와일드카드 문자(*
)를 사용합니다.
"Resource": "*"
단일 문에서 여러 리소스를 지정하려면 Amazon 리소스 이름(ARNs)을 쉼표로 구분합니다.
"Resource": [ "arn:aws:cloud9:us-east-2:123456789012:environment:70d899206236474f9590d93b7c41dfEX", "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" ]
AWS Cloud9 는 AWS Cloud9 리소스로 작업하는 일련의 작업을 제공합니다. 목록은 단원을 참조하세요AWS Cloud9 권한 참조
리소스 소유권 이해
AWS 계정 계정은 누가 리소스를 생성했는지에 관계없이 계정에서 생성된 리소스를 소유합니다.
다음 사용 사례 및 시나리오를 고려합니다.
-
의 루트 계정 자격 증명을 사용하여 AWS Cloud9 개발 환경을 AWS 계정 생성한다고 가정해 보겠습니다. 이것은 가능하긴 하지만 권장되지는 않습니다. 이 경우 AWS 계정 는 환경의 소유자입니다.
-
에서 IAM 사용자를 생성하고 해당 사용자에게 환경을 생성할 수 있는 권한을 AWS 계정 부여한다고 가정해 보겠습니다. 그러면 사용자가 환경을 생성할 수 있습니다. 그러나 사용자가 속한 AWS 계정는 여전히 환경을 소유합니다.
-
환경을 생성할 수 있는 권한이 AWS 계정 있는 IAM 역할을 에 생성한다고 가정해 보겠습니다. 그러면 이 역할을 수임할 수 있는 자는 누구나 환경을 생성할 수 있습니다. 이 역할이 속한 AWS 계정가 환경을 소유합니다.
참고
하나 이상의 AWS Cloud9 환경 ARN 소유자인 사용자 계정을 삭제하면 이러한 환경에는 소유자가 없습니다. 이 시나리오의 해결 방법은 AWS Cloud9 SDK를 사용하여 CreateEnvironmentMembership
작업 및 EnvironmentMember
데이터 유형을 사용하여 읽기 및 쓰기 권한이 있는 다른 IAM 사용자를 추가하는 것입니다. 이 IAM 사용자를 추가한 후에는 환경 파일을 새 AWS Cloud9 환경에 복사하고 이 소유자를 ARN 소유자로 지정할 수 있습니다. 이 작업에 대한 자세한 내용은 섹션을 참조하고CreateEnvironmentMembership, 이 데이터 유형에 대한 자세한 내용은 참조 가이드EnvironmentMember의 섹션을 참조하세요. AWS Cloud9 API
리소스 액세스 관리
권한 정책은 누가 어떤 리소스에 액세스 할 수 있는지를 나타냅니다.
참고
이 섹션에서는 의 사용에 IAM 대해 설명합니다 AWS Cloud9. IAM 서비스에 대한 자세한 정보는 제공하지 않습니다. 전체 IAM 설명서는 IAM 사용 설명서의 IAM?란 무엇입니까?를 참조하세요. IAM 정책 구문 및 설명에 대한 자세한 내용은 IAM 사용 설명서의 IAM JSON 정책 참조를 참조하세요.
IAM 자격 증명에 연결된 정책을 자격 증명 기반 정책(또는 IAM 정책)이라고 합니다. 리소스에 연결된 정책을 리소스 기반 정책이라고 합니다. 는 자격 증명 기반 정책 및 리소스 기반 정책을 모두 AWS Cloud9 지원합니다.
다음 각 API 작업에는 이러한 API 작업을 호출하려는 IAM 자격 증명에 IAM 정책을 연결하기만 하면 됩니다.
-
CreateEnvironmentEC2
-
DescribeEnvironments
다음 API 작업에는 리소스 기반 정책이 필요합니다. IAM 정책은 필요하지 않지만 이러한 API 작업을 호출하려는 IAM 자격 증명에 연결된 경우 IAM 정책을 AWS Cloud9 사용합니다. 리소스 기반 정책을 원하는 AWS Cloud9 리소스에 적용해야 합니다.
-
CreateEnvironmentMembership
-
DeleteEnvironment
-
DeleteEnvironmentMembership
-
DescribeEnvironmentMemberships
-
DescribeEnvironmentStatus
-
UpdateEnvironment
-
UpdateEnvironmentMembership
이러한 각 API 작업이 수행하는 작업에 대한 자세한 내용은 AWS Cloud9 API 참조를 참조하세요.
리소스 기반 정책은 AWS Cloud9 리소스에 직접 연결할 수 없습니다. 대신 는 환경 구성원을 추가, 수정, 업데이트 또는 삭제할 때 리소스에 적절한 AWS Cloud9 리소스 기반 정책을 AWS Cloud9 연결합니다.
사용자에게 AWS Cloud9 리소스에 대한 작업을 수행할 수 있는 권한을 부여하려면 사용자가 속한 IAM 그룹에 권한 정책을 연결합니다. 가능하면 AWS Cloud9 항상 에 대한 AWS 관리형(미리 정의된) 정책을 연결하는 것이 좋습니다. AWS 관리형 정책에는 환경, 환경 사용자 및 환경에 대한 읽기 전용 액세스 권한만 있는 사용자의 전체 관리와 같은 일반적인 사용 시나리오 및 사용자 유형에 대한 사전 정의된 액세스 권한 세트가 포함되어 있습니다. 에 대한 AWS 관리형 정책 목록은 섹션을 AWS Cloud9참조하세요AWS 에 대한 관리형 정책 AWS Cloud9.
세부적인 사용 시나리오와 고유의 사용자 유형이 필요한 경우 고유의 고객 관리형 정책을 생성하여 연결할 수 있습니다. 에 대한 추가 설정 옵션 AWS Cloud9 및 에 대한 고객 관리형 정책 생성 AWS Cloud9 단원을 참조하세요.
IAM 정책(AWS 관리형 또는 고객 관리형)을 IAM 자격 증명에 연결하려면 IAM 사용 설명서의 IAM 정책 연결(콘솔)을 참조하세요.
API 작업에 대한 세션 권한
AWS CLI 또는 AWS API 를 사용하여 역할 또는 페더레이션 사용자에 대한 임시 세션을 프로그래밍 방식으로 생성할 때 세션 정책을 파라미터로 전달하여 역할 세션의 범위를 확장할 수 있습니다. 즉, 세션의 실질적인 권한은 사용자 또는 역할의 자격 증명 기반 정책의 교집합과 세션 정책입니다.
세션 중에 리소스에 액세스하라는 요청이 전달될 때 세션 정책에 적용 가능한 Deny
문이 없는데 적용 가능한 Allow
문도 없는 경우 정책 평가의 결과는 묵시적 거부입니다. (자세한 내용은 IAM 사용 설명서의 계정 내에서 요청이 허용되는지 또는 거부되는지 판단을 참조하세요.)
그러나 리소스 기반 정책(위 참조)이 필요한 작업의 경우 AWS Cloud9 API 리소스 정책Principal
에서 로 지정된 경우 호출하는 IAM엔터티에 권한이 부여됩니다. 이 명시적 권한은 세션 정책의 암시적 거부보다 우선하므로 세션이 작업을 성공적으로 호출 AWS Cloud9 API할 수 있습니다.
AWS 에 대한 관리형 정책 AWS Cloud9
AWS 관리형 정책은 에서 생성하고 관리하는 독립 실행형 정책입니다 AWS. AWS 관리형 정책은 사용자, 그룹 및 역할에 권한 할당을 시작할 수 있도록 많은 일반적인 사용 사례에 대한 권한을 제공하도록 설계되었습니다.
AWS 관리형 정책은 모든 AWS 고객이 사용할 수 있으므로 특정 사용 사례에 대해 최소 권한 권한을 부여하지 않을 수 있다는 점에 유의하세요. 사용 사례에 고유한 고객 관리형 정책을 정의하여 권한을 줄이는 것이 좋습니다.
AWS 관리형 정책에 정의된 권한은 변경할 수 없습니다. 가 AWS 관리형 정책에 정의된 권한을 AWS 업데이트하면 정책이 연결된 모든 보안 주체 자격 증명(사용자, 그룹 및 역할)에 영향을 미칩니다. AWS 는 새 AWS 서비스 가 시작되거나 기존 서비스에 새 API 작업을 사용할 수 있게 되면 AWS 관리형 정책을 업데이트할 가능성이 높습니다.
자세한 내용은 IAM 사용 설명서의 AWS 관리형 정책을 참조하세요.
AWS 관리형 정책: AWSCloud9Administrator
AWSCloud9Administrator
정책을 IAM 자격 증명에 연결할 수 있습니다.
이 정책은 administrative
에 대한 관리자 액세스를 제공하는 권한 AWS Cloud9.
권한 세부 정보
이 정책에는 다음 권한이 포함되어 있습니다.
-
AWS Cloud9 - 의 모든 AWS Cloud9 작업입니다 AWS 계정.
-
Amazon EC2 - 에서 여러 Amazon VPC 및 서브넷 리소스에 대한 정보를 가져옵니다 AWS 계정.
-
IAM - 의 IAM 사용자에 대한 정보를 얻 AWS 계정고 필요에 AWS 계정 따라 에서 AWS Cloud9 서비스 연결 역할을 생성합니다.
-
Systems Manager - 사용자가 를 호출 StartSession 하여 Session Manager 세션의 인스턴스에 대한 연결을 시작할 수 있습니다. 이 권한은 Systems Manager를 통해 EC2 인스턴스와 통신하는 환경을 여는 사용자에게 필요합니다. 자세한 내용은 를 사용하여 수신되지 않는 EC2 인스턴스 액세스 AWS Systems Manager 단원을 참조하세요.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:*", "iam:GetUser", "iam:ListUsers", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:GetConnectionStatus" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] } ] }
AWS 관리형 정책: AWSCloud9User
AWSCloud9User
정책을 IAM 자격 증명에 연결할 수 있습니다.
이 정책은 user
개발 환경을 생성하고 AWS Cloud9 소유 환경을 관리할 수 있는 권한.
권한 세부 정보
이 정책에는 다음 권한이 포함되어 있습니다.
-
AWS Cloud9 - 환경에 대한 정보를 생성 및 가져오고 환경에 대한 사용자 설정을 가져오고 변경합니다.
-
Amazon EC2 - 에서 여러 Amazon VPC 및 서브넷 리소스에 대한 정보를 가져옵니다 AWS 계정.
-
IAM - 의 IAM 사용자에 대한 정보를 얻 AWS 계정고 필요에 AWS 계정 따라 에서 AWS Cloud9 서비스 연결 역할을 생성합니다.
-
Systems Manager - 사용자가 를 호출 StartSession 하여 Session Manager 세션의 인스턴스에 대한 연결을 시작할 수 있습니다. 이 권한은 Systems Manager를 통해 EC2 인스턴스와 통신하는 환경을 여는 사용자에게 필요합니다. 자세한 내용은 를 사용하여 수신되지 않는 EC2 인스턴스 액세스 AWS Systems Manager 단원을 참조하세요.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:UpdateUserSettings", "cloud9:GetUserSettings", "iam:GetUser", "iam:ListUsers", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentEC2", "cloud9:CreateEnvironmentSSH" ], "Resource": "*", "Condition": { "Null": { "cloud9:OwnerArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:GetUserPublicKey" ], "Resource": "*", "Condition": { "Null": { "cloud9:UserArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:DescribeEnvironmentMemberships" ], "Resource": [ "*" ], "Condition": { "Null": { "cloud9:UserArn": "true", "cloud9:EnvironmentId": "true" } } }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:GetConnectionStatus" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] } ] }
AWS 관리형 정책: AWSCloud9EnvironmentMember
AWSCloud9EnvironmentMember
정책을 IAM 자격 증명에 연결할 수 있습니다.
이 정책은 membership
AWS Cloud9 공유 환경에 참여할 수 있는 권한을 제공합니다.
권한 세부 정보
이 정책에는 다음 권한이 포함되어 있습니다.
-
AWS Cloud9 - 환경에 대한 정보를 얻고 환경에 대한 사용자 설정을 가져오고 변경합니다.
-
IAM - 의 IAM 사용자에 대한 정보를 얻 AWS 계정고 필요에 AWS 계정 따라 에서 AWS Cloud9 서비스 연결 역할을 생성합니다.
-
Systems Manager - 사용자가 를 호출 StartSession 하여 Session Manager 세션의 인스턴스에 대한 연결을 시작할 수 있습니다. 이 권한은 Systems Manager를 통해 EC2 인스턴스와 통신하는 환경을 여는 사용자에게 필요합니다. 자세한 내용은 를 사용하여 수신되지 않는 EC2 인스턴스 액세스 AWS Systems Manager 단원을 참조하세요.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:GetUserSettings", "cloud9:UpdateUserSettings", "iam:GetUser", "iam:ListUsers" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloud9:DescribeEnvironmentMemberships" ], "Resource": [ "*" ], "Condition": { "Null": { "cloud9:UserArn": "true", "cloud9:EnvironmentId": "true" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:GetConnectionStatus" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] } ] }
AWS 관리형 정책: AWSCloud9ServiceRolePolicy
서비스 연결 역할은 이 정책을 AWSServiceRoleForAWSCloud9 사용하여 AWS Cloud9 환경이 Amazon EC2 및 AWS CloudFormation 리소스와 상호 작용하도록 허용합니다.
권한 세부 정보
는 가 개발 환경을 생성하고 실행하는 데 필요한 AWS 서비스 (Amazon EC2 및 AWS CloudFormation)와 AWS Cloud9 상호 작용하도록 허용하는 데 필요한 권한을 AWSServiceRoleForAWSCloud9에 AWSCloud9ServiceRolePolicy 부여합니다.
AWS Cloud9 는 서비스 연결 역할의 권한을 정의하며 해당 역할만 수임할 AWS Cloud9 수 있습니다. 정의된 권한에는 신뢰 정책 및 권한 정책이 포함되며 해당 권한 정책은 다른 IAM엔터티에 연결할 수 없습니다.
가 서비스 연결 역할을 AWS Cloud9 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요AWS Cloud9에 서비스 연결 역할 사용.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:CreateSecurityGroup", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "cloudformation:CreateStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResources" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:TerminateInstances", "ec2:DeleteSecurityGroup", "ec2:AuthorizeSecurityGroupIngress" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudformation:DeleteStack" ], "Resource": "arn:aws:cloudformation:*:*:stack/aws-cloud9-*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:security-group/*" ], "Condition": { "StringLike": { "aws:RequestTag/Name": "aws-cloud9-*" } } }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances" ], "Resource": "*", "Condition": { "StringLike": { "ec2:ResourceTag/aws:cloudformation:stack-name": "aws-cloud9-*" } } }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances" ], "Resource": [ "arn:aws:license-manager:*:*:license-configuration:*" ] }, { "Effect": "Allow", "Action": [ "iam:ListInstanceProfiles", "iam:GetInstanceProfile" ], "Resource": [ "arn:aws:iam::*:instance-profile/cloud9/*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole" ], "Condition": { "StringLike": { "iam:PassedToService": "ec2.amazonaws.com" } } } ] }
AWS Cloud9AWS 관리형 정책에 대한 업데이트
이 서비스가 이러한 변경 사항을 추적하기 시작한 AWS Cloud9 이후 에 대한 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다. 이 페이지의 변경 사항에 대한 자동 알림을 받으려면 AWS Cloud9 문서 기록 페이지에서 RSS 피드를 구독하세요.
변경 사항 | 설명 | 날짜 |
---|---|---|
AWSCloud9User, AWSCloud9Administrator 및 AWSCloud9EnvironmentMember 정책에 새 작업이 추가되었습니다. |
|
2023년 10월 12일 |
APIAWSCloud9User 및 AWSCloud9Administrator 정책에 가 추가되었습니다. |
두 개의 새 API가 AWSCloud9User 및 AWSCloud9Administrator 정책에 추가되었습니다. 이 API는 |
2023년 8월 2일 |
로 업데이트 AWSCloud9ServiceRolePolicy |
AWSCloud9ServiceRolePolicy 가 License Manager 라이선스 구성으로 관리되는 Amazon EC2 인스턴스 AWS Cloud9 를 시작하고 중지할 수 있도록 업데이트되었습니다. |
2022년 1월 12일 |
AWS Cloud9 변경 사항 추적 시작 |
AWS Cloud9 는 AWS 관리형 정책에 대한 변경 사항 추적을 시작했습니다. |
2021년 3월 15일 |
에 대한 고객 관리형 정책 생성 AWS Cloud9
AWS 관리형 정책 중 액세스 제어 요구 사항을 충족하는 정책이 없는 경우 자체 고객 관리형 정책을 생성하고 연결할 수 있습니다.
고객 관리형 정책을 생성하려면 IAM 사용 설명서의 IAM 정책 생성(콘솔)을 참조하세요.
정책 요소 지정: 효과, 보안 주체, 작업 및 리소스
각 AWS Cloud9 리소스에 대해 서비스는 API 작업 세트를 정의합니다. 이러한 API 작업에 대한 권한을 부여하려면 는 정책에서 지정할 수 있는 일련의 작업을 AWS Cloud9 정의합니다.
다음은 기본 정책 요소입니다.
-
Effect
- 사용자가 작업을 요청하는 경우 효과(허용 또는 거부)를 지정합니다. 명시적으로 리소스에 대한 액세스 권한을 부여(허용)하지 않는 경우, 액세스는 묵시적으로 거부됩니다. 리소스에 대한 액세스를 명시적으로 거부할 수도 있습니다. 다른 정책에서 액세스 권한을 부여하더라도 사용자가 해당 리소스에 액세스할 수 없도록 하려고 할 때 이러한 작업을 수행할 수 있습니다. -
Principal
– 자격 증명 기반 정책(IAM 정책)에서 정책이 연결된 사용자는 암시적 보안 주체입니다. 리소스 기반 정책의 경우 사용자, 계정, 서비스 또는 권한의 수신자인 기타 엔터티를 지정합니다. -
Resource
- Amazon 리소스 이름(ARN)을 사용하여 정책이 적용되는 리소스를 식별합니다. -
Action
- 작업 키워드를 사용하여 허용 또는 거부할 리소스 작업을 식별합니다. 예를 들어,cloud9:CreateEnvironmentEC2
권한은 사용자에게CreateEnvironmentEC2
작업 수행 권한을 제공합니다.
IAM 정책 구문 및 설명에 대한 자세한 내용은 IAM 사용 설명서의 IAM JSON 정책 참조를 참조하세요.
적용되는 모든 AWS Cloud9 API 작업과 리소스를 보여주는 표는 섹션을 참조하세요AWS Cloud9 권한 참조.
고객 관리형 정책 예
이 단원에서는 AWS Cloud9 작업에 대한 권한을 부여하는 정책의 예를 볼 수 있습니다. 다음 예제 IAM 정책을 조정하여 IAM 자격 증명에 대한 AWS Cloud9 액세스를 허용하거나 명시적으로 거부할 수 있습니다.
고객 관리형 정책을 생성하거나 IAM 자격 증명에 연결하려면 IAM 사용 설명서의 IAM 정책 생성(콘솔) 및 IAM 정책 연결(콘솔)을 참조하세요.
참고
다음 예제에서는 미국 동부(오하이오) 리전(us-east-2
), 가상 AWS 계정 ID(123456789012
) 및 가상 AWS Cloud9 개발 환경 ID()를 사용합니다81e900317347585a0601e04c8d52eaEX
.
주제
환경에 대한 정보 가져오기
IAM 엔터티에 연결된 다음 IAM 정책 설명 예제를 통해 해당 엔터티는 계정의 모든 환경에 대한 정보를 가져올 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DescribeEnvironments", "Resource": "*" } ] }
참고
앞의 액세스 권한은 AWS 관리형 정책 AWSCloud9Administrator
및 에 이미 포함되어 있습니다AWSCloud9User
.
EC2 환경 생성
IAM 엔터티에 연결된 다음 예제 IAM 정책 문을 통해 해당 엔터티는 계정에서 개발 환경을 생성할 AWS Cloud9 EC2 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*" } ] }
참고
앞의 액세스 권한은 AWS 관리형 정책 AWSCloud9Administrator
및 에 이미 포함되어 있습니다AWSCloud9User
.
특정 Amazon EC2 인스턴스 유형이 있는 EC2 환경 생성
IAM 엔터티에 연결된 다음 예제 IAM 정책 문을 통해 해당 엔터티는 계정에서 개발 환경을 생성할 AWS Cloud9 EC2 수 있습니다. 그러나 EC2 환경은 지정된 클래스의 Amazon EC2 인스턴스 유형만 사용할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*", "Condition": { "StringLike": { "cloud9:InstanceType": "t3.*" } } } ] }
참고
AWS 관리형 정책 AWSCloud9Administrator
또는 AWSCloud9User
가 이미 IAM엔터티에 연결되어 있는 AWS 경우 해당 관리형 정책은 이전 IAM 정책 문의 동작을 재정의합니다. 이는 이러한 AWS 관리형 정책이 더 허용적이기 때문입니다.
특정 Amazon VPC 서브넷에서 EC2 환경 생성
IAM 엔터티에 연결된 다음 예제 IAM 정책 문을 통해 해당 엔터티는 계정에서 개발 환경을 생성할 AWS Cloud9 EC2 수 있습니다. 그러나 EC2 환경은 지정된 Amazon VPC 서브넷만 사용할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*", "Condition": { "StringLike": { "cloud9:SubnetId": [ "subnet-12345678", "subnet-23456789" ] } } } ] }
참고
AWS 관리형 정책 AWSCloud9Administrator
또는 AWSCloud9User
가 이미 IAM엔터티에 연결되어 있는 AWS 경우 해당 관리형 정책은 이전 IAM 정책 문의 동작을 재정의합니다. 이는 이러한 AWS 관리형 정책이 더 허용적이기 때문입니다.
특정 EC2 환경 이름으로 환경 생성
IAM 엔터티에 연결된 다음 예제 IAM 정책 문을 사용하면 해당 엔터티가 AWS Cloud9 EC2 계정에서 개발 환경을 생성할 수 있습니다. 그러나 EC2 환경은 지정된 이름만 사용할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*", "Condition": { "StringEquals": { "cloud9:EnvironmentName": "my-demo-environment" } } } ] }
참고
AWS 관리형 정책 AWSCloud9Administrator
또는 AWSCloud9User
가 이미 IAM엔터티에 연결되어 있는 AWS 경우 해당 관리형 정책은 이전 IAM 정책 문의 동작을 재정의합니다. 이는 이러한 AWS 관리형 정책이 더 허용적이기 때문입니다.
SSH 환경만 생성
IAM 엔터티에 연결된 다음 예제 IAM 정책 문을 사용하면 해당 엔터티가 계정에서 개발 환경을 생성할 AWS Cloud9 SSH 수 있습니다. 그러나 엔터티는 개발 환경을 생성할 AWS Cloud9 EC2 수 없습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentSSH", "Resource": "*" }, { "Effect": "Deny", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*" } ] }
환경 업데이트 또는 환경 업데이트 금지
IAM 엔터티에 연결된 다음 예제 IAM 정책 문을 통해 해당 엔터티는 계정의 AWS Cloud9 개발 환경에 대한 정보를 변경할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:UpdateEnvironment", "Resource": "*" } ] }
참고
앞의 액세스 권한은 AWS 관리형 정책 에 이미 포함되어 있습니다AWSCloud9Administrator
.
IAM 엔터티에 연결된 다음 예제 IAM 정책 문은 엔터티가 지정된 Amazon 리소스 이름()으로 환경에 대한 정보를 변경하는 것을 명시적으로 방지합니다ARN.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:UpdateEnvironment", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }
환경 멤버 목록 가져오기
IAM 엔터티에 연결된 다음 예제 IAM 정책 문을 사용하면 해당 엔터티가 계정의 모든 환경에 대한 멤버 목록을 가져올 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DescribeEnvironmentMemberships", "Resource": "*" } ] }
참고
앞의 액세스 권한은 AWS 관리형 정책 에 이미 포함되어 있습니다AWSCloud9Administrator
. 또한 이전 액세스 권한은 AWS 관리형 정책 의 동등한 액세스 권한보다 더 허용적입니다AWSCloud9User
.
특정 사용자만 환경 공유
IAM 엔터티에 연결된 다음 예제 IAM 정책 문을 사용하면 해당 엔터티가 계정의 모든 환경을 지정된 사용자와만 공유할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentMembership" ], "Resource": "*", "Condition": { "StringEquals": { "cloud9:UserArn": "arn:aws:iam::123456789012:user/MyDemoUser" } } } ] }
참고
AWS 관리형 정책 AWSCloud9Administrator
또는 AWSCloud9User
가 이미 IAM엔터티에 연결되어 있는 경우 해당 AWS 관리형 정책은 이전 IAM 정책 문의 동작을 재정의합니다. 이는 이러한 AWS 관리형 정책이 더 허용적이기 때문입니다.
환경 공유 금지
다음 예제 IAM 정책 문은 IAM엔터티에 연결되어 해당 엔터티가 계정의 환경을 공유하는 것을 방지합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloud9:CreateEnvironmentMembership", "cloud9:UpdateEnvironmentMembership" ], "Resource": "*" } ] }
환경 멤버의 설정 변경 또는 변경 금지
IAM 엔터티에 연결된 다음 예제 IAM 정책 문을 통해 해당 엔터티는 계정의 모든 환경에서 멤버의 설정을 변경할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:UpdateEnvironmentMembership", "Resource": "*" } ] }
참고
앞의 액세스 권한은 AWS 관리형 정책 에 이미 포함되어 있습니다AWSCloud9Administrator
.
IAM 엔터티에 연결된 다음 예제 IAM 정책 문은 엔터티가 지정된 Amazon 리소스 이름()으로 환경 내 멤버의 설정을 변경하는 것을 명시적으로 방지합니다ARN.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:UpdateEnvironmentMembership", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }
환경 멤버 제거 또는 제거 금지
IAM 엔터티에 연결된 다음 예제 IAM 정책 문을 사용하면 해당 엔터티가 계정의 모든 환경에서 멤버를 제거할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DeleteEnvironmentMembership", "Resource": "*" } ] }
참고
앞의 액세스 권한은 AWS 관리형 정책 에 이미 포함되어 있습니다AWSCloud9Administrator
.
IAM 엔터티에 연결된 다음 예제 IAM 정책 문은 엔터티가 지정된 Amazon 리소스 이름()을 사용하여 환경에서 멤버를 제거하는 것을 명시적으로 방지합니다ARN.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:DeleteEnvironmentMembership", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }
환경 삭제 또는 삭제 금지
IAM 엔터티에 연결된 다음 예제 IAM 정책 문을 사용하면 해당 엔터티가 계정의 모든 환경을 삭제할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DeleteEnvironment", "Resource": "*" } ] }
참고
앞의 액세스 권한은 AWS 관리형 정책 에 이미 포함되어 있습니다AWSCloud9Administrator
.
IAM 엔터티에 연결된 다음 예제 IAM 정책 문은 해당 엔터티가 지정된 Amazon 리소스 이름()으로 환경을 삭제하지 못하도록 명시적으로 방지합니다ARN.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:DeleteEnvironment", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }
SSM 환경 생성을 위한 사용자 지정 IAM 정책
AWSCloud9Administrator
또는 AWSCloud9User
정책이 연결된 SSM 환경을 생성할 때 현재 권한 문제가 발생합니다. 다음 예제 IAM 정책 문을 IAM엔터티에 연결하면 사용자가 AWS 관리형 정책 또는 AWSCloud9Administrator
를 연결하고 사용할 수 있습니다AWSCloud9User
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:UpdateUserSettings", "cloud9:GetUserSettings", "iam:GetUser", "iam:ListUsers", "iam:ListRoles", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentEC2", "cloud9:CreateEnvironmentSSH" ], "Resource": "*", "Condition": { "Null": { "cloud9:OwnerArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:GetUserPublicKey" ], "Resource": "*", "Condition": { "Null": { "cloud9:UserArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:DescribeEnvironmentMemberships" ], "Resource": [ "*" ], "Condition": { "Null": { "cloud9:UserArn": "true", "cloud9:EnvironmentId": "true" } } }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": "ssm:StartSession", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] }, { "Effect": "Allow", "Action": ["iam:ListInstanceProfilesForRole", "iam:CreateRole"], "Resource": ["arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole"] }, { "Effect": "Allow", "Action": ["iam:AttachRolePolicy"], "Resource": ["arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole"], "Condition": { "StringEquals": { "iam:PolicyARN": "arn:aws:iam::aws:policy/AWSCloud9SSMInstanceProfile" } } }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole", "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:CreateInstanceProfile", "iam:AddRoleToInstanceProfile" ], "Resource": [ "arn:aws:iam::*:instance-profile/cloud9/AWSCloud9SSMInstanceProfile" ] } ] }
AWS Cloud9 권한 참조
AWS Cloud9 정책에서 AWS 넓은 조건 키를 사용하여 조건을 표현할 수 있습니다. 목록은 IAM 사용 설명서의 IAM JSON 정책 요소: 조건을 참조하세요.
정책의 Action
필드에 작업을 지정합니다. 작업을 지정하려면 cloud9:
접두사와 API 작업 이름(예: )을 차례로 사용합니다"Action": "cloud9:DescribeEnvironments"
. 문장 하나에 여러 작업을 지정하려면 쉼표로 구분합니다(예: "Action": [
"cloud9:UpdateEnvironment", "cloud9:DeleteEnvironment" ]
).
와일드카드 문자 사용
와일드카드 문자(*
)ARN가 있거나 없는 를 정책 Resource
필드의 리소스 값으로 지정합니다. 와일드카드를 사용하여 여러 작업 또는 리소스를 지정할 수 있습니다. 예를 들어 는 모든 AWS Cloud9 작업을 cloud9:*
지정하고 로 시작하는 모든 AWS Cloud9 작업을 cloud9:Describe*
지정합니다Describe
.
다음 예제에서는 IAM엔터티가 계정의 모든 환경에 대한 환경 및 환경 멤버십에 대한 정보를 가져올 수 있도록 허용합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:Describe*" ], "Resource": "*" } ] }
참고
앞의 액세스 권한은 AWS 관리형 정책 에 이미 포함되어 있습니다AWSCloud9Administrator
. 또한 이전 액세스 권한이 AWS 관리형 정책 의 동등한 액세스 권한보다 더 허용적입니다AWSCloud9User
.
AWS Cloud9 API 작업에 대한 작업 및 필수 권한
참고
액세스 제어를 설정하고 IAM 자격 증명에 연결할 권한 정책(자격 증명 기반 정책)을 작성할 때 아래 표를 참조로 사용할 수 있습니다.
Public API operations 테이블에는 SDKs 및 를 사용하여 고객이 호출할 수 있는 API 작업이 나열되어 있습니다 AWS Command Line Interface.
에는 고객 코드 또는 로 직접 호출할 수 없는 API 작업이 Permission-only API operations 나열되어 있습니다 AWS Command Line Interface. 하지만 IAM 사용자에게는 콘솔을 사용하여 작업을 수행할 때 AWS Cloud9 호출되는 이러한 작업에 대한 권한이 필요합니다.
AWS Cloud9 작업 | 필수 권한(API 작업) | Resource |
---|---|---|
|
개발 환경을 생성하는 AWS Cloud9 EC2 데 필요합니다. |
|
|
환경에 멤버를 추가하는 데 필요합니다. |
|
|
환경을 삭제하는 데 필요합니다. |
|
|
환경에서 멤버를 제거하는 데 필요합니다. |
|
|
환경에서 멤버 목록을 가져오는 데 필요합니다. |
|
|
환경에 대한 정보를 가져오는 데 필요합니다. |
|
|
환경의 상태에 대한 정보를 가져오는 데 필요합니다. |
|
|
환경에 대한 설정을 업데이트하는 데 필요합니다. |
|
|
환경의 멤버에 대한 설정을 업데이트하는 데 필요합니다. |
|
AWS Cloud9 작업 | 설명 | 콘솔 문서 |
---|---|---|
|
가 연결하는 Amazon EC2 인스턴스 AWS Cloud9 IDE를 시작합니다. |
|
|
개발 환경을 생성합니다 AWS Cloud9 SSH. |
|
|
AWS Cloud9 IDE 와 사용자 환경 간의 연결을 허용하는 인증 토큰을 생성합니다. |
|
|
호스트, 사용자 및 포트를 포함하여 EC2 개발 환경에 대한 연결에 대한 세부 정보를 가져옵니다. |
|
|
호스트, 사용자 및 포트를 포함하여 SSH 개발 환경에 대한 연결에 대한 세부 정보를 가져옵니다. |
|
|
를 초기화하는 데 사용되는 구성 정보를 가져옵니다 AWS Cloud9 IDE. |
|
|
지정된 개발 환경에 대한 설정을 가져옵니다 AWS Cloud9 IDE. |
|
|
지정된 환경 멤버에 AWS Cloud9 IDE 대한 설정을 가져옵니다. |
|
|
에서 SSH 개발 환경에 연결하는 AWS Cloud9 데 사용하는 사용자의 퍼블릭 SSH 키를 가져옵니다. |
|
|
지정된 사용자의 설정을 가져옵니다 AWS Cloud9 IDE. |
|
|
AWS Cloud9 통합 개발 환경()에서 사용하는 Amazon EC2 인스턴스에서 AWS 관리형 임시 보안 인증을 설정합니다IDE. |
|
|
지정된 개발 환경에 대한 설정을 업데이트합니다 AWS Cloud9 IDE. |
|
|
지정된 환경 멤버에 AWS Cloud9 IDE 대한 설정을 업데이트합니다. |
|
|
호스트, 사용자 및 포트를 포함하여 SSH 개발 환경에 대한 연결에 대한 세부 정보를 업데이트합니다. |
|
|
지정된 사용자의 설정을 업데이트합니다 AWS Cloud9 IDE. |
|
|
AWS Cloud9 사용자에게 에서 로 마이그레이션 경험을 가져올 AWS Cloud9 수 있는 권한을 부여합니다 CodeCatalyst. |
AWS 관리형 임시 보안 인증 정보
AWS 관리형 임시 보안 인증이 지원하는 작업 목록을 찾고 있다면 로 건너뛰세요AWS 관리형 임시 보안 인증에서 지원하는 작업. |
개발 환경의 AWS Cloud9 EC2 경우 AWS Cloud9 는 환경에서 임시 AWS 액세스 자격 증명을 사용할 수 있도록 합니다. 이러한 자격 증명을 AWS 관리형 임시 자격 증명이라고 합니다. 이 기능에는 다음과 같은 이점이 있습니다.
-
AWS 엔터티(예: IAM 사용자)의 영구 AWS 액세스 보안 인증 정보를 환경 내 어디에도 저장할 필요가 없습니다. 따라서 사용자가 모르게 승인 없이 환경 멤버가 해당 자격 증명에 액세스할 수 없습니다.
-
환경에 연결하는 Amazon EC2 인스턴스에 인스턴스 프로파일을 수동으로 설정, 관리 또는 연결할 필요가 없습니다. 인스턴스 프로필은 임시 AWS 액세스 자격 증명을 관리하기 위한 또 다른 접근 방식입니다.
-
AWS Cloud9 는 임시 자격 증명을 지속적으로 갱신하므로 제한된 기간 동안만 단일 자격 증명 세트를 사용할 수 있습니다. 이는 AWS 보안 모범 사례입니다. 자세한 내용은 AWS 관리형 임시 보안 인증 생성 및 업데이트 단원을 참조하십시오.
-
AWS Cloud9 는 임시 보안 인증 정보를 사용하여 환경의 AWS 작업 및 리소스에 액세스하는 방법에 대한 추가 제한을 적용합니다. 이는 AWS 보안 모범 사례이기도 합니다.
중요
현재 환경의 EC2 인스턴스가 프라이빗 서브넷 로 시작되는 경우 AWS 관리형 임시 보안 인증 정보를 사용하여 EC2 환경이 AWS 엔터티(예: IAM 사용자)를 대신하여 AWS 서비스에 액세스할 수 없습니다.
프라이빗 서브넷에서 EC2 인스턴스를 시작할 수 있는 시기에 대한 자세한 내용은 섹션을 참조하세요에 대한 서브넷 생성 AWS Cloud9.
참고
AWS 관리형 임시 보안 인증 정보를 사용할 때는 인라인 정책 대신 AWS 관리형 정책을 사용하는 것이 좋습니다.
다음은 EC2 환경이 AWS 엔터티(예: IAM 사용자)를 AWS 서비스 대신하여 에 액세스하려고 할 때마다 AWS 관리형 임시 자격 증명이 작동하는 방법입니다.
-
AWS Cloud9 는 호출 AWS 엔터티(예: IAM 사용자)가 에서 요청된 리소스에 대해 요청된 작업을 수행할 권한이 있는지 확인합니다 AWS. 권한이 없거나 명시적으로 거부되면 요청이 실패합니다.
-
AWS Cloud9 는 AWS 관리형 임시 자격 증명을 확인하여 해당 권한이 에서 요청된 리소스에 대해 요청된 작업을 허용하는지 확인합니다 AWS. 권한이 없거나 명시적으로 거부되면 요청이 실패합니다. 임시 자격 증명 지원을 AWS 관리하는 권한 목록은 섹션을 참조하세요AWS 관리형 임시 보안 인증에서 지원하는 작업.
-
AWS 엔터티와 AWS 관리형 임시 자격 증명이 모두 요청된 리소스에 대해 요청된 작업을 허용하는 경우 요청이 성공합니다.
-
AWS 엔터티 또는 AWS 관리형 임시 보안 인증 정보가 요청된 리소스에 대해 요청된 작업을 명시적으로 거부하거나 명시적으로 허용하지 않는 경우 요청은 실패합니다. 즉, 호출 AWS 엔터티에 올바른 권한이 있더라도 가 명시적으로 허용하지 AWS Cloud9 않는 경우 요청이 실패합니다. 마찬가지로 에서 특정 리소스에 대해 특정 작업을 수행할 수 AWS Cloud9 있도록 허용하면 AWS 엔터티가 명시적으로 허용하지 않는 경우 요청이 실패합니다.
EC2 환경 소유자는 다음과 같이 언제든지 해당 환경에 대한 AWS 관리형 임시 자격 증명을 켜거나 끌 수 있습니다.
-
환경이 열린 상태에서 에서 메뉴 모음 AWS Cloud9 IDE에서 AWS Cloud9, 기본 설정 을 선택합니다.
-
기본 설정 탭의 탐색 창에서 AWS 설정, 자격 증명을 선택합니다.
-
AWS 관리형 임시 자격 증명를 사용하여 AWS 관리형 임시 자격 증명을 켜거나 끕니다.
참고
작업을 호출UpdateEnvironment
하고 managedCredentialsAction
파라미터에 AWS Cloud9 API 값을 할당하여 AWS 관리형 임시 자격 증명을 켜거나 끌 수도 있습니다. 및 와 같은 AWS SDKs 표준 AWS 도구를 사용하여 이 API 작업을 요청할 수 있습니다 AWS CLI.
AWS 관리형 임시 보안 인증 정보를 끄면 요청을 수행하는 AWS 엔터티에 AWS 서비스관계없이 환경이 에 액세스할 수 없습니다. 하지만 환경에 대한 AWS 관리형 임시 보안 인증 정보를 켤 수 없거나 켜지 않으려는 경우에도 에 액세스하려면 환경이 여전히 필요하다고 가정해 보겠습니다 AWS 서비스. 다음과 같은 대안을 고려하세요.
-
환경에 연결하는 Amazon 인스턴스에 EC2 인스턴스 프로파일을 연결합니다. 지침은 인스턴스 프로파일을 생성하고 사용하여 임시 자격 증명 관리를 참조하세요.
-
특수 환경 변수를 설정하거나
aws configure
명령을 실행하는 등 영구 AWS 액세스 보안 인증 정보를 환경에 저장합니다. 지침은 영구 액세스 자격 증명을 생성하여 환경에 저장 단원을 참조하십시오.
앞의 대안은 EC2 환경에서 AWS 관리형 임시 자격 증명에 의해 허용(또는 거부)되는 모든 권한을 재정의합니다.
AWS 관리형 임시 보안 인증에서 지원하는 작업
개발 환경의 AWS Cloud9 EC2 경우 AWS 관리형 임시 자격 증명은 다음과 같은 제한과 AWS 계정함께 호출자의 에 있는 모든 AWS 리소스에 대한 모든 AWS 작업을 허용합니다.
-
의 경우 다음 작업 AWS Cloud9만 허용됩니다.
-
cloud9:CreateEnvironmentEC2
-
cloud9:CreateEnvironmentSSH
-
cloud9:DescribeEnvironmentMemberships
-
cloud9:DescribeEnvironments
-
cloud9:DescribeEnvironmentStatus
-
cloud9:UpdateEnvironment
-
-
의 경우 다음 작업IAM만 허용됩니다.
-
iam:AttachRolePolicy
-
iam:ChangePassword
-
iam:CreatePolicy
-
iam:CreatePolicyVersion
-
iam:CreateRole
-
iam:CreateServiceLinkedRole
-
iam:DeletePolicy
-
iam:DeletePolicyVersion
-
iam:DeleteRole
-
iam:DeleteRolePolicy
-
iam:DeleteSSHPublicKey
-
iam:DetachRolePolicy
-
iam:GetInstanceProfile
-
iam:GetPolicy
-
iam:GetPolicyVersion
-
iam:GetRole
-
iam:GetRolePolicy
-
iam:GetSSHPublicKey
-
iam:GetUser
-
iam:List*
-
iam:PassRole
-
iam:PutRolePolicy
-
iam:SetDefaultPolicyVersion
-
iam:UpdateAssumeRolePolicy
-
iam:UpdateRoleDescription
-
iam:UpdateSSHPublicKey
-
iam:UploadSSHPublicKey
-
-
역할과 상호 작용하는 모든 IAM 작업은 로 시작하는 역할 이름에 대해서만 허용됩니다
Cloud9-
. 하지만iam:PassRole
은 모든 역할 이름에 작동합니다. -
AWS Security Token Service (AWS STS)의 경우 다음 작업만 허용됩니다.
-
sts:GetCallerIdentity
-
sts:DecodeAuthorizationMessage
-
-
지원되는 모든 AWS 작업은 환경의 IP 주소로 제한됩니다. 이는 AWS 보안 모범 사례입니다.
AWS Cloud9 가 액세스할 EC2 환경이 필요한 작업 또는 리소스를 지원하지 않거나 EC2 환경에 대해 AWS 관리형 임시 자격 증명이 꺼져 있지만 다시 켤 수 없는 경우 다음 대안을 고려하세요.
-
EC2 환경에 연결하는 Amazon 인스턴스에 EC2 인스턴스 프로파일을 연결합니다. 지침은 인스턴스 프로파일을 생성하고 사용하여 임시 자격 증명 관리 단원을 참조하십시오.
-
특수 EC2 환경 변수를 설정하거나
aws configure
명령을 실행하여 영구 AWS 액세스 보안 인증 정보를 환경에 저장합니다. 지침은 영구 액세스 자격 증명을 생성하여 환경에 저장 단원을 참조하십시오.
앞의 대안은 EC2 환경에서 AWS 관리형 임시 자격 증명에 의해 허용(또는 거부)되는 모든 권한을 재정의합니다.
AWS 관리형 임시 보안 인증 생성 및 업데이트
개발 환경의 AWS Cloud9 EC2 경우 환경을 처음 열 때 AWS 관리형 임시 보안 인증 정보가 생성됩니다.
AWS 관리형 임시 자격 증명은 다음 조건 중 하나에 따라 업데이트됩니다.
-
특정 기간이 경과할 때마다. 현재, 이 값은 5분입니다.
-
환경에 IDE 대한 를 표시하는 웹 브라우저 탭을 다시 로드할 때마다
-
환경에 대한
~/.aws/credentials
파일에 나열된 타임스탬프에 도달할 때. -
AWS managed temporary credentials(관리형 임시 자격 증명) 설정이 꺼져 있는 경우 다시 켤 때마다. (이 설정을 보거나 변경하려면 의 메뉴 모음에서 AWS Cloud9, 기본 설정을 선택합니다IDE. 기본 설정 탭의 탐색 창에서 AWS 설정, 자격 증명 을 선택합니다.)
-
보안을 위해 AWS 관리형 임시 보안 인증은 15분 후에 자동으로 만료됩니다. 자격 증명을 새로 고치려면 환경 소유자가 를 통해 AWS Cloud9 환경에 연결되어 있어야 합니다IDE. 환경 소유자의 역할에 대한 자세한 내용은 AWS 관리형 임시 자격 증명에 대한 액세스 제어 섹션을 참조하세요.
AWS 관리형 임시 자격 증명에 대한 액세스 제어
AWS 관리형 임시 자격 증명이 있는 공동 작업자는 를 사용하여 다른 와 상호 작용 AWS Cloud9 할 수 있습니다 AWS 서비스. 신뢰할 수 있는 공동 작업자만 AWS 관리형 임시 자격 증명을 사용하도록 하기 위해, 환경 소유자가 아닌 다른 사람이 새 멤버를 추가한 경우 이러한 자격 증명을 사용할 수 없습니다. 자격 증명은 ~/.aws/credentials
파일을 삭제하면 사용 중지됩니다.
중요
AWS 관리형 임시 자격 증명도 15분마다 자동으로 만료됩니다. 공동 작업자가 계속 사용할 수 있도록 자격 증명을 새로 고치려면 환경 소유자가 를 통해 AWS Cloud9 환경에 연결되어 있어야 합니다IDE.
환경 소유자만 AWS 관리형 임시 자격 증명을 다시 활성화하여 다른 멤버와 공유할 수 있습니다. 환경 소유자가 를 열면 AWS 관리형 임시 보안 인증 정보가 비활성화되었음을 확인하는 IDE대화 상자가 나타납니다. 환경 소유자는 모든 멤버에 대해 자격 증명을 다시 사용하도록 설정하거나 모든 멤버에 대해 자격 증명을 사용 중지할 수 있습니다.
주의
보안 모범 사례를 준수하려면 환경에 마지막으로 추가된 사용자의 ID가 확실하지 않은 경우 관리형 임시 자격 증명을 사용하지 않도록 설정합니다. 읽기/쓰기 권한이 있는 멤버 목록은 [협업(Collaborate)] 창에서 확인할 수 있습니다.