# Compartilhar um convite de usuário no AWS QuickSight - Solução Alternativa

## Problema

Um cliente utiliza o AWS QuickSight como seu dashboard para apresentar visualmente alguns dados e informações através de gráficos. Então é comum enviarem um email de convite de acesso para este dashboard através do console AWS, porém o problema está nesta etapa, esses emails de convite do AWS QuickSight demoram para chegar ou nem sempre são recebidos pelo destinatário e é importante dizer que o problema não está no envio por parte da AWS, pois possuem uma taxa de entrega confiável.

Há várias possíveis causas para isso, mas o mais provável é que os servidores de emails das empresas que recebem esses convites, por acaso, estejam bloqueando o recebimento deste email por alguma política interna de segurança ou de spam.

Este fluxo se parece desta forma:

* No console do `AWS QuickSigh` → clique no botão `Convidar Usuários`
    
* ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1706209411893/f9f3308c-3383-4016-8e8e-474c6297f367.png align="center")
    
    Insira os emails que deseja convidar → clique no botão `+`
    

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1706209485262/79ecbc12-cdc7-43da-8d9f-1d468efe5739.png align="center")

* Defina o nível de acesso, no caso como `Leitor` → clique em `Convidar`
    

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1706210145064/94801085-8146-402f-908f-77acbfa9151a.png align="center")

Isso parece ser muito fácil (e realmente é), além disso funciona quase que toda vez, mas este artigo é para demonstrar uma alternativa para se você estiver na mesma situação que me encontrei, ou seja, mesmo fazendo isso o destinatário reporta que não recebe os emails de convite enviados pela AWS.

Se você chegou até aqui e está nessa situação, este artigo é para você, compartilho abaixo uma alternativa para cobrir isso.

---

## Solução

1- Faça login no console `AWS` → clique no botão `Cloudshell`

<div data-node-type="callout">
<div data-node-type="callout-emoji">⚠</div>
<div data-node-type="callout-text"><strong>Atenção:</strong> O usuário que você fizer login precisa ter permissões para o QuickSight, se você está fazendo login como usuário root da conta, já possui essa permissão, se está fazendo login com um usuário IAM, seu usuário precisa ter essas permissões:</div>
</div>

```json
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "quicksight:CreateReader",
                "cloudshell:*",
                "quicksight:CreateUser",
                "quicksight:DeleteUser",
                "quicksight:ListUserGroups",
                "quicksight:DescribeUser",
                "quicksight:CreateAdmin",
                "quicksight:ListUsers",
                "quicksight:UpdateUser",
                "quicksight:RegisterUser",
                "quicksight:SearchUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

<div data-node-type="callout">
<div data-node-type="callout-emoji">ℹ</div>
<div data-node-type="callout-text">Você pode por exemplo criar uma política IAM chamada <code>QuickSighRegisterUser</code> com o conteúdo acima e anexar ao seu usuário</div>
</div>

Uma vez que você tenha feito login no console `AWS`, clicado no `Cloudshell` e seu usuário já possui as permissões discutidas acima, você deve estar vendo uma tela parecida com esta e pronto para seguirmos ao próximo passo:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1706210939755/1668e1a6-a8c9-4784-a30f-8b06c6e28b2d.png align="center")

2- Digite o comando:

```bash
aws quicksight register-user \
--aws-account-id <your-id> \
--identity-type QUICKSIGHT \
--email <recipient-email> \
--user-role READER \
--namespace default \
--user-name <recipient-email>
```

<div data-node-type="callout">
<div data-node-type="callout-emoji">ℹ</div>
<div data-node-type="callout-text">Lembre-se de alterar <code>&lt;your-id&gt;</code> pelo ID da sua conta AWS e <code>&lt;recipient-email&gt;</code> pelo email do destinatário que deseja convidar</div>
</div>

Por exemplo:

```bash
aws quicksight register-user \
--aws-account-id 111111111111 \
--identity-type QUICKSIGHT \
--email user1-test@simplescloud.io \
--user-role READER \
--namespace default \
--user-name user1-test@simplescloud.io
```

Se você fez isso, deverá obter uma resposta do seu comando parecido com essa tela:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1706211301029/86a3a541-88e5-46c3-9c12-8567a999483f.png align="center")

Por questões de confidencialidade, ocultamos algumas informações do print acima, mas o que importa para nós é a parte final com o link, copie este link.

E isso é tudo, você agora pode compartilhar esse link com o destinatário da forma que achar melhor, sem depender do recebimento do email que enviaria esse mesmo link (que é a origem do problema que discutimos no início).

<div data-node-type="callout">
<div data-node-type="callout-emoji">☑</div>
<div data-node-type="callout-text">Pronto! 😁👍</div>
</div>

---

Apenas para demonstrar, o destinatário então veria algo parecido com isso ao acessar o link que você compartilhou com ele:

<div data-node-type="callout">
<div data-node-type="callout-emoji">ℹ</div>
<div data-node-type="callout-text">Algumas informações foram ocultadas dos prints por causa de confidencialidade</div>
</div>

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1706211712641/60f8ea41-9ee8-4906-81c6-b7f626f014f8.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1706211730762/4aa2126d-a0eb-48bc-be6d-52b8459db55e.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1706211777681/54f54439-12c8-4369-aaff-9dd847199239.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1706211789913/73bd7a16-20c9-4e0e-8f75-2cd11a0727ed.png align="center")

---

# Conclusão

AWS QuickSight é uma excelente ferramenta para dashboards e convidar usuários para acessarem é relativamente fácil e simples, porém em alguns momentos isso pode ser frustrante se os convites nunca chegarem no email do destinatário.

Então compartilhei uma solução alternativa criando uma política IAM com permissões granulares necessárias para convidar um usuário sem acesso total ao QuickSight, demonstramos ainda como executar um comando no Cloudshell e gerar o link para compartilhar ao destinatário de outras formas.

<div data-node-type="callout">
<div data-node-type="callout-emoji">✅</div>
<div data-node-type="callout-text">Espero que essas informações tenham sido úteis para você.</div>
</div>
