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

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

대화 로그에 대한 IAM 정책

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

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

대화 로그를 활성화하려면, CloudWatch Logs 및 Amazon S3 에 대한 쓰기 권한을 부여해야 합니다. 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 에 쓸 수 있도록 하는 정책을 만들어 역할에 연결합니다.

대화 텍스트를 CloudWatch Logs에 로깅하기 위한 IAM 정책을 만들려면
  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. 에서 CloudWatch Logs 로그 그룹에 쓰기 권한을 부여하는 IAM 정책을 AWS CLI생성합니다.

    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 Identity and Access Management 설명서AWS 서비스 및 IAM 및 조건 컨텍스트 키에 역할을 전달할 수 있는 사용자 권한 부여를 참조하세요 AWS STS.

{ "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" } } } ] }