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.
Conteúdo
- Negar as ações “Excluir” e “Atualizar”
- Permitir ações para integrações com nomes específicos
- Permitir “Criar usuários”, mas negar se você for atribuído a um perfil de segurança específico
- Permitir ações de gravação em um contato
- Permitir ou negar ações de fila da API para números de telefone em uma região de réplica
- Exibir recursos específicos do Amazon AppIntegrations
- Conceder acesso ao Amazon Connect Customer Profiles
- Conceder acesso somente leitura aos dados do Customer Profiles
- Consultar o Amazon Q in Connect somente para um assistente específico
- Conceder acesso total ao Amazon Connect Voice ID
- Conceder acesso aos recursos de Campanhas Externas do Amazon Connect
- Restringir a capacidade de pesquisar transcrições analisadas pelo Amazon Connect Contact Lens
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" ] } } } ] }