함께 AWS X-Ray 작동하는 방법 IAM - AWS X-Ray

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

함께 AWS X-Ray 작동하는 방법 IAM

를 사용하여 X-Ray에 대한 액세스를 IAM 관리하려면 먼저 X-Ray에서 사용할 수 있는 IAM 기능을 이해해야 합니다. X-Ray 및 기타 장치의 AWS 서비스 작동 방식을 개괄적으로 보려면 IAM사용 설명서의AWS 서비스 That IAM Workwith를 참조하십시오. IAM

AWS Identity and Access Management (IAM) 를 사용하여 계정의 사용자 및 컴퓨팅 리소스에 X-Ray 권한을 부여할 수 있습니다. IAM사용자가 사용하는 클라이언트 (콘솔 AWS CLI) 에 관계없이 권한을 균일하게 적용할 수 있도록 API 수준에서 X-Ray 서비스에 대한 액세스를 제어합니다. AWS SDK

X-Ray 콘솔을 사용하여 추적 맵과 세그먼트를 보려면 읽기 권한만 필요합니다. 콘솔 액세스를 활성화하려면 AWSXrayReadOnlyAccess 관리형 정책을 IAM 사용자에게 추가하십시오.

로컬 개발 및 테스트의 경우 읽기 및 쓰기 권한이 있는 IAM 역할을 생성하세요. 역할을 맡고 역할에 대한 임시 자격 증명을 저장합니다. 이러한 자격 증명은 X-Ray 데몬 AWS CLI, 및 와 함께 사용할 수 있습니다. AWS SDK 자세한 내용은 AWS CLI임시 보안 자격 증명 사용을 참조하세요.

계측 앱을 배포하려면 AWS쓰기 권한이 있는 IAM 역할을 생성하고 애플리케이션을 실행하는 리소스에 할당하십시오. AWSXRayDaemonWriteAccess트레이스를 업로드할 수 있는 권한과 샘플링 규칙 사용을 지원하는 일부 읽기 권한이 포함되어 있습니다.

읽기 및 쓰기 정책에는 암호화 키 설정 및 샘플링 규칙을 구성할 권한은 포함되지 않습니다. 이러한 설정에 액세스하거나 사용자 지정 정책에 구성을 추가하는 APIs 데 사용합니다AWSXrayFullAccess. 생성하는 고객 관리형 키를 사용한 암호화 및 해독을 위해서는 해당 키를 사용할 권한도 필요합니다.

X-Ray identity-based 자격 증명 기반 정책

IAMID 기반 정책을 사용하면 허용 또는 거부된 작업 및 리소스는 물론 작업이 허용되거나 거부되는 조건을 지정할 수 있습니다. X-Ray는 특정 작업, 리소스 및 조건 키를 지원합니다. JSON정책에서 사용하는 모든 요소에 대해 알아보려면 사용 IAM설명서의 IAM JSON 정책 요소 참조를 참조하십시오.

작업

관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지 지정할 수 있습니다. 즉, 어떤 보안 주체가 어떤 리소스와 어떤 조건에서 작업을 수행할 수 있는지를 지정할 수 있습니다.

정책 Action 요소는 JSON 정책에서 액세스를 허용하거나 거부하는 데 사용할 수 있는 작업을 설명합니다. 정책 작업은 일반적으로 관련 AWS API 작업과 이름이 같습니다. 일치하는 작업이 없는 권한 전용 작업과 같은 몇 가지 예외가 있습니다. API 정책에서 여러 작업이 필요한 몇 가지 작업도 있습니다. 이러한 추가 작업을 일컬어 종속 작업이라고 합니다.

연결된 작업을 수행할 수 있는 권한을 부여하기 위한 정책에 작업을 포함하십시오.

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 정책을 사용하여 누가 무엇에 액세스할 수 있는지 지정할 수 있습니다. 즉, 어떤 보안 주체가 어떤 리소스와 어떤 조건에서 작업을 수행할 수 있는지를 지정할 수 있습니다.

ResourceJSON정책 요소는 작업이 적용되는 하나 또는 여러 개의 객체를 지정합니다. 문장에는 Resource또는 NotResource요소가 반드시 추가되어야 합니다. Amazon 리소스 이름 (ARN) 을 사용하여 리소스를 지정하는 것이 가장 좋습니다. 리소스 수준 권한이라고 하는 특정 리소스 유형을 지원하는 작업에 대해 이 태스크를 수행할 수 있습니다.

작업 나열과 같이 리소스 수준 권한을 지원하지 않는 작업의 경우, 와일드카드(*)를 사용하여 해당 문이 모든 리소스에 적용됨을 나타냅니다.

"Resource": "*"

IAM정책을 사용하여 리소스에 대한 액세스를 제어할 수 있습니다. 리소스 수준 권한을 지원하는 작업의 경우 Amazon 리소스 이름 (ARN) 을 사용하여 정책이 적용되는 리소스를 식별합니다.

IAM정책에서 모든 X-Ray 작업을 사용하여 사용자에게 해당 작업 사용 권한을 부여하거나 거부할 수 있습니다. 하지만 모든 X-Ray 작업이 리소스 수준 권한을 지원하는 것은 아닙니다. 여기에서 리소스 수준 권한이란 작업이 가능한 리소스를 지정할 수 있는 권한을 말합니다.

리소스 수준 권한을 지원하지 않는 작업의 경우 "*"를 리소스로 사용해야 합니다.

다음 X-Ray 작업은 리소스 수준 권한을 지원합니다.

  • CreateGroup

  • GetGroup

  • UpdateGroup

  • DeleteGroup

  • CreateSamplingRule

  • UpdateSamplingRule

  • DeleteSamplingRule

다음은 CreateGroup 작업에 대한 자격 증명 기반 권한 정책 예제입니다. 이 예에서는 고유 ID가 있는 ARN 관련 그룹 이름을 local-users 와일드카드로 사용하는 방법을 보여줍니다. 고유 ID는 그룹을 만들 때 생성되기 때문에 정책에서 미리 예측할 수 없습니다. GetGroupUpdateGroupDeleteGroup, 또는 를 사용하는 경우 와일드카드 또는 정확한 ARN ID (포함 ID) 로 정의할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:CreateGroup" ], "Resource": [ "arn:aws:xray:eu-west-1:123456789012:group/local-users/*" ] } ] }

다음은 CreateSamplingRule 작업에 대한 자격 증명 기반 권한 정책 예제입니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:CreateSamplingRule" ], "Resource": [ "arn:aws:xray:eu-west-1:123456789012:sampling-rule/base-scorekeep" ] } ] }
참고

샘플링 규칙은 이름으로 정의됩니다. ARN 그룹과 ARNs 달리 샘플링 규칙에는 고유하게 생성된 ID가 없습니다.

X-Ray 리소스 유형 및 해당 ARNs 유형 목록을 보려면 사용 설명서의 리소스 정의 IAM 기준을 참조하십시오. AWS X-Ray각 리소스에 어떤 작업을 지정할 수 있는지 알아보려면 작업 정의 기준을 참조하십시오 AWS X-Ray. ARN

조건 키

X-Ray는 서비스별 조건 키를 제공하지 않지만, 일부 전역 조건 키 사용을 지원합니다. 모든 AWS 글로벌 조건 키를 보려면 IAM사용 설명서의 AWS 글로벌 조건 컨텍스트 키를 참조하십시오.

예시

X-Ray 자격 증명 기반 정책의 예를 보려면 AWS X-Ray ID 기반 정책 예제 단원을 참조하세요.

X-Ray 리소스 기반 정책

X-Ray는 Amazon SNS 활성 추적과 같은 현재 및 미래의 AWS 서비스 통합을 위한 리소스 기반 정책을 지원합니다. X-Ray 리소스 기반 정책은 다른 AWS Management Console사용자가 업데이트하거나 OR을 통해 업데이트할 수 있습니다. AWS SDK CLI 예를 들어 Amazon SNS 콘솔은 트레이스를 X-Ray로 전송하기 위한 리소스 기반 정책을 자동으로 구성하려고 합니다. 다음 정책 문서에서는 X-Ray 리소스 기반 정책을 수동으로 구성하는 예제를 제공합니다.

예 Amazon SNS 액티브 트레이싱을 위한 X-Ray 리소스 기반 정책의 예

이 예제 정책 문서는 Amazon이 추적 데이터를 X-Ray로 전송하는 데 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를 사용하여 Amazon에 추적 데이터를 X-Ray로 전송할 수 있는 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" } } } ] }'

이 예제를 사용하려면 다음을 수행하십시오.파티션, region, account-id, 및 주제 이름 특정 AWS 파티션, 지역, 계정 ID 및 Amazon SNS 주제 이름을 포함합니다. 모든 Amazon SNS 주제에 추적 데이터를 X-Ray로 전송할 수 있는 권한을 부여하려면 주제 이름을 로 바꾸십시오*.

X-Ray 태그 기반 인증

X-Ray 그룹이나 샘플링 규칙에 태그를 첨부하거나 요청에 포함된 태그를 X-Ray에 전달할 수 있습니다. 태그에 근거하여 액세스를 제어하려면 xray:ResourceTag/key-name, aws:RequestTag/key-name 또는 aws:TagKeys 조건 키를 사용하여 정책의 조건 요소에 태그 정보를 제공합니다. X-Ray 리소스 태깅에 대한 자세한 내용은 X-Ray 샘플링 규칙 및 그룹 태그 지정하기 단원을 참조하세요.

리소스의 태그를 기반으로 리소스에 대한 액세스를 제한하는 자격 증명 기반 정책의 예시는 태그에 기반한 X-Ray 그룹 및 샘플링 규칙에 대한 액세스 관리에서 확인할 수 있습니다.

로컬에서 애플리케이션 실행

계측된 애플리케이션은 추적 데이터를 X-Ray 대몬(daemon)으로 전송합니다. 대몬(daemon)은 세그먼트 문서를 버퍼링하여 X-Ray 서비스에 일괄적으로 업로드합니다. 대몬(daemon)이 추적 데이터와 원격 분석을 X-Ray 서비스에 업로드하려면 쓰기 권한이 필요합니다.

데몬을 로컬에서 실행하는 경우 역할을 생성하고 IAM 역할을 수임한 다음 환경 변수나 사용자 폴더에서 이름이 지정된 폴더 credentials 내 이름이 지정된 파일에 임시 자격 증명을 저장하십시오. .aws 자세한 내용은 AWS CLI임시 보안 자격 증명 사용을 참조하세요.

예 ~/.aws/credentials
[default] aws_access_key_id={access key ID} aws_secret_access_key={access key} aws_session_token={AWS session token}

OR와 함께 사용할 자격 증명을 이미 구성한 경우 데몬은 해당 자격 AWS SDK AWS CLI증명을 사용할 수 있습니다. 여러 프로파일을 사용할 수 있을 경우 대몬(daemon)은 기본 프로파일을 사용합니다.

에서 애플리케이션 실행 AWS

에서 AWS애플리케이션을 실행할 때 역할을 사용하여 데몬을 실행하는 Amazon EC2 인스턴스 또는 Lambda 함수에 권한을 부여하십시오.

X-Ray에 사용할 역할을 생성하려면
  1. 콘솔을 엽니다. IAM

  2. 역할을 선택합니다.

  3. 새 역할 생성을 선택합니다.

  4. Role Name(역할 이름)xray-application을 입력합니다. 다음 단계를 선택합니다.

  5. 역할 유형으로는 Amazon을 선택합니다EC2.

  6. 관리형 정책을 연결하여 애플리케이션에 AWS 서비스서비스에 대한 액세스를 부여합니다.

    • AWSXRayDaemonWriteAccess— X-Ray 데몬에 추적 데이터를 업로드할 수 있는 권한을 부여합니다.

    애플리케이션에서 AWS SDK 를 사용하여 다른 서비스에 액세스하는 경우 해당 서비스에 대한 액세스 권한을 부여하는 정책을 추가하십시오.

  7. 다음 단계를 선택합니다.

  8. 역할 생성을 선택합니다.

암호화에 대한 사용자 권한

X-Ray는 모든 트레이스 데이터를 기본적으로 암호화하며, 관리하는 키를 사용하도록 구성할 수 있습니다. AWS Key Management Service 고객 관리 키를 선택하는 경우 키의 액세스 정책을 통해 X-Ray에 암호화에 사용할 권한을 부여할 수 있는지 확인해야 합니다. 계정의 다른 사용자도 X-Ray 콘솔에서 암호화된 추적 데이터를 보려면 키에 대한 액세스 권한이 필요합니다.

고객 관리형 키의 경우 다음 작업을 허용하는 액세스 정책으로 키를 구성합니다.

  • X-Ray에서 키를 구성하는 사용자는 kms:CreateGrantkms:DescribeKey를 직접 호출할 수 있는 권한을 가집니다.

  • 암호화된 추적 데이터에 액세스할 수 있는 사용자는 kms:Decrypt를 호출할 수 있는 권한을 가집니다.

IAM콘솔의 키 구성 섹션에서 Key users 그룹에 사용자를 추가하면 해당 사용자는 이 두 작업 모두에 대한 권한을 갖게 됩니다. 키 정책에만 권한을 설정하면 되므로 사용자, 그룹 또는 역할에 대한 AWS KMS 권한은 필요하지 않습니다. 자세한 내용은 AWS KMS 개발자 안내서의 키 정책 사용을 참조하십시오.

기본 암호화의 경우 또는 AWS 관리 CMK (aws/xray) 를 선택한 경우 권한은 X-Ray에 액세스할 수 있는 사용자를 기반으로 APIs 합니다. AWSXrayFullAccess에 포함된 PutEncryptionConfig에 액세스할 수 있는 사람은 누구나 암호화 구성을 변경할 수 있습니다. 사용자가 암호화 키를 변경하지 못하게 하려면 PutEncryptionConfig를 사용할 권한을 부여하지 마십시오.