QLDB의 스트림 권한 - Amazon Quantum Ledger Database(QLDB)

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

QLDB의 스트림 권한

Amazon QLDB 스트림을 생성하기 전에 지정된 Amazon Kinesis Data Streams 리소스에 대한 쓰기 권한을 QLDB에 제공해야 합니다. Kinesis 스트림의 서버 측 암호화에 고객 관리형 AWS KMS key 를 사용하는 경우 QLDB에 지정된 대칭 암호화 키를 사용할 수 있는 권한도 제공해야 합니다. Kinesis Data Streams는 비대칭 KMS 키를 지원하지 않습니다.

QLDB 스트림에 필요한 권한을 제공하려면 적절한 권한 정책을 사용하여 QLDB가 IAM 서비스 역할을 맡도록 합니다. 서비스 역할은 서비스가 사용자를 대신하여 작업을 수행하는 것으로 가정하는 IAM role(IAM 역할)입니다. IAM 관리자는 IAM 내에서 서비스 역할을 생성, 수정 및 삭제할 수 있습니다. 자세한 내용은 IAM 사용자 설명서역할을 생성하여  AWS 서비스에게 권한 위임을 참조하세요.

참고

저널 스트림을 요청할 때 QLDB에 역할을 전달하려면 IAM 역할 리소스에서 iam:PassRole 작업을 수행할 수 있는 권한이 있어야 합니다. 이는 QLDB 스트림 하위 리소스에 대한 qldb:StreamJournalToKinesis 권한에 추가됩니다.

IAM을 사용하여 QLDB에 대한 액세스를 제어하는 방법을 알아보려면 Amazon QLDB에서 IAM을 사용하는 방법 섹션을 참조하세요. QLDB 정책 예제는 Amazon QLDB의 자격 증명 기반 정책 예 섹션을 참조하세요.

이 예시에서는 QLDB가 사용자 대신 Kinesis 데이터 스트림에 데이터 레코드를 기록하도록 허용하는 역할을 생성합니다. 자세한 내용은 IAM 사용자 설명서역할을 생성하여  AWS 서비스에게 권한 위임을 참조하세요.

QLDB 저널을 처음으로 스트리밍하는 경우 먼저 다음을 수행하여 적절한 정책을 사용하여 IAM 역할을 생성해야 합니다. AWS 계정 또는 QLDB 콘솔을 사용하여 자동으로 역할을 생성할 수 있습니다. 또는 이전에 생성한 역할을 선택할 수 있습니다.

권한 정책 생성

QLDB 스트림에 대한 권한 정책을 생성하려면 다음 단계를 완료합니다. 이 예제는 지정된 Kinesis 데이터 스트림에 데이터 레코드를 쓸 수 있는 권한을 QLDB에 부여하는 Kinesis Data Streams 정책을 보여줍니다. 해당하는 경우 이 예제에서는 QLDB가 대칭 암호화 KMS 키를 사용하도록 허용하는 키 정책도 보여줍니다.

Kinesis Data Streams 정책에 대한 자세한 내용은 Amazon Kinesis Data Streams 개발자 안내서IAM을 사용하여 Amazon Kinesis Data Streams 리소스에 대한 액세스 제어사용자 생성 KMS 키를 사용할 수 있는 권한을 참조하세요. AWS KMS 키 정책에 대해 자세히 알아보려면 개발자 안내서의 키 정책 사용을 참조하십시오. AWS KMSAWS Key Management Service

참고

Kinesis 데이터 스트림과 KMS 키는 모두 QLDB AWS 리전 원장과 동일한 계정 내에 있어야 합니다.

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

  2. 왼쪽의 탐색 열에서 정책을 선택합니다.

    정책을 처음으로 선택하는 경우 관리형 정책 소개 페이지가 나타납니다. 시작하기를 선택합니다.

  3. 페이지 상단에서 정책 생성을 선택합니다.

  4. JSON 탭을 선택합니다.

  5. JSON 정책 문서를 입력합니다.

    • Kinesis 스트림의 서버 측 암호화에 고객 관리형 KMS 키를 사용하는 경우 다음 예제 정책 문서를 사용하세요. 이 정책을 사용하려면 예제의 us-east-1, 123456789012 및 1234abcd-12ab-34cd-56ef-1234567890ab를 자체 정보로 대체하십시오. kinesis-stream-name

      { "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBStreamKinesisPermissions", "Action": [ "kinesis:PutRecord*", "kinesis:DescribeStream", "kinesis:ListShards" ], "Effect": "Allow", "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/kinesis-stream-name" }, { "Sid": "QLDBStreamKMSPermission", "Action": [ "kms:GenerateDataKey" ], "Effect": "Allow", "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }
    • 다음은 정책 문서의 예입니다. 이 정책을 사용하려면 예시에서 us-east-1, kinesis-stream-name123456789012를 사용자 고유의 정보로 바꾸십시오.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBStreamKinesisPermissions", "Action": [ "kinesis:PutRecord*", "kinesis:DescribeStream", "kinesis:ListShards" ], "Effect": "Allow", "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/kinesis-stream-name" } ] }
  6. 정책 검토를 선택합니다.

    참고

    언제든지 시각적 편집기JSON 탭을 전환할 수 있습니다. 그러나 변경을 수행하거나 시각적 편집기 탭에서 정책 검토를 선택한 경우 IAM은 시각적 편집기에 최적화되도록 정책을 재구성할 수 있습니다. 자세한 내용은 IAM 사용자 설명서정책 재구성을 참조하세요.

  7. 정책 검토 페이지에서 생성하려는 정책의 이름설명(선택 사항)을 입력합니다. 정책 요약을 검토하여 정책이 부여한 권한을 확인합니다. 그런 다음 정책 생성을 선택하여 작업을 저장합니다.

IAM 역할 생성

QLDB 스트림에 대한 권한 정책을 생성한 후 IAM 역할을 생성하고 정책을 여기에 연결할 수 있습니다.

QLDB에 대한 서비스 역할을 생성하는 방법(IAM 콘솔)
  1. 로그인하고 https://console.aws.amazon.com/iam/ 에서 IAM 콘솔을 엽니다. AWS Management Console

  2. IAM 콘솔의 탐색 창에서 역할을 선택하고 역할 생성을 선택합니다.

  3. 신뢰할 수 있는 엔터티 유형AWS 서비스를 선택합니다.

  4. 서비스 또는 사용 사례의 경우 QLDB를 선택한 다음 QLDB 사용 사례를 선택합니다.

  5. 다음을 선택합니다.

  6. 앞에서 생성한 정책 옆의 상자를 선택합니다.

  7. (선택 사항)권한 경계로서 설정됩니다. 이는 서비스 역할에서 가능한 고급 기능이며 서비스 링크된 역할은 아닙니다.

    1. 권한 경계 설정 섹션을 열고 최대 역할 권한을 관리하기 위한 권한 경계 사용을 선택합니다.

      IAM에는 계정의 AWS 관리형 및 고객 관리형 정책 목록이 포함되어 있습니다.

    2. 정책을 선택하여 권한 경계를 사용하세요.

  8. 다음을 선택합니다.

  9. 역할의 목적을 식별하는 데 도움이 되는 역할 이름이나 역할 이름 접미사를 입력합니다.

    중요

    역할 이름을 지정할 때는 다음 사항에 유의하세요.

    • 역할 이름은 사용자 내에서 고유해야 AWS 계정하며 대소문자를 구분하여 고유하게 지정할 수 없습니다.

      예를 들어, 이름이 PRODROLEprodrole, 두 가지로 지정된 역할을 만들지 마십시오. 역할 이름이 정책 또는 ARN의 일부로 사용되는 경우 역할 이름은 대소문자를 구분합니다. 그러나 로그인 프로세스와 같이 콘솔에서 역할 이름이 고객에게 표시되는 경우에는 역할 이름이 대소문자를 구분하지 않습니다.

    • 다른 엔터티가 역할을 참조할 수 있기 때문에 역할이 생성된 후에는 역할 이름을 편집할 수 없습니다.

  10. (선택 사항)설명에 역할에 대한 설명을 입력합니다.

  11. (선택 사항) 역할에 대한 사용 사례와 권한을 편집하려면 1단계: 신뢰할 수 있는 엔터티 선택 또는 2단계: 권한 추가 섹션에서 편집을 선택합니다.

  12. (선택 사항) 태그를 키-값 페어로 연결하여 역할을 식별, 구성 또는 검색합니다. IAM에서 태그 사용에 대한 자세한 내용을 알아보려면 IAM 사용 설명서의 IAM 리소스에 태그 지정을 참조하세요.

  13. 역할을 검토한 다음 역할 생성을 선택합니다.

다음 JSON 문서는 QLDB가 특정 권한이 부여된 IAM 역할을 맡도록 허용하는 신뢰 정책의 예입니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "qldb.amazonaws.com" }, "Action": [ "sts:AssumeRole" ], "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:qldb:us-east-1:123456789012:stream/myExampleLedger/*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }
참고

이 신뢰 정책 예시에서 aws:SourceArnaws:SourceAccount 전역 조건 컨텍스트 키를 사용하여 혼동된 대리자 문제를 방지하는 방법을 보여줍니다. 이 신뢰 정책을 사용하면 QLDB는 원장 myExampleLedger에 대한 계정 123456789012의 모든 QLDB 스트림에 대한 역할만 맡을 수 있습니다.

자세한 내용은 교차 서비스 혼동된 대리자 예방을 참조하십시오.

IAM 역할을 생성한 후 QLDB 콘솔로 돌아가서 QLDB 스트림 생성 페이지를 새로 고쳐 새 역할을 찾을 수 있도록 합니다.