IAM 리소스에 태그 지정 - AWS Identity and Access Management

IAM 리소스에 태그 지정

태그는 사용자 또는 AWS 리소스에 할당할 수 있는 사용자 지정 속성 레이블입니다. 각 태그에는 다음 두 가지 부분이 있습니다.

  • 태그 키(예: CostCenter, Environment, Project 또는 Purpose).

  • 태그 값(예: 111122223333, Production 또는 팀 이름)으로 알려진 선택적 필드. 태그 값을 생략하는 것은 빈 문자열을 사용하는 것과 같습니다.

태그 키와 태그 값을 합해서 키 값 페어라고 합니다. IAM 리소스에 사용할 수 있는 태그 수에 대한 제한은 IAM 및 AWS STS 할당량 섹션을 참조하세요.

참고

태그 키 및 태그 키 값의 대소문자 구분에 대한 자세한 내용은 Case sensitivity을(를) 참조하세요.

태그를 사용하면 AWS 리소스를 식별하고 구성하는 데 도움이 됩니다. 많은 AWS 서비스가 태그 지정을 지원하므로 다른 서비스의 리소스에 동일한 태그를 할당하여 해당 리소스의 관련 여부를 나타낼 수 있습니다. 예를 들어 Amazon S3 버킷에 할당한 것과 동일한 태그를 IAM 역할에 할당할 수 있습니다. 태깅 전략에 대한 자세한 내용은 태깅 AWS 리소스 사용자 안내서를 참조하세요.

태그로 IAM 리소스를 식별, 구성 및 추적하는 것 외에도 IAM 정책의 태그를 사용하여 리소스를 보고 상호 작용할 수 있는 사용자를 제어할 수 있습니다. 태그를 사용하여 액세스를 제어하는 방법에 대한 자세한 내용은 태그를 사용하여 IAM 사용자 및 역할에 대한 액세스 제어 섹션을 참조하세요.

역할을 수임하거나 사용자를 연동할 때 AWS STS에서 태그를 사용하여 사용자 지정 속성을 추가할 수도 있습니다. 자세한 내용은 AWS STS에서 세션 태그 전달 섹션을 참조하세요.

AWS 태그 이름 지정 규칙 선택

IAM 리소스에 태그 연결을 시작할 때 태그 이름 지정 규칙을 신중하게 선택합니다. 모든 AWS 태그에 동일한 규칙을 적용합니다. 정책에서 태그를 사용하여 AWS 리소스에 대한 액세스를 제어하는 경우 특히 중요합니다. AWS에서 태그를 이미 사용하고 있다면 이름 지정 규칙을 검토하고 적절하게 조정합니다.

참고

계정이 AWS Organizations의 회원인 경우 조직에서의 태그 사용에 대한 자세한 내용은 조직 사용 설명서의 태그 정책을 참조하세요.

태그 이름 지정 모범 사례

다음은 태그에 대한 몇 가지 모범 사례 및 명명 규칙입니다.

태그 이름은 동일하게 사용해야 합니다. 예를 들어 태그 CostCentercostcenter는 서로 다르므로 하나는 재무 분석 및 보고를 위한 비용 할당 태그로 구성되고 다른 하나는 그렇지 않을 수 있습니다. 마찬가지로, Name 태그는 많은 리소스에서 AWS 콘솔에 나타나지만 name 태그는 그렇지 않습니다. 태그 키 및 태그 키 값의 대소문자 구분에 대한 자세한 내용은 Case sensitivity을(를) 참조하세요.

여러 태그가 AWS에서 미리 정의되거나 다양한 AWS 서비스에서 자동으로 생성됩니다. 다수의 AWS 정의 태그 이름은 단어를 구분하는 하이픈과 함께 모두 소문자를 사용하며, 접두사로 태그의 소스 서비스를 식별합니다. 예:

  • aws:ec2spot:fleet-request-id는 인스턴스를 시작한 Amazon EC2 스팟 인스턴스 요청을 식별합니다.

  • aws:cloudformation:stack-name은 리소스를 생성한 AWS CloudFormation 스택을 식별합니다.

  • elasticbeanstalk:environment-name은 리소스를 생성한 애플리케이션을 식별합니다.

태그 이름은 모두 소문자를 사용하여 지정하는 것이 좋으며, 단어를 구분하는 하이픈과 조직 이름 또는 축약된 이름을 나타내는 접두사를 함께 사용합니다. 예를 들어, 이름이 AnyCompany인 가상의 회사에 대해 다음과 같은 태그를 정의할 수 있습니다.

  • 내부 비용 센터 코드를 식별하는 anycompany:cost-center

  • 환경이 개발, 테스트 또는 프로덕션인지 식별하는 anycompany:environment-type

  • 리소스가 생성된 애플리케이션을 식별하는 anycompany:application-id

접두사를 사용하면 태그가 AWS 또는 사용 중인 타사 도구가 아닌 조직에서 정의한 것으로 명확하게 식별됩니다. 구분 기호에 하이픈과 함께 모두 소문자를 사용하면 태그 이름을 대문자로 표시하는 방법에 대한 혼동을 피할 수 있습니다. 예를 들어, anycompany:project-idANYCOMPANY:ProjectID,anycompany:projectID 또는Anycompany:ProjectId보다 간단하게 기억할 수 있습니다.

IAM 및 AWS STS의 태그 지정 규칙

IAM 및 AWS STS에서 태그의 생성과 적용을 관리하는 규칙은 여러 가지가 있습니다.

태그 이름 지정

IAM 리소스, AWS STS assume-role 세션 및 AWS STS 페더레이션 사용자 세션에 대한 태그 이름 지정 규칙을 공식화하는 경우 다음 규칙을 준수합니다.

문자 요구 사항 - 태그 키 및 값은 문자, 숫자, 공백 및 _ . : / = + - @ 기호를 포함할 수 있습니다.

대소문자 구분 - 태그 키의 대소문자 구분은 태깅된 IAM 리소스의 유형에 따라 다릅니다. IAM 사용자 및 역할의 태그 키 값은 대소문자를 구분하지 않지만 대소문자는 유지됩니다. 즉, 별도의 Departmentdepartment 태그 키를 가질 수 없음을 의미합니다. Department=finance 태그로 사용자 태그를 지정하고 department=hr 태그를 추가하면 첫 번째 태그가 바뀝니다. 두 번째 태그는 추가되지 않습니다.

다른 IAM 리소스 유형의 경우 태그 키 값은 대소문자를 구분합니다. 즉, Costcenter 태그 키와 costcenter 태그 키를 별도로 지정할 수 있습니다. 예를 들어 고객 관리형 정책에 Costcenter = 1234 태그를 지정하고 costcenter = 5678 태그를 추가하면 정책에는 Costcentercostcenter 태그 키가 모두 포함됩니다.

모범 사례로서, 대소문자가 일치하지 않는 유사한 태그를 사용하지 않는 것이 좋습니다. 태그를 대문자로 사용하는 전략을 세우고 이러한 전략을 모든 리소스 유형에 대해 일관되게 구현하는 것이 좋습니다. 태깅 모범 사례에 대한 자세한 내용은 AWS 일반 참조의 AWS 리소스 태깅을 참조하세요.

다음 목록은 IAM 리소스에 연결된 태그 키의 대소문자 구분 차이점을 보여줍니다.

태그 키 값이 대소문자를 구분하지 않습니다 .

  • IAM 역할

  • IAM 사용자

태그 키 값이 대소문자를 구분합니다.

  • 고객 관리형 정책

  • 인스턴스 프로파일

  • OpenID Connect 자격 증명 공급자

  • SAML 자격 증명 공급자

  • 서버 인증서

  • 가상 MFA 디바이스

또한 다음 규칙이 적용됩니다.

  • aws:로 시작하는 태그 키 또는 값을 생성할 수 없습니다. 이 태그 접두사는 AWS 내부 전용으로 예약되어 있습니다.

  • phoneNumber = 와 같이 값이 비어 있는 태그를 만들 수 있습니다. 빈 태그 키는 생성할 수 없습니다.

  • 단일 태그에 여러 값을 지정할 수 없지만 단일 값으로 사용자 지정 다중 값 구조를 생성할 수 있습니다. 예를 들어 사용자 Zhang이 엔지니어링 팀과 QA 팀에서 근무한다고 가정합니다. team = Engineering 태그를 연결하고 team = QA 태그를 연결한 경우 태그 값을 Engineering에서 QA로 변경합니다 . 대신 사용자 지정 구분자를 사용하여 단일 태그에 여러 값을 포함할 수 있습니다. 이 예에서는 Zhang에게 team = Engineering:QA 태그를 연결할 수 있습니다.

    참고

    이 예제에서 team 태그를 사용하여 엔지니어에 대한 액세스를 제어하려면 Engineering:QA를 포함하여 Engineering을 포함할 수 있는 모든 구성을 허용하는 정책을 만들어야 합니다. 정책에서의 태그 사용에 대한 자세한 내용은 태그를 사용하여 IAM 사용자 및 역할에 대한 액세스 제어 섹션을 참조하세요.

태그 적용 및 편집

태그를 IAM 리소스에 연결할 때는 다음 규칙을 준수합니다.

  • 대부분의 IAM 리소스에 태그를 지정할 수 있지만 그룹, 수임한 역할, 액세스 보고서 또는 하드웨어 기반 MFA 디바이스에는 태그를 지정할 수 있습니다.

  • Tag Editor를 사용하여 IAM 리소스에 태깅할 수 없습니다. Tag Editor는 IAM 태그를 지원하지 않습니다. Tag Editor를 다른 서비스와 함께 사용하는 방법에 대한 자세한 내용은 AWS Resource Groups 사용 설명서에서 Tag Editor 작업을 참조하세요.

  • IAM 리소스를 태깅하려면 특정 권한이 있어야 합니다. 리소스를 태깅하거나 태깅 해제하려면 태그를 나열할 수 있는 권한이 있어야 합니다. 자세한 내용은 이 페이지 끝에 있는 각 IAM 리소스에 대한 주제 목록을 참조하세요.

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

  • 여러 IAM 리소스에 동일한 태그를 적용할 수 있습니다. 예를 들어, 12명의 멤버가 있는 AWS_Development 부서가 있다고 가정합니다. 태그 키 department 및 값 awsDevelopment(department = awsDevelopment)를 가진 12명의 사용자와 역할이 있을 수 있습니다. 태그 지정을 지원하는 다른 서비스의 리소스에도 동일한 태그를 사용할 수 있습니다.

  • IAM 엔터티(사용자 또는 역할)에는 태그 키가 같은 인스턴스가 여러 개 있을 수 없습니다. 예를 들어 태그 키 값 페어 costCenter = 1234가 지정된 사용자가 있는 경우 태그 키 값 페어 costCenter = 5678을 연결할 수 있습니다. IAM은 costCenter 태그의 값을 5678로 업데이트합니다.

  • IAM 엔터티(사용자 또는 역할)에 연결된 태그를 편집하려면 새 값으로 태그를 연결하여 기존 태그를 덮어씁니다. 예를 들어, 태그 키 값 페어 department = Engineering을 가진 사용자가 있다고 가정합니다. 사용자를 QA 부서로 이동해야 하는 경우 department = QA 태그 키 값 페어를 사용자에게 연결할 수 있습니다. 결과적으로 department 태그 키의 Engineering 값이 QA 값으로 대체됩니다.