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á.
Defina as configurações do IDT para executar o pacote de qualificação AWS IoT Greengrass
Antes de executar os testes, você terá de definir as configurações para as credenciais da AWS e os dispositivos em seu computador host.
Configurar credenciais da AWS no config.json
Você deve configurar suas credenciais de usuário do IAM no arquivo
. Use as credenciais do usuário do AWS IoT Greengrass V2 criado em Crie e configure um Conta da AWS para o IDT. Você pode especificar suas credenciais de uma das seguintes formas:<device_tester_extract_location>
/configs/config.json
-
Em um arquivo de credenciais
-
Como variáveis de ambiente
O IDT usa o mesmo arquivo de credenciais que a AWS CLI. Para obter mais informações, consulte Arquivos de configuração e credenciais.
O local do arquivo de credenciais varia de acordo com o sistema operacional que você está usando:
-
macOS, Linux:
~/.aws/credentials
-
Windows:
C:\Users\
UserName
\.aws\credentials
Adicione suas credenciais da AWS ao arquivo credentials
no seguinte formato:
[default] aws_access_key_id =
<your_access_key_id>
aws_secret_access_key =<your_secret_access_key>
Para configurar o IDT para o AWS IoT Greengrass V2 usar as credenciais da AWS do arquivo credentials
, edite o arquivo config.json
da seguinte forma:
{ "awsRegion": "
region
", "auth": { "method": "file", "credentials": { "profile": "default" } } }
nota
Se você não usar o perfil default
da AWS, mude o nome de perfil no arquivo config.json
. Para obter mais informações, consulte Perfis nomeados.
As variáveis de ambiente são variáveis mantidas pelo sistema operacional e usadas pelos comandos do sistema. Elas não serão salvas se você fechar a sessão SSH. O IDT para AWS IoT Greengrass V2 pode usar as variáveis de ambiente AWS_ACCESS_KEY_ID
e AWS_SECRET_ACCESS_KEY
para armazenar suas credenciais da AWS.
Para definir essas variáveis no Linux, macOS ou Unix, use :export
export AWS_ACCESS_KEY_ID=
<your_access_key_id>
export AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
Para definir essas variáveis no Windows, use :set
set AWS_ACCESS_KEY_ID=
<your_access_key_id>
set AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
Para configurar o IDT para usar as variáveis de ambiente, edite a seção auth
no seu arquivo config.json
. Exemplo:
{ "awsRegion": "
region
", "auth": { "method": "environment" } }
Configurar device.json
nota
O IDT v4.9.3 oferece suporte ao teste dos atributos ml
, docker
e streamManagement
. O IDT v4.9.4 e versões mais recentes oferecem suporte ao teste do docker
. Se você não quiser testar esses atributos, defina o valor correspondente como no
.
Além das credenciais da AWS, o IDT para AWS IoT Greengrass V2 precisa de informações sobre os dispositivos em que os testes são executados. As informações de exemplo são endereço IP, informações de login, sistema operacional e arquitetura da CPU.
Você deve fornecer essas informações usando o modelo device.json
localizado em
:
<device_tester_extract_location>
/configs/device.json
Configurar o userdata.json
O IDT para AWS IoT Greengrass V2 também precisa de informações adicionais sobre a localização dos artefatos e do software de teste do AWS IoT Greengrass.
Você deve fornecer essas informações usando o modelo userdata.json
localizado em
:
<device_tester_extract_location>
/configs/userdata.json
{ "TempResourcesDirOnDevice": "
/path/to/temp/folder
", "InstallationDirRootOnDevice": "/path/to/installation/folder
", "GreengrassNucleusZip": "/path/to/aws.greengrass.nucleus.zip
", "PreInstalled": "yes/no
", "GreengrassV2TokenExchangeRole": "custom-iam-role-name
", "hsm": { "greengrassPkcsPluginJar": "/path/to
/aws.greengrass.crypto.Pkcs11Provider-latest.jar", "pkcs11ProviderLibrary": "/path/to/pkcs11-vendor-library
", "slotId": "slot-id
", "slotLabel": "slot-label
", "slotUserPin": "slot-pin
", "keyLabel": "key-label
", "preloadedCertificateArn": "certificate-arn
" "rootCA": "path/to/root-ca
" } }
Todas as propriedades que contêm valores são obrigatórias, conforme descrito aqui:
TempResourcesDirOnDevice
-
O caminho completo para uma pasta temporária no dispositivo em teste na qual armazenar os artefatos de teste. Certifique-se de que as permissões sudo não sejam obrigatórias para gravar nesse diretório.
nota
O IDT exclui o conteúdo dessa pasta quando termina de executar um teste.
InstallationDirRootOnDevice
-
O caminho completo para uma pasta no dispositivo em que o AWS IoT Greengrass será instalado. Para o Greengrass pré-instalado, esse é o caminho para o diretório de instalação do Greengrass.
Você deve definir as permissões de arquivo necessárias para essa pasta. Execute o comando a seguir para cada pasta no caminho de instalação.
sudo chmod 755
folder-name
GreengrassNucleusZip
-
O caminho completo para o arquivo ZIP (
greengrass-nucleus-latest.zip
) do núcleo do Greengrass em seu computador host. Esse campo não é obrigatório para testes com o Greengrass pré-instalado.nota
Para obter informações sobre as versões compatíveis do núcleo do Greengrass para o IDT para AWS IoT Greengrass, consulte Versão mais recente do IDT para o AWS IoT Greengrass V2. Para fazer download do software Greengrass mais recente, consulte Fazer download do software AWS IoT Greengrass.
PreInstalled
-
Esse recurso está disponível somente para o IDT v4.5.8 e versões mais recentes em dispositivos Linux.
(Opcional) Quando o valor é
yes
(sim), o IDT assume que o caminho mencionado emInstallationDirRootOnDevice
é o diretório em que o Greengrass está instalado.Para obter informações sobre como instalar o Greengrass em seu dispositivo, consulte Instale o software AWS IoT Greengrass principal com provisionamento automático de recursos. Se você estiver instalando com provisionamento manual, inclua a etapa “Adicionar o item do AWS IoT a um grupo de itens novo ou existente” ao criar um item do AWS IoT manualmente. O IDT assume que o item e o grupo de itens foram criados durante a configuração da instalação. Certifique-se de que esses valores sejam refletidos no arquivo
effectiveConfig.yaml
. O IDT verifica o arquivoeffectiveConfig.yaml
em<InstallationDirRootOnDevice>/config/effectiveConfig.yaml
.Para executar testes com o HSM, certifique-se de que o campo
aws.greengrass.crypto.Pkcs11Provider
esteja atualizado emeffectiveConfig.yaml
. -
GreengrassV2TokenExchangeRole
-
(Opcional) O perfil do IAM personalizado que você deseja usar como perfil de troca de tokens que o dispositivo em teste adota para interagir com os recursos da AWS.
nota
O IDT usa esse perfil do IAM personalizado em vez de criar o perfil padrão de troca de tokens durante a execução do teste. Se você usar um perfil personalizado, poderá atualizar as permissões do IAM do usuário de teste para excluir a declaração
iamResourcesUpdate
que permite ao usuário criar e excluir perfis e políticas do IAM.Para obter mais informações sobre como criar um perfil do IAM como perfil de troca de tokens, consulte Configurar um perfil personalizado de troca de tokens.
hsm
-
Esse recurso está disponível para o IDT v4.5.1 e posterior.
(Opcional) As informações de configuração para testes com um módulo de segurança de hardware (HSM) do AWS IoT Greengrass. Caso contrário, a propriedade
hsm
deve ser omitida. Para ter mais informações, consulte Integração de segurança de hardware.Essa propriedade será aplicada somente se
connectivity.protocol
estiver definido comossh
.Atenção
A configuração do HSM poderá ser considerada dados sigilosos se o módulo de segurança de hardware for compartilhado entre o IDT e outro sistema. Nessa situação, evite proteger esses valores de configuração em texto simples, armazenando-os em um parâmetro SecureString do AWS Parameter Store e configurando o IDT para obtê-los durante a execução do teste. Para ter mais informações, consulte Obter a configuração do Parameter Store da AWS.
hsm.greengrassPkcsPluginJar
-
O caminho completo para o componente provedor PKCS#11 do qual você faz download para a máquina host do IDT. O AWS IoT Greengrass fornece esse componente como arquivo JAR, que pode ser baixado para especificar como plug-in de provisionamento durante a instalação. Você pode fazer download da versão mais recente do arquivo JAR do componente pelo seguinte URL: https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar
. hsm.pkcs11ProviderLibrary
-
O caminho completo para a biblioteca PKCS#11 do fornecedor do módulo de segurança de hardware (HSM) para interagir com o HSM.
hsm.slotId
-
O ID do slot usado para identificar o slot do HSM no qual você carrega a chave e o certificado.
hsm.slotLabel
-
O rótulo do slot usado para identificar o slot do HSM no qual você carrega a chave e o certificado.
hsm.slotUserPin
-
O PIN do usuário que o IDT usa para autenticar o software de núcleo do AWS IoT Greengrass no HSM.
nota
Como prática recomendada de segurança, não use o mesmo PIN de usuário em dispositivos de produção.
hsm.keyLabel
-
O rótulo usado para identificar a chave no módulo de hardware. Tanto a chave quanto o certificado devem usar o mesmo rótulo de chave.
hsm.preloadedCertificateArn
-
O nome do recurso da Amazon (ARN) do certificado do dispositivo carregado na nuvem do AWS IoT.
Você já deve ter gerado esse certificado usando a chave no HSM, importado-o para o HSM e carregado-o na nuvem do AWS IoT. Para obter informações sobre como gerar e importar o certificado, consulte a documentação do HSM.
Você deve fazer upload do certificado para a mesma conta e região especificadas em config.json. Para obter informações sobre como fazer upload do seu certificado para o AWS IoT, consulte Registrar um certificado de cliente manualmente no Guia do desenvolvedor do AWS IoT.
hsm.rootCAPath
-
(Opcional) O caminho completo na máquina host do IDT para a autoridade de certificação (CA) raiz que assinou seu certificado. Ele será necessário se o certificado criado no HSM não for assinado pela CA raiz da Amazon.
Obter a configuração do Parameter Store da AWS
O AWS IoT Device Tester (IDT) inclui um recurso opcional para obter os valores de configuração do AWS Systems Manager Parameter Store. AWS O Parameter Store permite o armazenamento seguro e criptografado das configurações. Quando configurado, o IDT pode obter os parâmetros do AWS Parameter Store em vez de armazená-los em texto simples no arquivo userdata.json
. Esse recurso é útil para dados sigilosos que devem ser armazenados com criptografia, como senhas, PINs e outros segredos.
-
Para usar esse recurso, você deve atualizar as permissões definidas na criação do usuário do IDT para permitir a ação GetParameter nos parâmetros que foram configurados para o IDT utilizar. Veja abaixo um exemplo de declaração de permissão que pode ser adicionada ao usuário do IDT. Para obter mais informações, consulte o Guia do usuário do AWS Systems Manager.
{ "Sid":"parameterStoreResources", "Effect": "Allow", "Action": [ "ssm:GetParameter" ], "Resource": "arn:aws:ssm:*:*:parameter/IDT*" }
A permissão acima está configurada para obter todos os parâmetros que tenham um nome que começa com
IDT
, usando o caractere curinga*
. Você deve personalizá-la de acordo com as suas necessidades para que o IDT tenha acesso para obter todos os parâmetros configurados com base na nomenclatura dos parâmetros que está sendo usada. -
Você precisa armazenar os valores de configuração no AWS Paramater Store. Esse procedimento pode ser feito no console da AWS ou na CLI da AWS. AWS O Parameter Store permite que você escolha entre armazenamento criptografado e não criptografado. Para armazenar valores confidenciais, como segredos, senhas e PINs, você deve usar a opção criptografada, que é um tipo de parâmetro SecureString. Para fazer upload de um parâmetro usando a CLI da AWS, você pode usar o seguinte comando:
aws ssm put-parameter --name IDT-example-name --value IDT-example-value --type SecureString
Você pode verificar se um parâmetro está armazenado usando o comando a seguir. (Opcional) Use o sinalizador
--with-decryption
para obter um parâmetro SecureString descriptografado.aws ssm get-parameter --name IDT-example-name
O uso da CLI da AWS faz upload do parâmetro na região da AWS do usuário atual da CLI, e o IDT obtém os parâmetros da região configurada em
config.json
. Para verificar sua região por meio da CLI da AWS, use o seguinte:aws configure get region
-
Depois que você tiver um valor de configuração na Nuvem AWS, poderá atualizar qualquer valor na configuração do IDT para obter da Nuvem AWS. Para fazer isso, use um espaço reservado na configuração do IDT no formato
{{AWS.Parameter.parameter_name}}
para obter o parâmetro por nome do AWS Parameter Store.Por exemplo, suponha que você queira usar o parâmetro
IDT-example-name
da Etapa 2 como o keyLabel do HSM na configuração do HSM. Para fazer isso, você pode atualizar ouserdata.json
da seguinte forma:"hsm": { "keyLabel": "{{AWS.Parameter.IDT-example-name}}", [...] }
O IDT obtém o valor desse parâmetro em runtime que foi definido como
IDT-example-value
na Etapa 2. Essa configuração é semelhante à"keyLabel": "IDT-example-value"
, com a ressalva de que o valor é armazenado com criptografia na Nuvem AWS.