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 recursosml
, e. docker
streamManagement
O IDT v4.9.4 e versões posteriores oferecem suporte a testes. docker
Se você não quiser testar esses recursos, defina o valor correspondente comono
.
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 seriam 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 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 artefatos de teste. Certifique-se de que as permissões sudo não sejam necessá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 no qual instalar AWS IoT Greengrass. 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 Greengrass nucleus 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 posteriores em dispositivos Linux.
(Opcional) Quando o valor for
sim
, o IDT assumirá que o caminho mencionado emInstallationDirRootOnDevice
é o diretório em que o Greengrass está instalado.Para obter mais 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 pressupõe que a coisa e o grupo de coisas sejam criados durante a configuração da instalação. Certifique-se de que esses valores sejam refletidos no
effectiveConfig.yaml
arquivo. O IDT verifica o arquivoeffectiveConfig.yaml
abaixo<InstallationDirRootOnDevice>/config/effectiveConfig.yaml
.Para executar testes com o HSM, certifique-se de que o
aws.greengrass.crypto.Pkcs11Provider
campo esteja atualizado emeffectiveConfig.yaml
. -
GreengrassV2TokenExchangeRole
-
(Opcional) A função personalizada do IAM que você deseja usar como a função de troca de tokens que o dispositivo em teste presume interagir com os AWS recursos.
nota
O IDT usa essa função personalizada do IAM em vez de criar a função padrão de troca de tokens durante a execução do teste. Se você usar um papel personalizado, poderá atualizar as permissões do IAM para o usuário de teste para excluir a
iamResourcesUpdate
declaração que permite ao usuário criar e excluir funções e políticas do IAM.Para obter mais informações sobre como criar uma função personalizada do IAM como sua função de troca de tokens, consulteConfigurar uma função personalizada de troca de tokens.
hsm
-
Esse recurso está disponível para o IDT v4.5.1 e versões posteriores.
(Opcional) As informações de configuração para testes com um módulo de segurança de AWS IoT Greengrass hardware (HSM). 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 pode ser considerada um dado confidencial 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 mais informações, consulte Obter configuração do AWS Parameter Store.
hsm.greengrassPkcsPluginJar
-
O caminho completo para o componente do provedor PKCS #11 que você baixa para a máquina host IDT. AWS IoT Greengrass fornece esse componente como arquivo JAR que você pode baixar para especificar como um 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 fornecida pelo 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 HSM no qual você carrega a chave e o certificado.
hsm.slotLabel
-
A etiqueta do slot usada para identificar o slot 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 Amazon Resource Name (ARN) do certificado de dispositivo carregado na AWS IoT nuvem.
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 seu HSM.
Você deve carregar o certificado na mesma conta e região que você fornece 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 até a autoridade de certificação (CA) raiz que assinou seu certificado. Isso é necessário se o certificado em seu HSM criado 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
Isso é útil para qualquer dado confidencial que deva ser armazenado criptografado, como: senhas, pinos 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. Abaixo está um exemplo de uma declaração de permissão que pode ser adicionada ao usuário do IDT. Para obter mais informações, consulte o AWS Systems Manager guia do usuário.
{ "Sid":"parameterStoreResources", "Effect": "Allow", "Action": [ "ssm:GetParameter" ], "Resource": "arn:aws:ssm:*:*:parameter/IDT*" }
A permissão acima está configurada para permitir a busca de todos os parâmetros com um nome começando com
IDT
, usando o caractere curinga.*
Você deve personalizá-lo de acordo com suas necessidades para que o IDT tenha acesso para buscar quaisquer parâmetros configurados com base na nomenclatura dos parâmetros que você está usando. -
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 armazenamento criptografado ou 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 na AWS CLI, 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
IDT-example-name
parâmetro da Etapa 2 como o HSM KeyLabel na configuração do HSM. Para fazer isso, você pode atualizar o seu dauserdata.json
seguinte forma:"hsm": { "keyLabel": "{{AWS.Parameter.IDT-example-name}}", [...] }
O IDT buscará o valor desse parâmetro no tempo de execução definido
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.