Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Login único com o AWS SDK para .NET - SDK para .NET (versão 3)

A versão 4 (V4) do SDK para .NET está em pré-visualização! Para ver informações sobre essa nova versão na versão prévia, consulte o Guia do desenvolvedor AWS SDK para .NET (versão 4).

Observe que a V4 do SDK está em versão prévia, portanto, seu conteúdo está sujeito a alterações.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

A versão 4 (V4) do SDK para .NET está em pré-visualização! Para ver informações sobre essa nova versão na versão prévia, consulte o Guia do desenvolvedor AWS SDK para .NET (versão 4).

Observe que a V4 do SDK está em versão prévia, portanto, seu conteúdo está sujeito a alterações.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Login único com o AWS SDK para .NET

AWS IAM Identity Center é um serviço de login único (SSO) baseado em nuvem que facilita o gerenciamento centralizado do acesso por SSO a todos os seus aplicativos e à nuvem. Contas da AWS Para obter detalhes completos, consulte o Guia do usuário do Centro de Identidade do IAM.

Se você não estiver familiarizado com a forma como um SDK interage com o Centro de Identidade do IAM, consulte as informações a seguir.

Em um alto nível, SDKs interaja com o IAM Identity Center de maneira semelhante ao seguinte padrão:

  1. O Centro de Identidade do IAM é configurado, normalmente por meio do console do Centro de Identidade do IAM e um usuário de SSO é convidado a participar.

  2. O AWS config arquivo compartilhado no computador do usuário é atualizado com informações de SSO.

  3. O usuário faz login por meio do IAM Identity Center e recebe credenciais de curto prazo para as permissões AWS Identity and Access Management (IAM) que foram configuradas para ele. Esse login pode ser iniciado por meio de uma ferramenta que não é do SDK, como o AWS CLI, ou programaticamente por meio de um aplicativo.NET.

  4. O usuário continua fazendo seu trabalho. Quando outros aplicativos que usam SSO são executados, não é necessário logar novamente para abrir os aplicativos.

Em um alto nível, SDKs interaja com o IAM Identity Center de maneira semelhante ao seguinte padrão:

  1. O Centro de Identidade do IAM é configurado, normalmente por meio do console do Centro de Identidade do IAM e um usuário de SSO é convidado a participar.

  2. O AWS config arquivo compartilhado no computador do usuário é atualizado com informações de SSO.

  3. O usuário faz login por meio do IAM Identity Center e recebe credenciais de curto prazo para as permissões AWS Identity and Access Management (IAM) que foram configuradas para ele. Esse login pode ser iniciado por meio de uma ferramenta que não é do SDK, como o AWS CLI, ou programaticamente por meio de um aplicativo.NET.

  4. O usuário continua fazendo seu trabalho. Quando outros aplicativos que usam SSO são executados, não é necessário logar novamente para abrir os aplicativos.

O restante deste tópico fornece informações de referência para configuração e uso de AWS IAM Identity Center. Ele fornece informações complementares e mais avançadas do que a configuração básica do SSO em Configure a autenticação do SDK. Se você é iniciante no SSO em AWS, talvez queira examinar esse tópico primeiro para obter informações fundamentais e, em seguida, os seguintes tutoriais para ver o SSO em ação:

Este tópico contém as seguintes seções:

Pré-requisitos

Antes de usar o IAM Identity Center, você deve realizar determinadas tarefas, como escolher uma fonte de identidade e configurar os aplicativos relevantes Contas da AWS . Para obter informações adicionais, consulte:

  • Para obter informações gerais sobre essas tarefas, consulte Conceitos básicos no Guia do usuário do Centro de Identidade do IAM

  • Para obter exemplos de tarefas específicas, consulte a lista de tutoriais no final deste tópico. Contudo, certifique-se de revisar as informações neste tópico antes de experimentar os tutoriais.

Como configurar um perfil de SSO

Depois que o IAM Identity Center for configurado no local relevante Conta da AWS, um perfil nomeado para SSO deve ser adicionado ao AWS config arquivo compartilhado do usuário. Esse perfil é usado para se conectar ao portal de acesso da AWS, que retorna credenciais de curto prazo para as permissões do IAM que foram configuradas para o usuário.

O arquivo config compartilhado geralmente é nomeado %USERPROFILE%\.aws\config no Windows e ~/.aws/config no Linux e no macOS. Você pode usar seu editor de texto preferido para adicionar um novo perfil para SSO. Como alternativa, você pode usar o comando aws configure sso. Para obter mais informações sobre esse comando, consulte Como configurar a CLI da AWS para usar o Centro de identidade do IAM no Guia do usuário do AWS Command Line Interface .

O URL é semelhante ao seguinte:

[profile my-sso-profile] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-west-2 sso_account_id = 123456789012 sso_role_name = SSOReadOnlyRole

As configurações do novo perfil estão definidas abaixo. As duas primeiras configurações definem o portal de AWS acesso. As outras duas configurações são um par que, juntas, definem as permissões que foram configuradas para um usuário. Todas as quatro configurações são obrigatórias.

sso_start_url

O URL que aponta para o portal de acesso da AWS da organização. Para encontrar esse valor, abra o console do Centro de identidade do IAM, selecione Configurações e encontre URL do portal.

sso_region

O Região da AWS que contém o host do portal de acesso. Essa é a região que foi selecionada quando você ativou o Centro de identidade do IAM. Ela pode ser diferente das regiões que você usa para outras tarefas.

Para obter uma lista completa dos Regiões da AWS e de seus códigos, consulte Endpoints regionais no Referência geral da Amazon Web Services.

sso_account_id

O ID de um Conta da AWS que foi adicionado por meio do AWS Organizations serviço. Para ver a lista de contas disponíveis, acesse o console do IAM Identity Center e abra a página de Contas da AWS. O ID da conta que você escolher para essa configuração corresponderá ao valor que você planeja atribuir à configuração do sso_role_name, que é mostrado a seguir.

sso_role_name

O nome de um conjunto de permissões do Centro de identidade do IAM. Esse conjunto de permissões define as permissões que um usuário recebe por meio do Centro de identidade do IAM.

O procedimento a seguir é uma forma de encontrar o valor dessa configuração.

  1. Acesse o console do Centro de Identidade do IAM e habilite a página das Contas da AWS.

  2. Escolha uma conta para exibir os detalhes. A conta que você escolher será aquela que contém o usuário ou grupo de SSO ao qual você deseja conceder permissões de SSO.

  3. Veja a lista de usuários e grupos atribuídos à conta e encontre o usuário ou grupo de interesse. O conjunto de permissões que você especifica na configuração do sso_role_name é um dos conjuntos associados a esse usuário ou grupo.

Ao dar um valor a essa configuração, use o nome do conjunto de permissões, não o nome do recurso da Amazon (ARN).

Os conjuntos de permissões têm políticas do IAM e políticas de permissões personalizadas anexadas a eles. Para obter mais informações, consulte Conjuntos de permissões no Guia do usuário do Centro de Identidade do IAM.

Como gerar e usar de tokens de SSO

Para usar o SSO, o usuário deve primeiro gerar um token temporário e depois usar esse token para acessar AWS aplicativos e recursos apropriados. É possível usar os métodos a seguir para gerar e usar esses tokens temporários:

  • Crie aplicativos .NET que gerem primeiro um token, se necessário, e depois use o token.

  • Gere um token com o AWS CLI e, em seguida, use o token em aplicativos.NET.

Esses métodos estão descritos nas seções a seguir e demonstrados nos tutoriais.

Importante

Seu aplicativo deve fazer referência aos seguintes NuGet pacotes para que a resolução de SSO funcione:

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

A falha em referenciar esses pacotes resultará em uma exceção de tempo de execução.

Esta seção mostra como criar um aplicativo .NET que gera um token SSO temporário, se necessário, e depois usa esse token. Para obter um tutorial completo desse processo, consulte Tutorial para SSO usando somente aplicativos .NET.

Gere e use um token SSO de forma programática

Além de usar o AWS CLI, você também pode gerar um token SSO programaticamente.

Para fazer isso, seu aplicativo cria um objeto AWSCredentials para o perfil SSO, que carrega credenciais temporárias, se houver alguma disponível. Em seguida, seu aplicativo deve converter o objeto AWSCredentials em um objeto SSOAWSCredentials e definir algumas propriedades de Opções, incluindo um método de retorno de chamada usado para solicitar ao usuário informações de login, se necessário.

Esse método é mostrado no seguinte trecho de código.

Importante

Seu aplicativo deve fazer referência aos seguintes NuGet pacotes para que a resolução de SSO funcione:

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

A falha em referenciar esses pacotes resultará em uma exceção de tempo de execução.

static AWSCredentials LoadSsoCredentials() { var chain = new CredentialProfileStoreChain(); if (!chain.TryGetAWSCredentials("my-sso-profile", out var credentials)) throw new Exception("Failed to find the my-sso-profile profile"); var ssoCredentials = credentials as SSOAWSCredentials; ssoCredentials.Options.ClientName = "Example-SSO-App"; ssoCredentials.Options.SsoVerificationCallback = args => { // Launch a browser window that prompts the SSO user to complete an SSO sign-in. // This method is only invoked if the session doesn't already have a valid SSO token. // NOTE: Process.Start might not support launching a browser on macOS or Linux. If not, // use an appropriate mechanism on those systems instead. Process.Start(new ProcessStartInfo { FileName = args.VerificationUriComplete, UseShellExecute = true }); }; return ssoCredentials; }

Se um token de SSO apropriado não estiver disponível, a janela padrão do navegador será aberta e a página de login apropriada será aberta. Por exemplo, se você estiver usando o Centro de identidade do IAM como fonte de identidade, o usuário verá uma página de login semelhante à seguinte:

AWS IAM Identity Center página de login.
nota

A string que você fornece para SSOAWSCredentials.Options.ClientName não pode ter espaços. Se a string tiver espaços, você receberá uma exceção de runtime.

Tutorial para SSO usando somente aplicativos .NET

Esta seção mostra como criar um aplicativo .NET que gera um token SSO temporário, se necessário, e depois usa esse token. Para obter um tutorial completo desse processo, consulte Tutorial para SSO usando somente aplicativos .NET.

Gere e use um token SSO de forma programática

Além de usar o AWS CLI, você também pode gerar um token SSO programaticamente.

Para fazer isso, seu aplicativo cria um objeto AWSCredentials para o perfil SSO, que carrega credenciais temporárias, se houver alguma disponível. Em seguida, seu aplicativo deve converter o objeto AWSCredentials em um objeto SSOAWSCredentials e definir algumas propriedades de Opções, incluindo um método de retorno de chamada usado para solicitar ao usuário informações de login, se necessário.

Esse método é mostrado no seguinte trecho de código.

Importante

Seu aplicativo deve fazer referência aos seguintes NuGet pacotes para que a resolução de SSO funcione:

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

A falha em referenciar esses pacotes resultará em uma exceção de tempo de execução.

static AWSCredentials LoadSsoCredentials() { var chain = new CredentialProfileStoreChain(); if (!chain.TryGetAWSCredentials("my-sso-profile", out var credentials)) throw new Exception("Failed to find the my-sso-profile profile"); var ssoCredentials = credentials as SSOAWSCredentials; ssoCredentials.Options.ClientName = "Example-SSO-App"; ssoCredentials.Options.SsoVerificationCallback = args => { // Launch a browser window that prompts the SSO user to complete an SSO sign-in. // This method is only invoked if the session doesn't already have a valid SSO token. // NOTE: Process.Start might not support launching a browser on macOS or Linux. If not, // use an appropriate mechanism on those systems instead. Process.Start(new ProcessStartInfo { FileName = args.VerificationUriComplete, UseShellExecute = true }); }; return ssoCredentials; }

Se um token de SSO apropriado não estiver disponível, a janela padrão do navegador será aberta e a página de login apropriada será aberta. Por exemplo, se você estiver usando o Centro de identidade do IAM como fonte de identidade, o usuário verá uma página de login semelhante à seguinte:

AWS IAM Identity Center página de login.
nota

A string que você fornece para SSOAWSCredentials.Options.ClientName não pode ter espaços. Se a string tiver espaços, você receberá uma exceção de runtime.

Tutorial para SSO usando somente aplicativos .NET

Esta seção mostra como gerar um token SSO temporário usando o AWS CLI e como usar esse token em um aplicativo. Para obter um tutorial completo desse processo, consulte Tutorial para SSO usando os aplicativos AWS CLI e.NET.

Gere um token de SSO usando o AWS CLI

Além de gerar um token de SSO temporário programaticamente, você usa o AWS CLI para gerar o token. O procedimento a seguir mostra como obter essas informações.

Depois que o usuário cria um perfil habilitado para SSO, conforme mostrado na seção anterior, ele executa o comando aws sso login a partir da AWS CLI. Ele deve ter certeza de incluir o parâmetro --profile com o nome do perfil habilitado para SSO. Isso é mostrado no exemplo a seguir:

aws sso login --profile my-sso-profile

Se o usuário quiser gerar um novo token temporário após a expiração do atual, ele poderá executar o mesmo comando novamente.

Use o token SSO gerado em um aplicativo .NET

As informações a seguir mostram como usar um token temporário que já foi gerado.

Importante

Seu aplicativo deve fazer referência aos seguintes NuGet pacotes para que a resolução de SSO funcione:

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

A falha em referenciar esses pacotes resultará em uma exceção de runtime.

Seu aplicativo cria um objeto AWSCredentials para o perfil SSO, que carrega as credenciais temporárias geradas anteriormente pela AWS CLI. Isso é semelhante aos métodos mostrados em Acessar credenciais e perfis em um aplicativo e tem o seguinte formato:

static AWSCredentials LoadSsoCredentials() { var chain = new CredentialProfileStoreChain(); if (!chain.TryGetAWSCredentials("my-sso-profile", out var credentials)) throw new Exception("Failed to find the my-sso-profile profile"); return credentials; }

O objeto AWSCredentials é então passado para o construtor de um cliente de serviço. Por exemplo:

var S3Client_SSO = new AmazonS3Client(LoadSsoCredentials());
nota

Não é necessário usar AWSCredentials para carregar credenciais temporárias se seu aplicativo tiver sido criado para usar o perfil [default] para SSO. Nesse caso, o aplicativo pode criar clientes AWS de serviço sem parâmetros, semelhantes a "var client = new AmazonS3Client();”.

Tutorial para SSO usando os aplicativos AWS CLI e.NET

Esta seção mostra como gerar um token SSO temporário usando o AWS CLI e como usar esse token em um aplicativo. Para obter um tutorial completo desse processo, consulte Tutorial para SSO usando os aplicativos AWS CLI e.NET.

Gere um token de SSO usando o AWS CLI

Além de gerar um token de SSO temporário programaticamente, você usa o AWS CLI para gerar o token. O procedimento a seguir mostra como obter essas informações.

Depois que o usuário cria um perfil habilitado para SSO, conforme mostrado na seção anterior, ele executa o comando aws sso login a partir da AWS CLI. Ele deve ter certeza de incluir o parâmetro --profile com o nome do perfil habilitado para SSO. Isso é mostrado no exemplo a seguir:

aws sso login --profile my-sso-profile

Se o usuário quiser gerar um novo token temporário após a expiração do atual, ele poderá executar o mesmo comando novamente.

Use o token SSO gerado em um aplicativo .NET

As informações a seguir mostram como usar um token temporário que já foi gerado.

Importante

Seu aplicativo deve fazer referência aos seguintes NuGet pacotes para que a resolução de SSO funcione:

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

A falha em referenciar esses pacotes resultará em uma exceção de runtime.

Seu aplicativo cria um objeto AWSCredentials para o perfil SSO, que carrega as credenciais temporárias geradas anteriormente pela AWS CLI. Isso é semelhante aos métodos mostrados em Acessar credenciais e perfis em um aplicativo e tem o seguinte formato:

static AWSCredentials LoadSsoCredentials() { var chain = new CredentialProfileStoreChain(); if (!chain.TryGetAWSCredentials("my-sso-profile", out var credentials)) throw new Exception("Failed to find the my-sso-profile profile"); return credentials; }

O objeto AWSCredentials é então passado para o construtor de um cliente de serviço. Por exemplo:

var S3Client_SSO = new AmazonS3Client(LoadSsoCredentials());
nota

Não é necessário usar AWSCredentials para carregar credenciais temporárias se seu aplicativo tiver sido criado para usar o perfil [default] para SSO. Nesse caso, o aplicativo pode criar clientes AWS de serviço sem parâmetros, semelhantes a "var client = new AmazonS3Client();”.

Tutorial para SSO usando os aplicativos AWS CLI e.NET

Recursos adicionais

Para obter ajuda adicional, consulte os seguintes recursos.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.