Caso de uso: Upload manual de arquivos
Buckets
Bucket Name | Ambiente |
---|---|
dexco-dev-da-data-upload | DEV |
dexco-dev-da-data-archive | DEV |
dexco-data-upload | PROD |
dexco-data-archive | PROD |
Características
Este processo tem como objetivo suprir a necessidade das áreas de negócio que necessitam de processar arquivos cujo processo de upload para o storage é manual.
O arquivo não será versionado, mas será, uma vez processado, armazenado no bucket de archive na estrutura de pastas yyyy/mm/dd
Ambos os buckets terão as respectivas pastas para cada unidade de negócio.
Regras
Este bucket estará somente nas contas novas
O bucket dexco-dev-da-data-upload, para os usuários, somente o acesso de gravação será liberado. Os mesmos não poderão deletar, alterar, mover os arquivos uma vez no bucket
Será liberado um access_key / secret_key com a devida permissão de gravação no bucket dexco-dev-da-data-upload
Cada arquivo deverá estar obrigatoriamente em uma unidade de negócio, e cada arquivo será processado por um processo cuja regra de processamento deverá ser fornecida pela área solicitante.
Um vez que o arquivo processou com sucesso, o mesmo será movido pelo processo para o bucket de archive com a estrutura área de negocio/<poderá ter uma pasta intermédia caso necessário>/yyyy/mm/dd
Nenhuma das chaves terá permissão de delete dos arquivos.
Usuário IAM
Nome do Usuário | Nome da Rule | Permissão |
---|---|---|
|
| Gravação e Leitura de todas as pastas. Uso específico dos processos de ingestão. |
|
| Acesso de Gravação |
OBS: O usuário de produção / role é o mesmo nome, apenas retirando o dev.
Criação da Chave Privada Para uso do Processo (criada uma única vez):
Nome do usuário IAM: svc-dexco-dev-da-data-upload-archive
Nome da role IAM: bucket-access-dexco-dev-da-data-upload-archive
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:PutBucketAcl",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::dexco-dev-da-data-upload-archive",
"arn:aws:s3:::dexco-dev-da-data-upload-archive/*"
]
}
]
}
Criação da Chave Pública Para uso do Processo (criada uma única vez para cada unidade de negócio):
Nome do usuário IAM: svc-dexco-dev-da-data-upload-<BU>
Nome da role IAM: bucket-access-dexco-dev-da-data-upload-<BU>
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowRootAndHomeListingOfDexcoBucket",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::dexco-dev-da-data-upload"
],
"Condition": {
"StringEquals": {
"s3:prefix": [
"",
"/",
"madeira/"
],
"s3:delimiter": [
"/"
]
}
}
},
{
"Sid": "AllowListingOfUserFolder",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::dexco-dev-da-data-upload"
],
"Condition": {
"StringLike": {
"s3:prefix": [
"madeira/*"
]
}
}
},
{
"Sid": "AllowAllS3ActionsInUserFolder",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObjectAcl",
"s3:ListBucket",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::dexco-dev-da-data-upload/madeira/*"
]
}
]
}