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á.
Usando o AWS SDK para provedores de credenciais de C++
Todas as solicitações AWS devem ser assinadas criptograficamente usando credenciais emitidas por. AWS No runtime, o SDK recupera os valores de configuração para credenciais conferindo vários locais.
A autenticação com AWS pode ser feita fora da sua base de código. Muitos métodos de autenticação podem ser detectados, usados e atualizados automaticamente pelo SDK usando a cadeia de provedores de credenciais.
Para opções guiadas para começar a AWS autenticar seu projeto, consulte Autenticação e acesso no AWS SDKs Guia de referência de ferramentas.
Cadeia de provedores de credenciais
Se, ao criar um cliente, você não especificar explicitamente um provedor de credenciais, o SDK para C++ usará uma cadeia de provedores de credenciais que vai conferir uma série de locais onde você pode fornecer credenciais. Depois que o SDK encontra as credenciais em um desses locais, a pesquisa é interrompida.
Ordem de recuperação de credenciais
Todos SDKs têm uma série de locais (ou fontes) que eles verificam para obter credenciais válidas para usar para fazer uma solicitação a um AWS service (Serviço da AWS). Depois que as credenciais válidas são encontradas, a pesquisa é interrompida. Essa busca sistemática é denominada cadeia de provedores de credenciais.
Para cada etapa da cadeia, há várias maneiras de atribuir os valores. A definição de valores diretamente no código sempre tem precedência, seguida pela configuração como variáveis de ambiente e, em seguida, no AWS config arquivo compartilhado. Para obter mais informações, consulte Precedência de configurações no Guia AWS SDKs de referência de ferramentas.
O SDK tenta carregar as credenciais do [default] perfil nos arquivos compartilhados AWS config ecredentials. É possível usar a variável de ambiente AWS_PROFILE para escolher um perfil nomeado a ser carregado pelo SDK em vez de usar [default]. Os credentials arquivos config e são AWS SDKs compartilhados por ferramentas. O Guia de Referência de Ferramentas AWS SDKs e Ferramentas tem informações sobre as configurações do SDK usadas por todos AWS SDKs e pelos AWS CLI. Para saber mais sobre como configurar o SDK por meio do AWS config arquivo compartilhado, consulte Arquivos de configuração e credenciais compartilhados. Para saber mais sobre como configurar o SDK por meio da definição de variáveis de ambiente, consulte Suporte a variáveis de ambiente.
Para fazer a autenticação AWS, o SDK for C++ verifica os provedores de credenciais na seguinte ordem.
-
AWS chaves de acesso (credenciais temporárias e de longo prazo)
O SDK tenta carregar as credenciais das variáveis de
AWS_SESSION_TOKENambienteAWS_ACCESS_KEY_IDeAWS_SECRET_ACCESS_KEY, ou do arquivo compartilhado AWScredentials.-
Para obter orientação sobre como configurar esse provedor, consulte as chaves de AWS acesso no Guia de referência de ferramentas AWS SDKs e ferramentas.
-
Para obter detalhes sobre as propriedades de configuração do SDK para esse provedor, consulte as chaves de AWS acesso AWS SDKs e o Guia de referência de ferramentas.
-
-
AWS STS identidade na web
Ao criar aplicativos móveis ou aplicativos web baseados em clientes que exigem acesso a AWS, AWS Security Token Service (AWS STS) retorna um conjunto de credenciais de segurança temporárias para usuários federados que são autenticados por meio de um provedor de identidade público (IdP).
-
Quando você especifica isso em um perfil, o SDK ou a ferramenta tenta recuperar credenciais temporárias usando AWS STS
AssumeRoleWithWebIdentityo método de API. Para obter detalhes sobre esse método, consulte AssumeRoleWithWebIdentitya Referência AWS Security Token Service da API. -
Para obter orientação sobre como configurar esse provedor, consulte Federate with web identity ou OpenID Connect no Guia de referência de ferramentas AWS SDKs .
-
Para obter detalhes sobre as propriedades de configuração do SDK para esse provedor, consulte Assumir a função de provedor de credenciais no Guia de referência de ferramentas AWS SDKs e ferramentas.
-
-
Centro de Identidade do IAM
Se você usa o IAM Identity Center para se autenticar, é quando o SDK para C++ usa o token de login único que foi configurado com a execução do comando CLI. AWS
aws sso loginO SDK usa as credenciais temporárias que o Centro de Identidade do IAM trocou por um token válido. Depois, o SDK usa as credenciais temporárias quando chama Serviços da AWS. Para obter informações detalhadas sobre esse processo, consulte Compreender a resolução de credenciais do SDK Serviços da AWS no Guia de referência de ferramentas AWS SDKs e ferramentas.-
Para obter orientação sobre como configurar esse provedor, consulte a autenticação do IAM Identity Center no Guia de referência de ferramentas AWS SDKs e ferramentas.
-
Para obter detalhes sobre as propriedades de configuração do SDK para esse provedor, consulte o provedor de credenciais do IAM Identity Center no Guia de referência de ferramentas AWS SDKs e ferramentas.
-
-
Resolvedor de identidade de credencial de login com AWS Signin
Se você usa credenciais de login e console da AWS para se autenticar, é quando o SDK para C++ usa as credenciais do console configuradas em execução ou na CLI.
aws loginaws login --profileO SDK usa essas credenciais quando chama AWS serviços.-
Para obter informações detalhadas sobre esse processo, consulte Login para desenvolvimento AWS local usando credenciais do console no Guia de referência de ferramentas AWS SDKs e ferramentas.
-
-
Provedor de processos externos
Esse provedor pode ser usado para fornecer implementações personalizadas, como recuperação de credenciais de um repositório de credenciais on-premises ou integração com o provedor de identificação on-premises.
-
Para obter orientação sobre uma forma de configurar esse provedor, consulte IAM Roles Anywhere no Guia de referência de ferramentas AWS SDKs e funções do IAM.
-
Para obter detalhes sobre as propriedades de configuração do SDK para esse provedor, consulte Provedor de credenciais de processo no Guia de referência de ferramentas AWS SDKs e ferramentas.
-
-
Credenciais de contêiner do Amazon ECS e do Amazon EKS
Suas tarefas do Amazon Elastic Container Service e as contas de serviço do Kubernetes podem ter um perfil do IAM associado a elas. As permissões concedidas no perfil do IAM são assumidas pelos contêineres em execução na tarefa ou pelos contêineres do pod. Esse perfil permite que o código da aplicação SDK para C++ (no contêiner) use outros Serviços da AWS.
O SDK tenta recuperar credenciais das variáveis de ambiente
AWS_CONTAINER_CREDENTIALS_RELATIVE_URIouAWS_CONTAINER_CREDENTIALS_FULL_URI, que podem ser definidas automaticamente pelo Amazon ECS e pelo Amazon EKS.-
Para ver detalhes sobre como configurar esse perfil para o Amazon ECS, consulte Perfil do IAM para tarefas do Amazon ECS no Guia do desenvolvedor do Amazon Elastic Container Service.
-
Para receber informações de configuração do Amazon EKS, consulte Configurar o atendente de identidade de pods do Amazon EKS no Guia do usuário do Amazon EKS.
-
Para obter detalhes sobre as propriedades de configuração do SDK para esse provedor, consulte Provedor de credenciais de contêiner no Guia de referência de ferramentas AWS SDKs e ferramentas.
-
-
Serviço de metadados de EC2 instância da Amazon
Crie um perfil do IAM e anexe-o à instância. A aplicação SDK para C++ na instância tenta recuperar as credenciais fornecidas pelo perfil nos metadados da instância.
-
Para obter detalhes sobre como configurar essa função e usar metadados, use as funções do IAM para a Amazon EC2 e Trabalhe com metadados de instância no Guia EC2 do usuário da Amazon.
-
Para obter detalhes sobre as propriedades de configuração do SDK para esse provedor, consulte o provedor de credenciais IMDS no Guia de referência de ferramentas AWS SDKs e ferramentas.
-
A cadeia de fornecedores de credenciais pode ser revisada AWSCredentialsProviderChain
Se você seguiu a abordagem recomendada para novos usuários começarem, você configurou a autenticação de credenciais Autenticação com o AWS uso do AWS SDK for C++ de AWS login durante o tópico Introdução. Outros métodos de autenticação são úteis para situações diferentes. Para evitar riscos de segurança, recomendamos sempre usar credenciais de curto prazo. Para outros procedimentos de método de autenticação, consulte Autenticação e acesso no AWS SDKs Guia de referência de ferramentas.
Provedor de credenciais explícito
Em vez de confiar na cadeia de provedores de credenciais para detectar seu método de autenticação, você pode especificar um provedor de credenciais específico a ser utilizado pelo SDK. Você pode fazer isso fornecendo credenciais no construtor do seu cliente de serviço.
O exemplo a seguir cria um cliente do Amazon Simple Storage Service fornecendo diretamente credenciais de acesso temporário em vez de usar a cadeia.
SDKOptions options; Aws::InitAPI(options); { const auto cred_provider = Aws::MakeShared<Auth::SimpleAWSCredentialsProvider>("TestAllocationTag", "awsAccessKeyId", "awsSecretKey", "sessionToken"); S3Client client{cred_provider}; } Aws::ShutdownAPI(options);
Armazenamento de identidade em cache
O SDK armazenará em cache as credenciais e outros tipos de identidade, como tokens de SSO. Por padrão, o SDK usa uma implementação de cache lento que carrega as credenciais na primeira solicitação, as armazena em cache e, depois, tenta atualizá-las durante outra solicitação quando elas estão prestes a expirar. Clientes criados com base na mesma Aws::Client::ClientConfiguration compartilham um cache.