DevSecOps

10 jan, 2019

Integração do Azure Active Directory com o AWS (Amazon Web Services)

Publicidade

Neste artigo mostrarei como fazer a integração do Azure Active Directory com a AWS. Apresentarei a visão de utilizar a identidade única para fazer o login com seu usuário do AD ou Azure AD diretamente no console da AWS.

O SSO entre o Azure AD e Amazon Web Service funciona de uma maneira diferente. Nessa integração devemos criar o usuário dentro da console da AWS para que seja feito o merge entre as contas. Esse é o único ponto onde devemos nos atentar, lembrando que só é uma criação de usuário que não precisa de senha.

Adicionaremos o app da AWS na galeria de aplicativos SaaS do Microsoft Azure. No portal do Microsoft Azure vamos em “Azure Active Directory”, em seguida “Enterprise Applications” e em “All Applications”:

Feito isso, clique em “New Application”:

Agora, em pesquisa procure por “Amazon Web Services (AWS)” e selecione a aplicação. como na imagem seguir:

Depois disso você pode mudar o nome da aplicação para ficar mais fácil saber qual cliente está integrado. Após mudar o nome, clique em “Add” e aguarde o provisionamento da aplicação:

Pronto! A aplicação está provisionada. Agora vamos até a opção de “Single Sing-On”:

Em Single “Sing-on” vamos escolher a opção “SAML-based Sing-on”:

Essa etapa é muito importante, pois temos que adicionar alguns parâmetros para que funcione 100% a integração com a AWS.

Vá na opção “Show advanced URL settings”. Após expandir essa opção vamos em “Identifier” para adicionar a seguinte informação: “urn:amazon:webservices”:

Agora adicionaremos dois atributos em “User Attributes”. Para isso, selecione “View and edit all other user attributes”:

Agora clique em “Add Attribute”:

Depois adicione as seguintes regras:

  • Lembrando que os atributos respeitam o “case sensitive”.

Neste passo faremos o download do certificado “Metadados XML” e salvaremos em um local seguro no computador. Um detalhe muito importante: altere o “Signing Algorith” para “SHA 1“. Por padrão, ela vem em “SHA 256” e não funcionará a integração. Em seguida iremos setar o certificado como ativo, depois vamos “Salvar”:

Pronto! A primeira parte está configurada. Agora vamos ao console da AWS para procurar a opção IAM (Identity and Access Management).

Neste passo criaremos um provedor de identidade. Vá até “Identity Provider” e clique em “Create Provider”:

Em “Create Provider” selecione o tipo de provedor “SAML”, dê um nome para esse provedor, faça o upload do “Metadados XML”, e em seguida clique em “Next”:

Em seguida, clique em “Create”:

Pronto! O provedor de identidade foi criado com sucesso:

Criaremos agora uma regra. Vá em “Roles” e clique em “Create Roles”:

Agora escolheremos a identidade confiável “SAML”:

Em seguida, selecione o provedor de identidade que foi criado, a permissão “Allow programmatic and AWS Management Console access” e clique em “Next Permissions”:

Agora selecione a politica. Nesse caso estou dando permissão “Full”:

Agora dê um nome para essa regra de acesso e clique em “Create Role”:

Pronto, a regra foi criada com sucesso:

Agora criaremos um usuário para fazer a conexão entre o Azure ad e a AWS. Vá em “User” e “Add User”:

Agora daremos um nome para o usuário. Feito isso, selecione o tipo de acesso “Programmatic Access” e clique e “Next Permissions”:

Nesta etapa associaremos a politica. Selecione “Attach existing policies directly”. Em seguida, clique em “Next Review” e depois em “Create User”:

Agora você pode fazer o download do arquivo”.CSV” ou pode ver o “Secret Access Key” do seu usuário – precisamos dessa informação. Voltaremos ao Azure AD para adicionar essas informações no provisionamento dos Roles.

Vá ao Azure AD, selecione a aplicação e escolha “Provisioning”. Por padrão ela vem como manual. Vamos alterar para “Automático”, e em seguida adicionaremos as seguintes informações nos campos “clientsecret” e “Secret Token”. Depois das informações no campo, clique em “Test Connection” e em “Save”:

Pronto! A comunicação entre AWS e Azure AD está funcionando.

Por último, em “Settings” vá em “Provisioning Status”, deixe como “On” e clique em “Save”. Ele demora um pouco para provisionar:

Criaremos agora um usuário sem senha no console da AWS.

Pronto, o processo de integração está pronto. Vamos acessar o “MyApps” da Microsoft na URL:

Ao acessar, o aplicativo estará disponível. Basta dar um clique que ele fará o SSO do seu usuário dentro do console da AWS.

Pronto! Estamos acessando o console da AWS via federação entre Azure AD e Amazon Web Services. Como podemos reparar, ele faz a leitura da role e do usuário.

Espero que tenham gostado deste artigo. Foi o primeiro artigo do ano, mas prometo um artigo por mês.

Obrigado e até o próximo artigo!