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 de IDT para executar o pacote de AWS IoT Greengrass qualificação
Antes de executar os testes, você deve definir as configurações de AWS credenciais e dispositivos no computador host.
Configurar AWS credenciais em config.json
Você deve configurar suas credenciais de usuário do IAM no arquivo . Use as credenciais do usuário IDT for AWS IoT Greengrass V2 criado em. Crie e configure um Conta da AWS 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 AWS credenciais ao credentials arquivo 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 AWS IoT Greengrass V2 para usar AWS as credenciais do seu credentials arquivo, edite o arquivo da seguinte config.json forma:
{ "awsRegion": "region", "auth": { "method": "file", "credentials": { "profile": "default" } } }
nota
Se você não usar o default AWS perfil, não se esqueça de alterar o nome do perfil no seu config.json arquivo. 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 AWS_SECRET_ACCESS_KEY ambiente AWS_ACCESS_KEY_ID e para armazenar suas AWS credenciais.
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 AWS credenciais, o IDT for AWS IoT Greengrass V2 precisa de informações sobre os dispositivos nos quais 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 for AWS IoT Greengrass V2 também precisa de informações adicionais sobre a localização dos artefatos e do software de teste. 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 PreInstalled Greengrass, 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 755folder-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 PreInstalled Greengrass.nota
Para obter informações sobre as versões suportadas do núcleo Greengrass para IDT for, consulte. AWS IoT GreengrassVersão mais recente do IDT para AWS IoT Greengrass V2 Para baixar o software Greengrass mais recente, consulte Baixar o AWS IoT Greengrass software.
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 for
yes, o IDT assumirá 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 estiver instalando com provisionamento manual, inclua a etapa “Adicionar a AWS IoT coisa a um grupo de coisas novo ou existente” ao criar uma AWS IoT coisa 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.yamlem<InstallationDirRootOnDevice>/config/effectiveConfig.yaml.Para executar testes com o HSM, certifique-se de que o campo
aws.greengrass.crypto.Pkcs11Provideresteja 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
iamResourcesUpdateque 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
hsmdeve ser omitida. Para obter mais informações, consulte Integração de segurança de hardware.Essa propriedade será aplicada somente se
connectivity.protocolestiver 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, você pode evitar proteger esses valores de configuração em texto simples armazenando-os em um AWS parâmetro do Parameter Store SecureString e configurando o IDT para buscá-los durante a execução do teste. Para ter mais informações, consulte Obter configuração do AWS Parameter Store
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 baixar a versão mais recente do arquivo JAR do componente na 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 AWS IoT Greengrass Core 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ê deve ter gerado esse certificado anteriormente usando a chave no HSM, importado para o HSM e carregado na AWS IoT nuvem. 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 mais informações sobre como fazer o upload do seu certificado para AWS IoT, consulte Registrar um certificado de cliente manualmente no Guia do AWS IoT desenvolvedor.
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 configuração do AWS Parameter Store
AWS IoT O Device Tester (IDT) inclui um recurso opcional para buscar 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 buscar AWS parâmetros do Parameter Store em vez de armazenar parâmetros em texto simples dentro do 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 usadas na criação do usuário do IDT para permitir a GetParameter ação nos parâmetros que o IDT está configurado para usar. 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 seus valores de configuração dentro do AWS Paramater Store. Isso pode ser feito no AWS console ou na AWS CLI. AWS O Parameter Store permite que você escolha entre armazenamento criptografado e não criptografado. Para armazenar valores confidenciais, como segredos, senhas e pinos, você deve usar a opção criptografada, que é um tipo de parâmetro de SecureString. Para carregar um parâmetro usando a AWS CLI, você pode usar o seguinte comando:
aws ssm put-parameter --name IDT-example-name --value IDT-example-value --type SecureStringVocê pode verificar se um parâmetro está armazenado usando o comando a seguir. (Opcional) Use o
--with-decryptionsinalizador para buscar um parâmetro descriptografadoSecureString .aws ssm get-parameter --name IDT-example-nameO uso da AWS CLI carregará o parâmetro na AWS região do usuário atual da CLI e o IDT buscará os parâmetros da região configurada em.
config.jsonPara verificar sua região por meio da CLI da AWS , use o seguinte:aws configure get region -
Depois de ter um valor de configuração na AWS nuvem, você pode atualizar qualquer valor dentro da configuração do IDT para buscá-lo na AWS nuvem. Para fazer isso, use um espaço reservado na configuração do IDT do formulário
{{AWS.Parameter.parameter_name}}para buscar o parâmetro com esse nome no Parameter Store. AWSPor exemplo, suponha que você queira usar o parâmetro
IDT-example-nameda Etapa 2 como o keyLabel do HSM na configuração do HSM. Para fazer isso, você pode atualizar ouserdata.jsonda 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-valuena Etapa 2. Essa configuração é semelhante à configuração,"keyLabel": "IDT-example-value"mas, em vez disso, esse valor é armazenado como criptografado na AWS nuvem.