대화 로그에 대한 IAM 정책 - Amazon Lex

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

대화 로그에 대한 IAM 정책

선택한 로깅 유형에 따라 Amazon Lex V2에는 Amazon CloudWatch Logs 및 Amazon Simple Storage Service (S3) 버킷을 사용하여 로그를 저장할 수 있는 권한이 필요합니다. Amazon Lex V2가 이러한 리소스에 액세스할 수 있도록 하려면 AWS Identity and Access Management 역할과 권한을 생성해야 합니다.

대화 로그에 대한 IAM 역할 및 정책 생성

대화 로그를 활성화하려면 Logs 및 Amazon S3에 대한 CloudWatch 쓰기 권한을 부여해야 합니다. S3 객체에 대해 객체 암호화를 활성화하는 경우 객체를 암호화하는 데 사용된 AWS KMS 키에 액세스 권한을 부여해야 합니다.

IAM 콘솔, IAM API 또는 를 사용하여 역할과 정책을 생성할 AWS Command Line Interface 수 있습니다. 이 지침에서는 AWS CLI 를 사용하여 역할과 정책을 생성합니다.

참고

다음 코드는 Linux 및 MacOS 용으로 형식이 지정됩니다. Windows의 경우 Linux 줄 연속 문자(\)를 캐럿(^)으로 바꿉니다.

대화 로그에 대한 IAM 역할 을 만들려면
  1. LexConversationLogsAssumeRolePolicyDocument.json이라는 현재 디렉터리에 문서를 만들고 다음 코드를 추가한 다음 저장합니다. 이 정책 문서는 Amazon Lex V2를 역할에 대한 신뢰할 수 있는 엔터티로써 추가합니다. 이를 통해 Amazon Lex는 대화 로그를 위해 구성된 리소스로 로그를 전달하기 위한 역할을 위임할 수 있습니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lexv2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 에서 다음 AWS CLI명령을 실행하여 대화 로그에 대한 IAM 역할을 생성합니다.

    aws iam create-role \ --role-name role-name \ --assume-role-policy-document file://LexConversationLogsAssumeRolePolicyDocument.json

다음으로 Amazon Lex V2가 CloudWatch Logs에 쓸 수 있도록 하는 정책을 생성하여 역할에 연결합니다.

대화 텍스트를 로그에 기록하기 위한 IAM 정책을 만들려면 CloudWatch
  1. LexConversationLogsCloudWatchLogsPolicy.json이라는 현재 디렉터리에 문서를 만들고 다음 IAM 정책 을 추가한 다음 저장합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:region:account-id:log-group:log-group-name:*" } ] }
  2. 에서 AWS CLI로그 CloudWatch 로그 그룹에 쓰기 권한을 부여하는 IAM 정책을 생성합니다.

    aws iam create-policy \ --policy-name cloudwatch-policy-name \ --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json
  3. 대화 로그에 대해 생성한 IAM 역할 에 정책을 연결합니다.

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::account-id:policy/cloudwatch-policy-name \ --role-name role-name

S3 버킷에 오디오를 로깅하는 경우 Amazon Lex V2가 버킷에 쓸 수 있도록 허용하는 정책을 생성합니다.

S3 버킷에 오디오를 로깅하기 위한 IAM 정책을 만들려면
  1. LexConversationLogsS3Policy.json이라는 현재 디렉터리에 문서를 만들고 다음의 정책을 추가한 후 저장합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket-name/*" } ] }
  2. 에서 S3 버킷에 쓰기 권한을 부여하는 IAM 정책을 생성합니다. AWS CLI

    aws iam create-policy \ --policy-name s3-policy-name \ --policy-document file://LexConversationLogsS3Policy.json
  3. 대화 로그에 대해 생성한 역할에 정책을 연결합니다.

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::account-id:policy/s3-policy-name \ --role-name role-name

IAM 역할 전달 권한 부여

콘솔 AWS Command Line Interface, 또는 AWS SDK를 사용하여 대화 로그에 사용할 IAM 역할을 지정하는 경우 대화 로그 IAM 역할을 지정하는 사용자에게 Amazon Lex V2에 역할을 전달할 권한이 있어야 합니다. 사용자가 역할을 Amazon Lex V2에 전달하도록 하려면 사용자의 IAM 사용자, 역할 또는 그룹에 PassRole 권한을 부여해야 합니다.

다음 정책은 사용자, 역할 또는 그룹에게 부여할 권한을 정의합니다. iam:AssociatedResourceArniam:PassedToService 조건 키를 사용해 권한 범위를 제한할 수 있습니다. 자세한 내용은 사용 설명서의 AWS 서비스에 역할을 전달할 수 있는 사용자 권한 부여IAM 및 AWS STS 조건 컨텍스트 키 부여를 참조하십시오.AWS Identity and Access Management

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/role-name", "Condition": { "StringEquals": { "iam:PassedToService": "lexv2.amazonaws.com" }, "StringLike": { "iam:AssociatedResourceARN": "arn:aws:lex:region:account-id:bot:bot-name:bot-alias" } } } ] }