Exemplos de política em nível de recurso do Amazon Connect - Amazon Connect

Exemplos de política em nível de recurso do Amazon Connect

O Amazon Connect comporta permissões em nível de recurso para usuários, para que você possa especificar ações para eles em uma instância, conforme mostrado na política a seguir.

Negar as ações “Excluir” e “Atualizar”

Esta política de exemplo nega as ações “excluir” e “atualizar” para usuários em uma instância do Amazon Connect. Ela usa um curinga no final do ARN do usuário do Amazon Connect para que as ações “excluir usuário” e “atualizar usuário” sejam negadas no ARN completo do usuário (ou seja, todos os usuários do Amazon Connect na instância fornecida, como arn:aws:connect:us-east-1:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1/agent/00dtcddd1-123e-111e-93e3-11111bfbfcc1).

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

Permitir ações para integrações com nomes específicos

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

Permitir “Criar usuários”, mas negar se você for atribuído a um perfil de segurança específico

A política de exemplo a seguir permite "criar usuários", mas nega explicitamente o uso de arn:aws:connect:us-west-2:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1/security-profile/11dtcggg1-123e-111e-93e3-11111bfbfcc17 como o parâmetro do perfil de segurança na solicitação 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", } ] }

Permitir ações de gravação em um contato

O exemplo de política a seguir permite “iniciar a gravação de contato” em um contato em uma instância específica. Como o ContactID é dinâmico, usa-se *.

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

Configurar um relacionamento confiável com accountID.

As seguintes ações de política são definidas para as APIs de gravação:

  • "connect:StartContactRecording"

  • "connect:StopContactRecording"

  • "connect:SuspendContactRecording"

  • "connect:ResumeContactRecording"

Permitir mais ações de contato na mesma função

Se a mesma função for usada para chamar outras APIs de contato, você poderá listar as seguintes ações de contato:

  • GetContactAttributes

  • ListContactFlows

  • StartChatContact

  • StartOutboundVoiceContact

  • StopContact

  • UpdateContactAttributes

Ou use um curinga para permitir todas as ações de contato; por exemplo, "connect:*".

Permita mais recursos

Você também pode usar um caractere curinga para permitir mais recursos. Por exemplo, veja como permitir todas as ações de conexão em todos os recursos de contato:

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

Permitir ou negar ações de fila da API para números de telefone em uma região de réplica

As APIs CreateQueue e UpdateQueueOutboundCallerConfig contêm um campo de entrada chamado OutboundCallerIdNumberId. Esse campo representa um recurso de número de telefone que pode ser solicitado para um grupo de distribuição de tráfego. Ele é compatível com o formato de ARN V1 do número de telefone, retornado por ListPhoneNumbers e o formato de ARN V2, retornado por ListPhoneNumbersV2.

Veja o seguintes formatos de ARN V1 e V2 compatíveis com OutboundCallerIdNumberId:

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

  • Formato de ARN V2: arn:aws:connect:your-region:your-account_id:phone-number/resource_id

nota

Recomendamos usar o formato de ARN V2. O formato de ARN V1 =será descontinuado no futuro.

Fornecer os dois formatos de ARN para recursos de número de telefone na região da réplica

Se o número de telefone for solicitado para um grupo de distribuição de tráfego, para permitir/negar corretamente o acesso às ações da API de fila para recursos de número de telefone ao operar na região de réplica, será necessário fornecer o recurso de número de telefone nos formatos de ARN V1 e V2. Se você fornecer o recurso de número de telefone em apenas um formato de ARN, não obterá o comportamento correto de permitir/negar ao operar na região de réplica.

Exemplo 1: Negar acesso a CreateQueue

Por exemplo, você está operando da região de réplica us-west-2 com a conta 123456789012 e a instância aaaaaaaa-bbbb-cccc-dddd-0123456789012. Você quer negar o acesso à API CreateQueue quando o valor de OutboundCallerIdNumberId for um número de telefone solicitado para um grupo de distribuição de tráfego com ID de recurso aaaaaaaa-eeee-ffff-gggg-0123456789012. Nesse cenário, você deve usar a seguinte política de bucket:

{ "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 é a região em que a solicitação está sendo feita.

Exemplo 2: Permitir acesso somente a UpdateQueueOutboundCallerConfig

Por exemplo, você está operando da região de réplica us-west-2 com a conta 123456789012 e a instância aaaaaaaa-bbbb-cccc-dddd-0123456789012. Você quer permitir acesso à API UpdateQueueOutboundCallerConfig apenas quando o valor de OutboundCallerIdNumberId for um número de telefone solicitado para um grupo de distribuição de tráfego com ID de recurso aaaaaaaa-eeee-ffff-gggg-0123456789012. Nesse cenário, você deve usar a seguinte política de bucket:

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

Exibir recursos específicos do Amazon AppIntegrations

O exemplo de política a seguir permite buscar integrações de eventos.

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

Conceder acesso ao Amazon Connect Customer Profiles

O Amazon Connect Customer Profiles usa profile como prefixo para ações em vez de connect. A política a seguir concede acesso completo a um domínio específico no Amazon Connect Customer Profiles.

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

Configure um relacionamento confiável entre accountID e o domínio domainName.

Conceder acesso somente leitura aos dados do Customer Profiles

Veja a seguir um exemplo de concessão de acesso de leitura aos dados no 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" } ] }

Consultar o Amazon Q in Connect somente para um assistente específico

O exemplo de política a seguir permite consultar somente um assistente específico.

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

Conceder acesso total ao Amazon Connect Voice ID

O Amazon Connect Voice ID usa voiceid como prefixo para ações em vez de connect. A política a seguir concede acesso completo a um domínio específico no Amazon Connect Voice ID.

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

Configure um relacionamento confiável entre accountID e o domínio domainName.

Conceder acesso aos recursos de Campanhas Externas do Amazon Connect

As campanhas externas usam connect-campaign como prefixo para ações em vez de connect. A política a seguir concede acesso completo a uma campanha externa específica.

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

Restringir a capacidade de pesquisar transcrições analisadas pelo Amazon Connect Contact Lens

A política a seguir permite pesquisar e descrever contatos, mas nega pesquisar um contato usando transcrições analisadas pelo 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" ] } } } ] }