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 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 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.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 obter 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, 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 SecureString
Você pode verificar se um parâmetro está armazenado usando o comando a seguir. (Opcional) Use o
--with-decryption
sinalizador para buscar um parâmetro descriptografadoSecureString .aws ssm get-parameter --name IDT-example-name
O 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.json
Para 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-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 à configuração,"keyLabel": "IDT-example-value"
mas, em vez disso, esse valor é armazenado como criptografado na AWS nuvem.