교차 계정 전송에 대한 IAM 역할 - Amazon Virtual Private Cloud

교차 계정 전송에 대한 IAM 역할

Amazon Data Firehose에 게시할 때 모니터링할 리소스와 동일한 계정(소스 계정) 또는 상이한 계정(대상 계정)에 있는 전송 스트림을 선택할 수 있습니다. Amazon Data Firehose에 대한 흐름 로그의 교차 계정 전송을 활성화하려면 소스 계정에서 IAM 역할을 생성하고 대상 계정에서 IAM 역할을 생성해야 합니다.

소스 계정 역할

소스 계정에서 다음과 같은 권한을 부여하는 역할을 생성합니다. 이 예시에서는 역할 이름이 mySourceRole이지만, 이 역할에 대해 다른 이름을 선택할 수 있습니다. 마지막 명령문에서는 대상 계정의 역할에 이 역할 수임을 허용합니다. 조건문에서는 지정된 리소스를 모니터링할 때만 이 역할이 로그 전송 서비스에만 전달되도록 합니다. 정책을 생성할 때 모니터링 중인 VPC, 네트워크 인터페이스 또는 서브넷을 조건 키(iam:AssociatedResourceARN)로 지정합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::source-account:role/mySourceRole", "Condition": { "StringEquals": { "iam:PassedToService": "delivery.logs.amazonaws.com" }, "StringLike": { "iam:AssociatedResourceARN": [ "arn:aws:ec2:region:source-account:vpc/vpc-00112233344556677" ] } } }, { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:GetLogDelivery" ], "Resource": "*" }, { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::destination-account:role/AWSLogDeliveryFirehoseCrossAccountRole" } ] }

로그 전송 서비스에서 역할을 수임할 수 있는 다음과 같은 신뢰 정책이 이 역할에 있는지 확인하세요.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

소스 계정에서 다음과 같은 절차를 사용하여 역할을 생성합니다.

소스 계정 역할을 생성하는 방법
  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 Policies를 선택합니다.

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

  4. [Create policy(정책 생성)] 페이지에서 다음을 수행합니다.

    1. JSON을 선택합니다.

    2. 이 창의 내용을 이 섹션의 시작 부분에 있는 권한 정책으로 대체합니다.

    3. Next(다음)를 선택합니다.

    4. 정책의 이름과 설명(선택 사항) 및 태그를 입력한 다음에 정책 생성을 선택합니다.

  5. 탐색 창에서 Roles를 선택합니다.

  6. 역할 생성(Create role)을 선택합니다.

  7. 신뢰할 수 있는 엔터티 유형(Trusted entity type)에서 사용자 지정 정책(Custom trust policy)을 선택합니다. Custom trust policy(사용자 지정 신뢰 정책)에서 로그 전송 서비스를 지정하는 다음으로 "Principal": {},을 대체합니다. Next(다음)를 선택합니다.

    "Principal": { "Service": "delivery.logs.amazonaws.com" },
  8. Add permissions(권한 추가) 페이지에서 이 절차의 앞부분에서 생성한 정책의 확인란을 선택한 후 Next(다음)를 선택합니다.

  9. 역할 이름을 입력하고 선택적으로 설명을 제공합니다.

  10. 역할 생성(Create role)을 선택합니다.

대상 계정 역할

대상 계정에서 AWSLogDeliveryFirehoseCrossAccountRole로 시작하는 이름으로 역할을 생성합니다. 이 역할에서는 다음과 같은 권한을 부여해야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "firehose:TagDeliveryStream" ], "Resource": "*" } ] }

이 역할을 수임할 수 있도록 소스 계정에서 생성한 역할이 허용되는 다음과 같은 신뢰 정책이 이 역할에 있는지 확인하세요.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account:role/mySourceRole" }, "Action": "sts:AssumeRole" } ] }

대상 계정에서 다음과 같은 절차를 사용하여 역할을 생성합니다.

대상 계정 역할을 생성하는 방법
  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 Policies를 선택합니다.

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

  4. [Create policy(정책 생성)] 페이지에서 다음을 수행합니다.

    1. JSON을 선택합니다.

    2. 이 창의 내용을 이 섹션의 시작 부분에 있는 권한 정책으로 대체합니다.

    3. Next(다음)를 선택합니다.

    4. AWSLogDeliveryFirehoseCrossAccountRole로 시작하는 정책 이름을 입력한 다음에 정책 생성(Create policy)을 선택합니다.

  5. 탐색 창에서 Roles를 선택합니다.

  6. 역할 생성(Create role)을 선택합니다.

  7. 신뢰할 수 있는 엔터티 유형(Trusted entity type)에서 사용자 지정 정책(Custom trust policy)을 선택합니다. Custom trust policy(사용자 지정 신뢰 정책)에서 소스 계정 역할을 지정하는 다음으로 "Principal": {},을 대체합니다. Next(다음)를 선택합니다.

    "Principal": { "AWS": "arn:aws:iam::source-account:role/mySourceRole" },
  8. Add permissions(권한 추가) 페이지에서 이 절차의 앞부분에서 생성한 정책의 확인란을 선택한 후 Next(다음)를 선택합니다.

  9. 역할 이름을 입력하고 선택적으로 설명을 제공합니다.

  10. 역할 생성(Create role)을 선택합니다.