Amazon Connect 리소스 수준 정책 예제 - Amazon Connect

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

Amazon Connect 리소스 수준 정책 예제

Amazon Connect에서는 사용자에 대한 리소스 수준 권한을 지원하므로 다음 정책에 나온 것처럼 인스턴스에서 IAM 사용자에 대한 작업을 지정할 수 있습니다.

“삭제” 및 “업데이트” 작업 거부

다음 샘플 정책은 하나의 Amazon Connect 인스턴스에서 사용자에 대한 “삭제” 및 “업데이트” 작업을 거부합니다. 전체 사용자 ARN(arn:aws:connect:us-east-1:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1/agent/00dtcddd1-123e-111e-93e3-11111bfbfcc1 같이 제공된 인스턴스의 모든 Amazon Connect 사용자)에 대해 “사용자 삭제” 및 “사용자 업데이트”가 거부되도록 Amazon Connect 사용자 ARN의 끝에 와일드카드를 사용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "connect:DeleteUser", "connect:UpdateUser*" ], "Resource": "arn:aws:connect:us-east-1:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1/agent/*" } ] }

특정 이름의 통합에 대한 작업 허용

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllAppIntegrationsActions", "Effect": "Allow", "Action": [ "app-integrations:ListEventIntegrations", "app-integrations:CreateEventIntegration", "app-integrations:GetEventIntegration", "app-integrations:UpdateEventIntegration", "app-integartions:DeleteEventIntegration" ], "Resource":"arn:aws:appintegrations:*:*:event-integration/MyNamePrefix-*" } ] }

“사용자 생성”을 허용하지만 특정 보안 프로필에 할당된 경우에는 거부

다음 샘플 정책은 “사용자 생성”을 허용하지만 arn:aws:connect:us-west- 2:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1/security-profile/11dtcggg1-121e-93e3-11111bfbcc17 사용을 명시적으로 거부합니다. 요청시 보안 프로파일의 매개 변수로 사용합니다. CreateUser

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "connect:CreateUser" ], "Resource": "*", }, { "Effect": "Deny", "Action": [ "connect:CreateUser" ], "Resource": "arn:aws:connect:us-west-2:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc17/security-profile/11dtcggg1-123e-111e-93e3-11111bfbfcc17", } ] }

고객 응대에 대한 레코딩 작업 허용

다음 샘플 정책은 특정 인스턴스에서 고객 응대에 대한 "고객 응대 녹화물 시작"을 허용합니다. contactID는 동적이므로 *가 사용됩니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "connect:StartContactRecording" ], "Resource": "arn:aws:connect:us-west-2:accountID:instance/instanceId/contact/*", "Effect": "Allow" } ] }

accountID와 신뢰할 수 있는 관계를 설정합니다.

녹화 API에 대해 정의된 작업은 다음과 같습니다.

  • “연결: StartContact 레코딩”

  • “연결: StopContact 레코딩”

  • “연결: SuspendContact 레코딩”

  • “연결: ResumeContact 레코딩”

동일한 역할에서 더 많은 고객 응대 작업 허용

다른 고객 응대 API를 호출하는 데 동일한 역할을 사용하는 경우에는 다음과 같은 고객 응대 작업을 나열할 수 있습니다.

  • GetContact속성

  • ListContact플로우

  • StartChat연락처

  • StartOutboundVoiceContact

  • StopContact

  • UpdateContact특성

또는 와일드카드를 사용하여 모든 고객 응대 작업 허용(예: "connect:*")

추가 리소스 허용

와일드카드를 사용하여 더 많은 리소스를 허용할 수도 있습니다. 예를 들어, 모든 고객 응대 리소스에서 모든 연결 작업을 허용하는 방법은 다음과 같습니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "connect:*" ], "Resource": "arn:aws:connect:us-west-2:accountID:instance/*/contact/*", "Effect": "Allow" } ] }

복제 리전의 전화번호에 대한 대기열 API 작업 허용 또는 거부

CreateQueueUpdateQueueOutboundCallerConfig API에는 라는 입력 필드가 포함되어 있습니다. OutboundCallerIdNumberId 이 필드는 트래픽 분산 그룹에 청구할 수 있는 전화번호 리소스를 나타냅니다. Numbers에서 반환되는 전화번호 V1 ARN 형식과 ListPhoneNumbersV2에서 반환되는 V2 ARN 형식을 모두 지원합니다. ListPhone

다음은 OutboundCallerIdNumberId에서 지원하는 V1 및 V2 ARN입니다.

  • V1 ARN 형식: arn:aws:connect:your-region:your-account_id:instance/instance_id/phone-number/resource_id

  • V2 ARN 형식: arn:aws:connect:your-region:your-account_id:phone-number/resource_id

참고

V2 ARN 형식을 사용하는 것이 좋습니다. V1 ARN 형식은 향후 더 이상 사용되지 않을 예정입니다.

복제 리전의 전화번호 리소스에 대해 두 가지 ARN 형식을 모두 제공

전화번호가 트래픽 분산 그룹에 요청된 경우, 복제 리전에서 작동하는 동안 전화번호 리소스에 대한 대기열 API 작업에 대한 액세스를 올바르게 허용/거부하려면 전화번호 리소스를 V1 및 V2 ARN 형식으로 모두 제공해야 합니다. 전화번호 리소스를 하나의 ARN 형식으로만 제공하면 복제 리전에서 작동하는 동안 올바른 허용/거부 동작이 발생하지 않습니다.

예 1: 액세스 거부 CreateQueue

예를 들어, 계정 123456789012 및 인스턴스 aaaaaaaa-bbbb-cccc-dddd-0123456789012의 복제 리전 us-west-2에서 운영 중입니다. OutboundCallerIdNumberId값이 리소스 ID를 가진 트래픽 분배 그룹에 요청된 전화번호인 경우 CreateQueueAPI에 대한 액세스를 거부하고 싶습니다. aaaaaaaa-eeee-ffff-gggg-0123456789012 이 시나리오에서는 다음 정책을 사용해야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyCreateQueueForSpecificNumber", "Effect": "Deny", "Action": "connect:CreateQueue", "Resource": [ "arn:aws:connect:us-east-1:123456789012:phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012", "arn:aws:connect:us-west-2:123456789012:instance/aaaaaaaa-bbbb-cccc-dddd-0123456789012/phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012" ] } ] }

여기서 us-west-2는 요청이 이루어지는 리전입니다.

예 2: 다음에 대한 액세스만 허용 UpdateQueueOutboundCallerConfig

예를 들어, 계정 123456789012 및 인스턴스 aaaaaaaa-bbbb-cccc-dddd-0123456789012의 복제 리전 us-west-2에서 운영 중입니다. OutboundCallerIdNumberId값이 리소스 ID를 가진 트래픽 분배 그룹에 요청된 전화번호인 경우에만 UpdateQueueOutboundCallerConfig API에 대한 액세스를 허용하려고 합니다. aaaaaaaa-eeee-ffff-gggg-0123456789012 이 시나리오에서는 다음 정책을 사용해야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "OnlyAllowUpdateQueueOutboundCallerConfigForSpecificNumber", "Effect": "Allow", "Action": "connect:UpdateQueueOutboundCallerConfig", "Resource": [ "arn:aws:connect:us-east-1:123456789012:phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012", "arn:aws:connect:us-west-2:123456789012:instance/aaaaaaaa-bbbb-cccc-dddd-0123456789012/phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012" ] } ] }

특정 Amazon AppIntegrations 리소스 보기

다음 샘플 정책을 통해 특정 이벤트 통합을 가져올 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "app-integrations:GetEventIntegration" ], "Resource": "arn:aws:app-integrations:us-west-2:accountID:event-integration/Name" } ] }

Amazon Connect Customer Profiles에 대한 액세스 권한 부여

Amazon Connect Customer Profiles는 connect 대신 profile을 작업의 접두사로 사용합니다. 다음 정책은 Amazon Connect Customer Profiles에서 특정 도메인에 대한 전체 액세스 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "profile:*" ], "Resource": "arn:aws:profile:us-west-2:accountID:domains/domainName", "Effect": "Allow" } ] }

accountID와 도메인 domainName의 신뢰 관계를 설정합니다.

Customer Profiles 데이터에 읽기 전용 액세스 권한 부여

다음은 Amazon Connect Customer Profiles의 데이터에 대한 읽기 액세스 권한을 부여하는 예제입니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "profile:SearchProfiles", "profile:ListObjects" ], "Resource": "arn:aws:profile:us-west-2:accountID:domains/domainName", "Effect": "Allow" } ] }

특정 어시스턴트에 대해서만 Amazon Q in Connect 쿼리

다음 샘플 정책은 특정 어시스턴트만 쿼리할 수 있도록 허용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "wisdom:QueryAssistant " ], "Resource": "arn:aws:wisdom:us-west-2:accountID:assistant/assistantID" } ] }

Amazon Connect Voice ID에 대한 전체 액세스 권한 부여

Amazon Connect Voice ID는 연결 대신 작업의 접두사로 voiceid를 사용합니다. 다음 정책은 Amazon Connect Voice ID에서 특정 도메인에 대한 전체 액세스 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "voiceid:*" ], "Resource": "arn:aws:voiceid:us-west-2:accountID:domain/domainName", "Effect": "Allow" } ] }

accountID와 도메인 domainName의 신뢰 관계를 설정합니다.

Amazon Connect 아웃바운드 캠페인 리소스에 대한 액세스 권한 부여

아웃바운드 캠페인은 connect 대신 작업의 접두사로 connect-campaign을 사용합니다. 다음 정책은 특정 아웃바운드 캠페인에 대한 전체 액세스 권한을 부여합니다.

{ "Sid": "AllowConnectCampaignsOperations", "Effect": "Allow", "Action": [ "connect-campaigns:DeleteCampaign", "connect-campaigns:DescribeCampaign", "connect-campaigns:UpdateCampaignName", "connect-campaigns:GetCampaignState" "connect-campaigns:UpdateOutboundCallConfig", "connect-campaigns:UpdateDialerConfig", "connect-campaigns:PauseCampaign", "connect-campaigns:ResumeCampaign", "connect-campaigns:StopCampaign" ], "Resource": "arn:aws:connect-campaigns:us-west-2:accountID:campaign/campaignId", }

Amazon Connect Contact Lens로 분석한 트랜스크립트에 대한 검색 기능 제한

다음 정책은 연락 검색 및 설명을 허용하지만 Amazon Connect Contact Lens로 분석한 트랜스크립트를 사용한 연락 검색은 거부합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "connect:DescribeContact" ], "Resource": "arn:aws:connect:region:account-id:instance/instance-id/contact/*" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "connect:SearchContacts" ], "Resource": "arn:aws:connect:region:account-id:instance/instance-id" }, { "Sid": "VisualEditor2", "Effect": "Deny", "Action": [ "connect:SearchContacts" ], "Resource": "arn:aws:connect:region:account-id:instance/instance-id", "Condition": { "ForAnyValue:StringEquals": { "connect:SearchContactsByContactAnalysis": [ "Transcript" ] } } } ] }