IAM 정책 생성(콘솔) - AWS Identity and Access Management

IAM 정책 생성(콘솔)

정책은 자격 증명 또는 리소스에 연결될 때 해당 권한을 정의하는 개체입니다. AWS Management Console을 사용하여 IAM에서 고객 관리형 정책을 생성할 수 있습니다. 고객 관리형 정책은 자체 AWS 계정에서 관리하는 독립형 정책입니다. 그런 다음 정책을 AWS 계정의 자격 증명(사용자, 그룹 또는 역할)에 연결합니다.

IAM 정책 생성

다음 방법 중 하나를 사용하여 AWS Management Console에서 고객 관리형 정책을 생성할 수 있습니다.

  • JSON - 게시된 예시 자격 증명 기반 정책을 붙여넣고 사용자 지정합니다.

  • 시각적 편집기 - 시각적 편집기에서 정책을 새로 생성합니다. 시각적 편집기를 사용할 경우 JSON 구문을 이해할 필요가 없습니다.

  • 가져오기 - 계정 내에서 관리형 정책을 가져오고 사용자 지정합니다. 이전에 생성한 AWS 관리형 정책 또는 고객 관리형 정책을 가져올 수 있습니다.

AWS 계정의 IAM 리소스 수와 크기는 제한되어 있습니다. 자세한 내용은 IAM 및 AWS STS 할당량 섹션을 참조하세요.

JSON 편집기를 사용하여 정책 생성

JSON 옵션을 선택하여 JSON에 정책을 입력하거나 붙여 넣을 수 있습니다. 이 방법은 계정에서 사용하기 위해 예시 정책을 복사할 경우 유용합니다. 또는 JSON 편집기에 고유한 JSON 정책 문서를 입력할 수 있습니다. JSON 옵션을 통해 시각적 편집기와 JSON 간에 전환하여 보기를 비교할 수도 있습니다.

JSON 편집기에서 정책을 생성하거나 편집할 때 IAM은 효과적인 정책을 생성하는 데 도움이 되는 정책 검증을 수행합니다. IAM은 JSON 구문 오류를 식별하는 반면, IAM Access Analyzer는 정책을 더욱 구체화하는 데 도움이 되는 실행 가능한 권장 사항과 함께 추가 정책 검사를 제공합니다.

JSON 정책 문서는 하나 이상의 문으로 구성되어 있습니다. 각 문에는 동일한 효과(Allow 또는 Deny)를 공유하며 동일한 리소스와 조건을 지원하는 모든 작업이 포함되어야 합니다. 한 작업에서 모든 리소스를 지정("*")하도록 요구하고 다른 작업에서 특정 리소스의 Amazon 리소스 이름(ARN)을 지원하는 경우 이들은 두 개의 별개 JSON 문에 있어야 합니다. ARN 형식에 대한 자세한 내용은 AWS 일반 참조 안내서의 Amazon 리소스 이름(ARN)을 참조하세요. IAM 정책에 대한 일반적인 내용은 IAM의 정책 및 권한 섹션을 참조하세요. IAM 정책 언어에 대한 정보는 IAM JSON 정책 참조 섹션을 참조하세요.

JSON 정책 편집기를 사용하여 정책을 생성하려면
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 왼쪽의 탐색 창에서 정책(Policies)을 선택합니다.

  3. [정책 생성(Create policy)]을 선택합니다.

  4. 정책 편집기 섹션에서 JSON 옵션을 선택합니다.

  5. JSON 정책 문서를 입력하거나 붙여 넣습니다. IAM 정책 언어에 대한 자세한 정보는 IAM JSON 정책 참조 섹션을 참조하세요.

  6. 정책 검증 동안 생성된 모든 보안 경고, 오류 또는 일반 경고를 해결하고 다음을 선택합니다.

    참고

    언제든지 시각적 편집기 옵션과 JSON 편집기 옵션을 서로 전환할 수 있습니다. 그러나 변경을 적용하거나 시각적 편집기에서 다음을 선택한 경우 IAM은 시각적 편집기에 최적화되도록 정책을 재구성할 수 있습니다. 자세한 내용은 정책 재구성 섹션을 참조하세요.

  7. (선택 사항) AWS Management Console에서 정책을 만들거나 편집할 때 AWS CloudFormation 템플릿에서 사용할 수 있는 JSON 또는 YAML 정책 템플릿을 생성할 수 있습니다.

    이렇게 하려면 정책 편집기에서 작업을 선택한 다음, CloudFormation 템플릿 생성을 선택합니다. AWS CloudFormation에 대한 자세한 내용은 AWS CloudFormation 사용 설명서의 AWS Identity and Access Management리소스 유형 참조를 참조하세요.

  8. 정책에 권한 추가를 완료했으면 다음을 선택합니다.

  9. 검토 및 생성 페이지에서 생성하는 정책에 대한 정책 이름설명(선택 사항)을 입력합니다. 이 정책에 정의된 권한을 검토하여 정책이 부여한 권한을 확인합니다.

  10. (선택 사항) 태그를 키 값 페어로 연결하여 메타데이터를 정책에 추가합니다. IAM에서의 태그 사용에 대한 자세한 내용은 IAM 리소스에 태그 지정 섹션을 참조하세요.

  11. 정책 생성(Create policy)을 선택하고 새로운 정책을 저장합니다.

정책을 생성한 후 그룹, 사용자 또는 역할에 연결할 수 있습니다. 자세한 내용은 IAM 자격 증명 권한 추가 및 제거 섹션을 참조하세요.

시각적 편집기를 사용하여 정책 생성

IAM 콘솔의 시각적 편집기는 JSON 구문을 작성하지 않고 정책을 생성하는 방법을 안내합니다. 시각적 편집기를 사용하여 정책을 생성하는 예시를 보려면 자격 증명에 대한 액세스 제어 섹션을 참조하세요.

시각적 편집기를 사용하여 정책을 생성하려면
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 왼쪽의 탐색 창에서 정책(Policies)을 선택합니다.

  3. [정책 생성(Create policy)]을 선택합니다.

  4. 정책 편집기 섹션에서 서비스 선택 섹션을 찾은 다음, AWS 서비스를 선택합니다. 상단의 검색 상자를 사용하여 서비스 목록 결과를 제한할 수 있습니다. 시각적 편집기 권한 블록 내에서 하나의 서비스만 선택할 수 있습니다. 둘 이상의 서비스에 액세스 권한을 부여하려면 더 많은 권한 추가를 선택하여 여러 개의 권한 블록을 추가합니다.

  5. 허용된 작업에서 정책에 추가할 작업을 선택합니다. 작업을 선택하는 방법은 다음과 같습니다.

    • 모든 작업에 대한 확인란을 선택합니다.

    • Add actions(작업 추가)를 선택하여 특정 작업의 이름을 입력합니다. 와일드카드(*)를 사용하여 여러 작업을 지정할 수 있습니다.

    • 액세스 수준 그룹 중 하나를 선택하여 액세스 수준에 대한 모든 작업(예: 읽기, 쓰기 또는 목록)을 선택합니다.

    • 액세스 레벨 그룹을 확장하여 개별 작업을 선택합니다.

    기본적으로 생성되는 정책은 사용자가 선택하는 작업을 허용합니다. 대신 선택한 작업을 거부하려면 Switch to deny permissions(권한 거부로 전환)을 선택합니다. 기본적으로 IAM은 거부하기 때문에, 보안 모범 사례로 사용자에게 필요한 작업과 리소스에만 권한을 허용하는 것이 좋습니다. 다른 문 또는 정책에서 별도로 허용되는 권한을 재정의하려는 경우에만 권한을 거부하려면 JSON 문을 생성해야 합니다. 권한 거부의 수가 늘어나면 권한 문제를 해결하기가 더 어려워질 수 있기 때문에 그 수를 최소한으로 제한하는 것이 좋습니다.

  6. 리소스에서 이전 단계에서 선택한 서비스 및 작업이 특정 리소스 선택을 지원하지 않는 경우에는 모든 리소스가 허용되며 이 섹션을 편집할 수 없습니다.

    리소스 수준 권한을 지원하는 작업을 하나 이상 선택하면 시각적 편집기에 해당 리소스가 나열됩니다. 그러면 리소스를 확장하여 정책에 대한 리소스를 지정할 수 있습니다.

    다음과 같은 방법으로 리소스를 지정할 수 있습니다.

    • ARN 추가를 선택하여 Amazon 리소스 이름(ARN)별로 리소스를 지정합니다. 시각적 ARN 편집기를 사용하거나 ARN을 수동으로 나열할 수 있습니다. ARN 구문에 대한 자세한 내용은 AWS 일반 참조 안내서의 Amazon 리소스 이름(ARN)을 참조하세요. 정책의 Resource 요소에 ARN을 사용하는 방법에 대한 자세한 내용은 IAM JSON 정책 요소: Resource 섹션을 참조하세요.

    • 리소스 옆의 이 계정에서 모두를 선택하여 해당 유형의 모든 리소스에 권한을 부여합니다.

    • 모두를 선택하여 해당 서비스에 대한 모든 리소스를 선택합니다.

  7. (선택 사항) 요청 조건 - 선택 사항을 선택하여 생성하는 정책에 조건을 추가합니다. 조건은 JSON 정책 문의 효과를 제한합니다. 예를 들어 특정 시간 범위 내에 사용자의 요청이 발생하는 경우에만 사용자가 리소스에 대한 작업을 수행할 수 있도록 지정할 수 있습니다. 또한 일반적으로 사용되는 조건을 사용하여 사용자가 멀티 팩터 인증(MFA) 디바이스를 사용하여 인증받아야 하는지를 제한할 수 있습니다. 또는 요청이 특정 IP 주소 범위에서 발생하도록 요구할 수 있습니다. 정책 조건을 사용할 수 있는 컨텍스트 키의 전체 목록은 서비스 승인 참조AWS 서비스에 대한 작업, 리소스 및 조건 키를 참조하세요.

    조건을 선택하는 방법은 다음과 같습니다.

    • 확인란을 사용하여 일반적으로 사용되는 조건을 선택합니다.

    • 다른 조건 추가를 선택하여 다른 조건을 지정합니다. 조건의 조건 키, 한정어, 연산자를 선택한 후 을 입력합니다. 값을 두 개 이상 추가하려면 추가를 선택합니다. 해당 값이 논리적 "OR" 연산자로 연결되는 것으로 생각할 수 있습니다. 마치면 조건 추가를 선택합니다.

    조건을 두 개 이상 추가하려면 다시 다른 조건 추가를 선택합니다. 필요에 따라 반복합니다. 각 조건은 이 시각적 편집기 권한 블록 하나에만 적용됩니다. 권한 블록이 일치하는 것으로 간주되려면 모든 조건이 true여야 합니다. 즉, 이들 조건이 논리적 "AND" 연산자로 연결되는 것으로 간주됩니다.

    조건 요소에 대한 자세한 정보는 IAM JSON 정책 요소: Condition에서 IAM JSON 정책 참조 섹션을 참조하세요.

  8. 더 많은 권한 블록을 추가하려면 더 많은 권한 추가를 선택합니다. 각 블록에 대해 2~5단계를 반복합니다.

    참고

    언제든지 시각적 편집기 옵션과 JSON 편집기 옵션을 서로 전환할 수 있습니다. 그러나 변경을 적용하거나 시각적 편집기에서 다음을 선택한 경우 IAM은 시각적 편집기에 최적화되도록 정책을 재구성할 수 있습니다. 자세한 내용은 정책 재구성 섹션을 참조하세요.

  9. (선택 사항) AWS Management Console에서 정책을 만들거나 편집할 때 AWS CloudFormation 템플릿에서 사용할 수 있는 JSON 또는 YAML 정책 템플릿을 생성할 수 있습니다.

    이렇게 하려면 정책 편집기에서 작업을 선택한 다음, CloudFormation 템플릿 생성을 선택합니다. AWS CloudFormation에 대한 자세한 내용은 AWS CloudFormation 사용 설명서의 AWS Identity and Access Management리소스 유형 참조를 참조하세요.

  10. 정책에 권한 추가를 완료했으면 다음을 선택합니다.

  11. 검토 및 생성 페이지에서 생성하는 정책에 대한 정책 이름설명(선택 사항)을 입력합니다. 이 정책에 정의된 권한을 검토하여 의도한 권한을 부여했는지 확인합니다.

  12. (선택 사항) 태그를 키 값 페어로 연결하여 메타데이터를 정책에 추가합니다. IAM에서의 태그 사용에 대한 자세한 내용은 IAM 리소스에 태그 지정 섹션을 참조하세요.

  13. 정책 생성(Create policy)을 선택하고 새로운 정책을 저장합니다.

정책을 생성한 후 그룹, 사용자 또는 역할에 연결할 수 있습니다. 자세한 내용은 IAM 자격 증명 권한 추가 및 제거 섹션을 참조하세요.

기존 관리형 정책 가져오기

새 정책을 생성하는 쉬운 방법은 최소한으로 필요한 권한 중 일부가 이미 존재하는 계정으로 기존 관리형 정책을 가져오는 것입니다. 그런 다음, 새로운 요구 사항에 일치하도록 정책을 사용자 지정할 수 있습니다.

인라인 정책은 가져올 수 없습니다. 관리형 정책과 인라인 정책의 차이에 대해 자세히 알아보려면 관리형 정책과 인라인 정책 섹션을 참조하세요.

시각적 편집기에서 기존 관리형 정책을 가져오려면
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 왼쪽의 탐색 창에서 정책(Policies)을 선택합니다.

  3. [정책 생성(Create policy)]을 선택합니다.

  4. 정책 편집기에서 시각적 편집기를 선택한 다음, 페이지 오른쪽에서 작업을 선택하고 정책 가져오기를 선택합니다.

  5. 정책 가져오기 창에서 새 정책에 포함할 정책과 가장 근접한 관리형 정책을 선택합니다. 상단의 검색 상자를 사용하여 정책 목록 결과를 제한할 수 있습니다.

  6. 정책 가져오기를 선택합니다.

    가져온 정책은 정책 하단의 새 권한 블록에 추가됩니다.

  7. Visual editor(시각적 편집기)를 사용하거나 JSON을 선택하여 정책을 사용자 지정합니다. 이후 다음을 선택합니다.

    참고

    언제든지 시각적 편집기 옵션과 JSON 편집기 옵션을 서로 전환할 수 있습니다. 그러나 변경을 적용하거나 시각적 편집기에서 다음을 선택한 경우 IAM은 시각적 편집기에 최적화되도록 정책을 재구성할 수 있습니다. 자세한 내용은 정책 재구성 섹션을 참조하세요.

  8. 검토 및 생성 페이지에서 생성하는 정책에 대한 정책 이름설명(선택 사항)을 입력합니다. 이러한 설정은 나중에 편집할 수 없습니다. 이 정책에 정의된 권한을 검토한 다음, 정책 생성을 선택하여 작업을 저장합니다.

JSON 편집기에서 기존 관리형 정책을 가져오려면
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 왼쪽의 탐색 창에서 정책(Policies)을 선택합니다.

  3. [정책 생성(Create policy)]을 선택합니다.

  4. 정책 편집기 섹션에서 JSON 옵션을 선택한 다음, 페이지 오른쪽에서 작업을 선택하고 정책 가져오기를 선택합니다.

  5. 정책 가져오기 창에서 새 정책에 포함할 정책과 가장 근접한 관리형 정책을 선택합니다. 상단의 검색 상자를 사용하여 정책 목록 결과를 제한할 수 있습니다.

  6. 정책 가져오기를 선택합니다.

    가져온 정책의 문은 JSON 정책 하단에 추가됩니다.

  7. JSON으로 정책을 사용자 지정합니다. 정책 검증 동안 생성된 모든 보안 경고, 오류 또는 일반 경고를 해결하고 다음을 선택합니다. 또는 시각적 편집기(Visual editor)에서 정책을 사용자 지정합니다. 이후 다음을 선택합니다.

    참고

    언제든지 시각적 편집기 옵션과 JSON 편집기 옵션을 서로 전환할 수 있습니다. 그러나 변경을 적용하거나 시각적 편집기에서 다음을 선택한 경우 IAM은 시각적 편집기에 최적화되도록 정책을 재구성할 수 있습니다. 자세한 내용은 정책 재구성 섹션을 참조하세요.

  8. 검토 및 생성 페이지에서 생성하는 정책에 대한 정책 이름설명(선택 사항)을 입력합니다. 이러한 필드는 나중에 편집할 수 없습니다. 이 정책에 정의된 권한 정책을 검토한 다음, 정책 생성을 선택하여 작업을 저장합니다.

정책을 생성한 후 그룹, 사용자 또는 역할에 연결할 수 있습니다. 자세한 내용은 IAM 자격 증명 권한 추가 및 제거 섹션을 참조하세요.