Arquivos config e credentials compartilhados - AWS SDKse ferramentas

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á.

Arquivos config e credentials compartilhados

Os credentials arquivos compartilhados AWS config e contêm um conjunto de perfis. Um perfil é um conjunto de definições de configuração, em pares chave-valor, que é usado pelas ferramentas AWS Command Line Interface (AWS CLI) AWS SDKs, the e outras. Os valores de configuração são anexados a um perfil para configurar algum aspecto da SDK ferramenta /quando esse perfil é usado. Esses arquivos são “compartilhados”, pois os valores entram em vigor em qualquer aplicativo, processo ou SDKs no ambiente local de um usuário.

Tanto os arquivos compartilhados config quanto credentials os arquivos são arquivos de texto simples que contêm somente ASCII caracteres (codificados em UTF -8). Eles assumem a forma do que geralmente é chamado de INIarquivos.

Perfis

As configurações nos arquivos config e credentials compartilhados estão associadas a um perfil específico. Vários perfis podem ser definidos no arquivo para criar configurações de configuração diferentes para serem aplicadas em diferentes ambientes de desenvolvimento.

O [default] perfil contém os valores que são usados por uma operação de ferramenta SDK ou se um perfil nomeado específico não for especificado. Você também pode criar perfis separados aos quais você pode referenciar explicitamente pelo nome. Cada perfil pode usar configurações e valores diferentes conforme necessário para seu aplicativo e cenário.

nota

[default] é simplesmente um perfil sem nome. Esse perfil é nomeado default porque é o perfil padrão usado pelo SDK se o usuário não especificar um perfil. Ele não fornece valores padrão herdados para outros perfis. Se você definir algo no [default] perfil e não o definir em um perfil nomeado, o valor não será definido quando você usar o perfil nomeado.

Definir um perfil nomeado

O [default] perfil e vários perfis nomeados podem existir no mesmo arquivo. Use a configuração a seguir para selecionar quais configurações do perfil serão usadas por você SDK ou pela ferramenta ao executar seu código. Os perfis também podem ser selecionados dentro do código ou por comando ao trabalhar com o. AWS CLI

Configure essa funcionalidade definindo uma das seguintes opções:

AWS_PROFILE- variável de ambiente

Quando essa variável de ambiente é definida como um perfil nomeado ou “padrão”, todos os SDK códigos e AWS CLI comandos usam as configurações desse perfil.

Exemplo de configuração de variáveis de ambiente para Linux/macOS por meio da linha de comando:

export AWS_PROFILE="my_default_profile_name";

Exemplo do Windows de configuração de variáveis de ambiente por meio da linha de comando:

setx AWS_PROFILE "my_default_profile_name"
aws.profile- propriedade JVM do sistema

SDKPara Kotlin no JVM e SDK para Java 2.x, você pode definir a propriedade do aws.profile sistema. Quando SDK cria um cliente de serviço, ele usa as configurações no perfil nomeado, a menos que a configuração seja substituída no código. O SDK for Java 1.x não suporta essa propriedade do sistema.

nota

Se seu aplicativo estiver em um servidor executando vários aplicativos, recomendamos que você sempre use perfis nomeados em vez do perfil padrão. O perfil padrão é automaticamente selecionado por qualquer AWS aplicativo no ambiente e compartilhado entre eles. Portanto, se outra pessoa atualizar o perfil padrão de seu aplicativo, isso poderá impactar involuntariamente os outros. Para se proteger contra isso, defina um perfil nomeado no config arquivo compartilhado e, em seguida, use esse perfil nomeado em seu aplicativo definindo o perfil nomeado em seu código. Você pode usar a variável de ambiente ou a propriedade do JVM sistema para definir o perfil nomeado se souber que o escopo afeta apenas seu aplicativo.

Formato do arquivo de configuração

O arquivo config é organizado em seções. Uma seção é um conjunto nomeado de configurações e continua até que outra linha de definição de seção seja encontrada.

O arquivo config é um arquivo de texto simples que usam o seguinte formato:

  • Todas as entradas em uma seção assumem a forma geral de setting-name=value.

  • As linhas podem ser comentadas iniciando-as com um caractere de hashtag (#).

Tipos de seção

Uma definição de seção é uma linha que aplica um nome a uma coleção de configurações. As linhas de definição de seção começam e terminam com colchetes ([ ]). Dentro dos colchetes, há um identificador de tipo de seção e um nome personalizado para a seção. Você pode usar letras, números, hífens ( - ) e sublinhados ( _ ), mas sem espaços.

Tipo de seção: default

Exemplo de linha de definição de seção: [default]

[default]é o único perfil que não exige o identificador da profile seção.

O exemplo a seguir mostra um arquivo config básico com um perfil [default]. Ele define a configuração region. Todas as configurações que seguem essa linha, até que outra definição de seção seja encontrada, fazem parte desse perfil.

[default] #Full line comment, this text is ignored. region = us-east-2

Tipo de seção: profile

Exemplo de linha de definição de seção: [profile dev]

A linha de definição da profile seção é um agrupamento de configuração nomeado que você pode aplicar a diferentes cenários de desenvolvimento. Para entender melhor os perfis nomeados, consulte a seção anterior sobre Perfis.

O exemplo a seguir mostra um config arquivo com uma linha de definição de profile seção e um perfil nomeado chamadofoo. Todas as configurações que seguem essa linha, até que outra definição de seção seja encontrada, fazem parte desse perfil nomeado.

[profile foo] ...settings...

Algumas configurações têm seu próprio grupo aninhado de subconfigurações, como a configuração e as subconfigurações de s3 no exemplo a seguir. Associe as subconfigurações ao grupo recuando-as com um ou mais espaços.

[profile test] region = us-west-2 s3 = max_concurrent_requests=10 max_queue_size=1000

Tipo de seção: sso-session

Exemplo de linha de definição de seção: [sso-session my-sso]

A linha de definição da sso-session seção nomeia um grupo de configurações que você usa para configurar um perfil para resolver AWS as credenciais usando AWS IAM Identity Center. Para obter mais informações sobre como configurar a autenticação de login único, consulte IAMAutenticação do Identity Center SDK para sua ferramenta. Um perfil é vinculado a uma seção sso-session por um par de valores-chave em que sso-session é a chave e o nome da sua seção sso-session é o valor, como sso-session = <name-of-sso-session-section>.

O exemplo a seguir configura um perfil que obterá AWS credenciais de curto prazo para a IAM função "SampleRole" na conta “111122223333" usando um token do “my-sso”. A seção sso-session “my-sso” é referenciada na seção profile pelo nome usando a chave sso-session.

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

Tipo de seção: services

Exemplo de linha de definição de seção: [services dev]

nota

A services seção oferece suporte a personalizações de endpoints específicos do serviço e está disponível somente nas ferramentas que incluem esse SDKs recurso. Para ver se esse recurso está disponível para vocêSDK, consulte os Compatibilidade com AWS SDKs endpoints específicos do serviço.

A linha de definição da services seção nomeia um grupo de configurações que configura endpoints personalizados para AWS service (Serviço da AWS) solicitações. Um perfil é vinculado a uma seção services por um par de valores-chave em que services é a chave e o nome da sua seção services é o valor, como services = <name-of-services-section>.

A services seção é ainda separada em subseções por <SERVICE> = linhas, onde <SERVICE> está a chave AWS service (Serviço da AWS) identificadora. O AWS service (Serviço da AWS) identificador é baseado no API modelo, substituindo todos os espaços serviceId por sublinhados e colocando todas as letras em minúsculas. Para obter uma lista de todas as chaves de identificação de serviço a serem usadas na seção services, consulte Identificadores para endpoints específicos de serviço. A chave de identificação de serviço é seguida por configurações aninhadas, cada uma em sua própria linha e recuada por dois espaços.

O exemplo a seguir usa uma definição services para configurar o endpoint a ser usado para solicitações feitas somente para o serviço do Amazon DynamoDB . A seção services "local-dynamodb" é referenciada na seção profile pelo nome usando a chave services. A chave AWS service (Serviço da AWS) identificadora édynamodb. A subseção de Amazon DynamoDB serviço começa na linhadynamodb = . Todas as linhas imediatamente seguintes que estejam recuadas são incluídas nessa subseção e se aplicam a esse serviço.

[profile dev] services = local-dynamodb [services local-dynamodb] dynamodb = endpoint_url = http://localhost:8000

Para obter mais informações sobre a configuração de endpoint personalizado, consulte Endpoints específicos de serviço.

Formato do arquivo de credenciais

As regras para o arquivo credentials geralmente são idênticas às do arquivo config, exceto que as seções do perfil não começam com a palavra profile. Use somente o nome do perfil em si entre colchetes. O exemplo a seguir mostra um credentials arquivo com uma seção de perfil nomeada chamadafoo.

[foo] ...credential settings...

Somente as seguintes configurações consideradas “secretas” ou confidenciais podem ser armazenadas no credentials arquivo: aws_access_key_idaws_secret_access_key, aws_session_token e. Embora essas configurações possam ser colocadas alternativamente no config arquivo compartilhado, recomendamos que você mantenha esses valores confidenciais em um credentials arquivo separado. Dessa forma, você pode fornecer permissões separadas para cada arquivo, se necessário.

O exemplo a seguir mostra um arquivo credentials básico com um perfil [default]. Ele define as configurações aws_access_key_idaws_secret_access_key, e aws_session_token globais.

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

Independentemente de você usar um perfil nomeado ou "default" em seu credentials arquivo, todas as configurações aqui serão combinadas com quaisquer configurações do seu config arquivo que usem o mesmo nome de perfil. Se houver credenciais nos dois arquivos para um perfil que compartilhe o mesmo nome, as chaves no arquivo de credenciais terão precedência.