기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS X-Ray 에서 IAM을 사용하는 방법
IAM을 사용하여 X-Ray에 대한 액세스를 관리하려면 먼저 어떤 IAM 기능을 X-Ray와 함께 사용할 수 있는지를 이해해야 합니다. X-Ray 및 기타에서 IAM을 AWS 서비스 사용하는 방법을 개괄적으로 알아보려면 IAM 사용 설명서의 AWS 서비스 IAM으로 작업하기를 참조하세요.
AWS Identity and Access Management (IAM)를 사용하여 계정의 사용자 및 컴퓨팅 리소스에 X-Ray 권한을 부여할 수 있습니다. IAM은 API 수준에서 X-Ray 서비스에 대한 액세스를 제어하여 사용자가 사용하는 클라이언트(콘솔, AWS SDK AWS CLI)에 관계없이 권한을 균일하게 적용합니다.
X-Ray 콘솔을 사용하여 트레이스 맵과 세그먼트를 보려면 읽기 권한만 있으면 됩니다. 콘솔 액세스를 활성화하려면 AWSXrayReadOnlyAccess 관리형 정책을 IAM 사용자에 추가합니다.
로컬 개발 및 테스트를 위해서는 읽기 및 쓰기 권한을 갖는 IAM 역할을 생성합니다. 역할을 맡고 역할에 대한 임시 자격 증명을 저장합니다. 이러한 자격 증명을 X-Ray 데몬, AWS CLI및 AWS SDK와 함께 사용할 수 있습니다. 자세한 내용은 AWS CLI임시 보안 자격 증명 사용을 참조하세요.
계측된 앱을에 배포 AWS하려면 쓰기 권한이 있는 IAM 역할을 생성하고 애플리케이션을 실행하는 리소스에 할당합니다. AWSXRayDaemonWriteAccess에는 트레이스를 업로드할 수 있는 권한과 샘플링 규칙 사용을 지원하는 몇 가지 읽기 권한도 포함되어 있습니다.
읽기 및 쓰기 정책에는 암호화 키 설정 및 샘플링 규칙을 구성할 권한은 포함되지 않습니다. AWSXrayFullAccess을 사용하여 이러할 설정에 액세스하거나, 사용자 지정 정책에서 구성 API를 추가합니다. 생성하는 고객 관리형 키를 사용한 암호화 및 해독을 위해서는 해당 키를 사용할 권한도 필요합니다.
주제
X-Ray identity-based 자격 증명 기반 정책
IAM ID 기반 정책을 사용하면 허용되거나 거부되는 작업과 리소스뿐 아니라 작업이 허용되거나 거부되는 조건을 지정할 수 있습니다. X-Ray는 특정 작업, 리소스 및 조건 키를 지원합니다. JSON 정책에서 사용하는 모든 요소에 대해 알고 싶다면 IAM 사용 설명서의 IAM JSON 정책 요소 참조를 참조하세요.
작업
관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지 지정할 수 있습니다. 즉, 어떤 위탁자가 어떤 리소스와 어떤 조건에서 작업을 수행할 수 있는지를 지정할 수 있습니다.
JSON 정책의 Action 요소는 정책에서 액세스를 허용하거나 거부하는 데 사용할 수 있는 작업을 설명합니다. 연결된 작업을 수행할 수 있는 권한을 부여하기 위한 정책에 작업을 포함하세요.
X-Ray의 정책 작업은 작업 앞에 다음 접두사를 사용합니다. xray: 예를 들어 X-Ray GetGroup API 작업을 사용하여 그룹 리소스 세부 정보를 검색하는 권한을 부여하려면 해당 정책에 xray:GetGroup 작업을 포함합니다. 정책 문에는 Action 또는 NotAction 요소가 포함되어야 합니다. X-Ray는 이 서비스로 수행할 수 있는 작업을 설명하는 고유한 작업 세트를 정의합니다.
명령문 하나에 여러 태스크를 지정하려면 다음과 같이 쉼표로 구분합니다.
"Action": [ "xray:action1", "xray:action2"
와일드카드(*)를 사용하여 여러 작업을 지정할 수 있습니다. 예를 들어, Get라는 단어로 시작하는 모든 태스크를 지정하려면 다음 태스크를 포함합니다.
"Action": "xray:Get*"
X-Ray 작업 목록을 보려면 IAM 사용 설명서의 AWS X-Ray에서 정의한 작업을 참조하세요.
리소스
관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지 지정할 수 있습니다. 즉, 어떤 보안 주체가 어떤 리소스와 어떤 조건에서 작업을 수행할 수 있는지를 지정할 수 있습니다.
Resource JSON 정책 요소는 작업이 적용되는 하나 이상의 객체를 지정합니다. 모범 사례에 따라 Amazon 리소스 이름(ARN)을 사용하여 리소스를 지정합니다. 리소스 수준 권한을 지원하지 않는 작업의 경우 와일드카드(*)를 사용하여 문이 모든 리소스에 적용됨을 나타냅니다.
"Resource": "*"
IAM 정책을 사용하여 리소스에 대한 액세스를 제어할 수 있습니다. 리소스 수준의 권한을 지원하는 작업은 Amazon 리소스 이름(ARN)을 사용하여 정책이 적용되는 리소스를 확인할 수 있습니다.
IAM 정책에서 모든 X-Ray 작업을 사용하여 해당 작업을 사용하기 위한 사용자 권한을 부여하거나 거부할 수 있습니다. 하지만 모든 X-Ray 작업이 리소스 수준 권한을 지원하는 것은 아닙니다. 여기에서 리소스 수준 권한이란 작업이 가능한 리소스를 지정할 수 있는 권한을 말합니다.
리소스 수준 권한을 지원하지 않는 작업의 경우 "*"를 리소스로 사용해야 합니다.
다음 X-Ray 작업은 리소스 수준 권한을 지원합니다.
-
CreateGroup -
GetGroup -
UpdateGroup -
DeleteGroup -
CreateSamplingRule -
UpdateSamplingRule -
DeleteSamplingRule
다음은 CreateGroup 작업에 대한 자격 증명 기반 권한 정책 예제입니다. 이 예제에서는 와일드카드로 고유 ID를 가지는 그룹 이름 local-users와 관련된 ARN의 사용을 보여줍니다. 고유 ID는 그룹을 만들 때 생성되기 때문에 정책에서 미리 예측할 수 없습니다. GetGroup, UpdateGroup 또는 DeleteGroup을 사용할 때, 이는 ID를 포함하여 와일드카드 또는 정확한 ARN으로 정의될 수 있습니다.
참고
샘플링 규칙의 ARN은 규칙의 이름으로 정의됩니다. 그룹 ARN과 달리 샘플링 규칙은 따로 생성되는 고유 ID가 없습니다.
X-Ray 리소스 유형 및 해당 ARN의 목록을 보려면 IAM 사용 설명서의 AWS X-Ray에서 정의된 리소스를 참조하세요. 각 리소스의 ARN을 지정할 수 있는 작업을 알아보려면 AWS X-Ray가 정의한 작업을 참조하세요.
조건 키
X-Ray는 서비스별 조건 키를 제공하지 않지만, 일부 전역 조건 키 사용을 지원합니다. 모든 AWS 전역 조건 키를 보려면 IAM 사용 설명서의 AWS 전역 조건 컨텍스트 키를 참조하세요.
예시
X-Ray 자격 증명 기반 정책의 예를 보려면 AWS X-Ray 자격 증명 기반 정책 예제 단원을 참조하세요.
X-Ray 리소스 기반 정책
X-Ray는 Amazon SNS 활성 추적과 같은 현재 및 향후 AWS 서비스 통합을 위한 리소스 기반 정책을 지원합니다. X-Ray 리소스 기반 정책은 다른 AWS Management Console또는 AWS SDK 또는 CLI를 통해 업데이트할 수 있습니다. 예를 들어, Amazon SNS 콘솔은 X-Ray로 추적을 전송하기 위한 리소스 기반 정책을 자동으로 구성하려고 시도합니다. 다음 정책 문서에서는 X-Ray 리소스 기반 정책을 수동으로 구성하는 예제를 제공합니다.
예 Amazon SNS 활성 추적에 대한 X-Ray 리소스 기반 정책 예시
이 예시 정책 문서는 추적 데이터를 X-Ray로 전송하는 데 필요한 Amazon SNS의 권한을 지정합니다.
{ Version: "2012-10-17", Statement: [ { Sid: "SNSAccess", Effect: Allow, Principal: { Service: "sns.amazonaws.com", }, Action: [ "xray:PutTraceSegments", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], Resource: "*", Condition: { StringEquals: { "aws:SourceAccount": "account-id" }, StringLike: { "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name" } } } ] }
CLI를 사용하여 추적 데이터를 X-Ray로 전송할 수 있는 Amazon SNS 권한을 부여하는 리소스 기반 정책을 생성합니다.
aws xray put-resource-policy --policy-name MyResourcePolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "SNSAccess", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": [ "xray:PutTraceSegments", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "StringLike": { "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name" } } } ] }'
이러한 예제를 사용하려면 , partition, 및 account-idregion를 특정 AWS 파티션, 리전, 계정 ID 및 Amazon SNS 주제 이름으로 바꿉니다. 모든 Amazon SNS 주제가 추적 데이터를 X-Ray로 전송하도록 권한을 부여하려면 주제 이름을 topic-name*로 바꾸십시오.
X-Ray 태그 기반 인증
X-Ray 그룹이나 샘플링 규칙에 태그를 첨부하거나 요청에 포함된 태그를 X-Ray에 전달할 수 있습니다. 태그에 근거하여 액세스를 제어하려면 xray:ResourceTag/, key-nameaws:RequestTag/ 또는 key-nameaws:TagKeys 조건 키를 사용하여 정책의 조건 요소에 태그 정보를 제공합니다. X-Ray 리소스 태깅에 대한 자세한 내용은 X-Ray 샘플링 규칙 및 그룹 태그 지정하기 단원을 참조하세요.
리소스의 태그를 기반으로 리소스에 대한 액세스를 제한하는 자격 증명 기반 정책의 예시는 태그에 기반한 X-Ray 그룹 및 샘플링 규칙에 대한 액세스 관리에서 확인할 수 있습니다.
로컬에서 애플리케이션 실행
계측된 애플리케이션은 추적 데이터를 X-Ray 대몬(daemon)으로 전송합니다. 대몬(daemon)은 세그먼트 문서를 버퍼링하여 X-Ray 서비스에 일괄적으로 업로드합니다. 대몬(daemon)이 추적 데이터와 원격 분석을 X-Ray 서비스에 업로드하려면 쓰기 권한이 필요합니다.
대몬(daemon)을 로컬에서 실행하는 경우 IAM 역할을 생성하고 역할을 수임한 다음 환경 변수나 사용자 폴더의 .aws라는 폴더 내 credentials라는 파일에 임시 자격 증명을 저장합니다. 자세한 내용은 AWS CLI임시 보안 자격 증명 사용을 참조하세요.
예 ~/.aws/credentials
[default]
aws_access_key_id={access key ID}
aws_secret_access_key={access key}
aws_session_token={AWS session token}AWS SDK 또는와 함께 사용할 자격 증명을 이미 구성한 경우 데몬 AWS CLI이 이를 사용할 수 있습니다. 여러 프로파일을 사용할 수 있을 경우 대몬(daemon)은 기본 프로파일을 사용합니다.
에서 애플리케이션 실행 AWS
에서 애플리케이션을 실행할 때 역할을 AWS사용하여 데몬을 실행하는 Amazon EC2 인스턴스 또는 Lambda 함수에 권한을 부여합니다.
-
Amazon Elastic Compute Cloud(Amazon EC2) – IAM 역할을 생성하고 인스턴스 프로파일로 EC2 인스턴스에 연결합니다.
-
Amazon Elastic Container Service(Amazon ECS) — IAM 역할을 생성하고 컨테이너 인스턴스에 컨테이너 인스턴스 IAM 역할로 연결합니다.
-
AWS Elastic Beanstalk (Elastic Beanstalk) - Elastic Beanstalk는 기본 인스턴스 프로파일에 X-Ray 권한을 포함합니다. 기본 인스턴스 프로파일을 사용하거나 쓰기 권한을 사용자 지정 인스턴스 프로파일에 추가할 수 있습니다.
-
AWS Lambda (Lambda) - 함수의 실행 역할에 쓰기 권한을 추가합니다.
X-Ray에 사용할 역할을 생성하려면
-
IAM 콘솔
을 엽니다. -
역할을 선택합니다.
-
새 역할 생성을 선택합니다.
-
Role Name(역할 이름)에
xray-application을 입력합니다. 다음 단계를 선택합니다. -
[Role Type]에서 [Amazon EC2]를 선택합니다.
-
관리형 정책을 연결하여 애플리케이션에 AWS 서비스서비스에 대한 액세스를 부여합니다.
-
AWSXRayDaemonWriteAccess – X-Ray 대몬(daemon)에 추적 데이터를 업로드할 수 있는 권한을 부여합니다.
애플리케이션이 AWS SDK를 사용하여 다른 서비스에 액세스하는 경우 해당 서비스에 대한 액세스 권한을 부여하는 정책을 추가합니다.
-
-
다음 단계를 선택합니다.
-
역할 생성을 선택합니다.
암호화에 대한 사용자 권한
X-Ray는 모든 트레이스 데이터를 기본적으로 암호화하며, 관리하는 키를 사용하도록 구성할 수 있습니다. AWS Key Management Service 고객 관리형 키를 선택하는 경우 키의 액세스 정책을 통해 X-Ray에 암호화에 사용할 수 있는 권한을 부여할 수 있는지 확인해야 합니다. 계정의 다른 사용자도 X-Ray 콘솔에서 암호화된 추적 데이터를 보려면 키에 대한 액세스 권한이 필요합니다.
고객 관리형 키의 경우 다음 작업을 허용하는 액세스 정책으로 키를 구성합니다.
-
X-Ray에서 키를 구성하는 사용자는
kms:CreateGrant및kms:DescribeKey를 직접 호출할 수 있는 권한을 가집니다. -
암호화된 추적 데이터에 액세스할 수 있는 사용자는
kms:Decrypt를 호출할 수 있는 권한을 가집니다.
IAM 콘솔의 키 구성 섹션에서 키 사용자 그룹에 사용자를 추가하면 해당 사용자는 이 두 가지 작업에 대한 권한을 갖게 됩니다. 권한은 키 정책에만 설정하면 되므로 사용자, 그룹 또는 역할에 대한 AWS KMS 권한이 필요하지 않습니다. 자세한 내용은 AWS KMS 개발자 안내서의 키 정책 사용을 참조하세요.
기본 암호화의 경우 또는 AWS 관리형 CMK(aws/xray)를 선택하는 경우 권한은 X-Ray APIs. AWSXrayFullAccess에 포함된 PutEncryptionConfig에 액세스할 수 있는 사람은 누구나 암호화 구성을 변경할 수 있습니다. 사용자가 암호화 키를 변경하지 못하게 하려면 PutEncryptionConfig를 사용할 권한을 부여하지 마십시오.