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á.
Registrando chamadas de CodeArtifact API com AWS CloudTrail
CodeArtifact é integrado com AWS CloudTrail
Se você criar uma trilha, poderá habilitar a entrega contínua de CloudTrail eventos para um bucket do Amazon Simple Storage Service (Amazon S3), incluindo eventos para. CodeArtifact Se você não configurar uma trilha, ainda poderá ver os eventos mais recentes no CloudTrail console no Histórico de eventos. Usando as informações coletadas por CloudTrail, você pode determinar a solicitação que foi feita CodeArtifact, o endereço IP do qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita e detalhes adicionais.
Para saber mais sobre isso CloudTrail, consulte o Guia AWS CloudTrail do usuário.
CodeArtifact informações em CloudTrail
CloudTrail é ativado em sua AWS conta quando você cria a conta. Quando a atividade ocorre em CodeArtifact, essa atividade é registrada em um CloudTrail evento junto com outros eventos AWS de serviço no histórico de eventos. Você pode visualizar, pesquisar e baixar eventos recentes em sua AWS conta. Para obter mais informações, consulte Visualização de eventos com histórico de CloudTrail eventos.
Para um registro contínuo dos eventos em sua AWS conta, incluindo eventos para CodeArtifact, crie uma trilha. Uma trilha permite CloudTrail entregar arquivos de log para um bucket do Amazon S3. Por padrão, quando você cria uma trilha no console, ela é aplicada a todas as regiões da AWS. A trilha registra eventos de todas as regiões na AWS partição e entrega os arquivos de log ao bucket do Amazon S3 que você especificar. Você também pode configurar outros AWS serviços para analisar e agir com base nos dados de eventos coletados nos CloudTrail registros. Para obter mais informações, consulte os tópicos a seguir.
Quando o CloudTrail registro está ativado em sua AWS conta, as chamadas de API feitas para CodeArtifact ações são rastreadas em arquivos de CloudTrail log, onde são gravadas com outros registros AWS de serviço. CloudTrail determina quando criar e gravar em um novo arquivo com base no período e no tamanho do arquivo.
Todas as CodeArtifact ações são registradas por CloudTrail. Por exemplo, chamadas para as ações ListRepositories
(nas AWS CLI,aws codeartifact
list-repositories
), CreateRepository
(aws codeartifact
create-repository
) e ListPackages
(aws codeartifact
list-packages
) geram entradas nos arquivos de CloudTrail log, além dos comandos do cliente do gerenciador de pacotes. Os comandos do cliente do gerenciador de pacotes normalmente fazem mais de uma solicitação HTTP ao servidor. Cada solicitação gera um evento de CloudTrail registro separado.
Entrega de registros entre contas CloudTrail
Até três contas separadas recebem CloudTrail registros para uma única chamada de API:
-
A conta que fez a solicitação, por exemplo, a conta que chamou
GetAuthorizationToken
. -
A conta do administrador do repositório, por exemplo, a conta que administra o repositório que
ListPackages
foi chamada. -
A conta do proprietário do domínio, por exemplo, a conta do proprietário do domínio que contém o repositório no qual uma API foi chamada.
Por APIs exemploListRepositoriesInDomain
, são ações contra um domínio e não contra um repositório específico, somente a conta de chamada e a conta do proprietário do domínio recebem o CloudTrail registro. Por APIs ListRepositories
isso, não são autorizados contra nenhum recurso, somente a conta do chamador recebe o CloudTrail registro.
Entendendo as entradas do arquivo de CodeArtifact log
CloudTrail os arquivos de log podem conter uma ou mais entradas de log. Cada entrada lista vários eventos com formatação JSON. Um evento de log representa uma única solicitação de qualquer origem e inclui informações sobre a ação solicitada, a data e a hora da ação, os parâmetros de solicitação, e assim por diante. As entradas de log não são um rastreamento de pilha ordenada das chamadas de API pública. Assim, elas não são exibidas em nenhuma ordem específica.
Tópicos
Exemplo: uma entrada de registro para chamar a GetAuthorizationToken API
Uma entrada de log criada por GetAuthorizationToken
inclui o nome do domínio no campo requestParameters
.
{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:sts::123456789012:assumed-role/Console/example", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-12-11T13:31:37Z" }, "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::123456789012:role/Console", "accountId": "123456789012", "userName": "Console" } } }, "eventTime": "2018-12-11T13:31:37Z", "eventSource": "codeartifact.amazonaws.com", "eventName": "GetAuthorizationToken", "awsRegion": "us-west-2", "sourceIPAddress": "205.251.233.50", "userAgent": "aws-cli/1.16.37 Python/2.7.10 Darwin/16.7.0 botocore/1.12.27", "requestParameters": { "domainName": "example-domain" "domainOwner": "123456789012" }, "responseElements": { "sessionToken": "HIDDEN_DUE_TO_SECURITY_REASONS" }, "requestID": "6b342fc0-5bc8-402b-a7f1-ffffffffffff", "eventID": "100fde01-32b8-4c2b-8379-ffffffffffff", "readOnly": false, "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }
Exemplo: uma entrada de log para buscar uma versão do pacote npm
As solicitações feitas por todos os clientes do gerenciador de pacotes, incluindo o cliente npm
, têm dados adicionais registrados, incluindo o nome do domínio, nome do repositório e nome do pacote no campo requestParameters
. O caminho do URL e o método HTTP são registrados no campo additionalEventData
.
{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:sts::123456789012:assumed-role/Console/example", "accountId": "123456789012", "accessKeyId": "ASIAIJIOBJIBSREXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-12-17T02:05:16Z" }, "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::123456789012:role/Console", "accountId": "123456789012", "userName": "Console" } } }, "eventTime": "2018-12-17T02:05:46Z", "eventSource": "codeartifact.amazonaws.com", "eventName": "ReadFromRepository", "awsRegion": "us-west-2", "sourceIPAddress": "205.251.233.50", "userAgent": "npm/6.14.15 node/v12.22.9 linux x64 ci/custom", "requestParameters": { "domainName": "example-domain", "domainOwner": "123456789012", "repositoryName": "example-repo", "packageName": "lodash", "packageFormat": "npm", "packageVersion": "4.17.20" }, "responseElements": null, "additionalEventData": { "httpMethod": "GET", "requestUri": "/npm/lodash/-/lodash-4.17.20.tgz" }, "requestID": "9f74b4f5-3607-4bb4-9229-ffffffffffff", "eventID": "c74e40dd-8847-4058-a14d-ffffffffffff", "readOnly": true, "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }