i
Configuración de Seguridad de Bucket
Cada entorno tiene configurado un bucket público y uno privado. Para asignar permisos de acceso a los buckets, se pueden agregar las credenciales en el adaptador o asignar permisos directamente a nivel del recurso.
Asignación de permisos a nivel de recurso
Los permisos a nivel de recurso se asignan mediante una policy que debe ser asignada al rol de EC2 donde se ejecuta el contenedor. Esta policy puede ser asignada bien al usuario del adaptador o al recurso (por ejemplo, el contenedor de EC2).
Datos de la Policy
La policy debe contener los siguientes permisos (asegurándose de reemplazar deyel y deyel-public con los nombres correctos de los buckets):
{
'Version': '2012-10-17',
'Statement': [
{
'Sid': 'VisualEditor1',
'Effect': 'Allow',
'Action': 's3:ListBucket',
'Resource': [
'arn:aws:s3:::deyel ,
'arn:aws:s3:::deyel-public'
]
},
{
'Sid': 'VisualEditor0',
'Effect': 'Allow',
'Action': [
's3:GetObjectVersionTagging',
's3:GetStorageLensConfigurationTagging',
's3:GetObjectAcl',
'logs:CreateLogStream',
's3:GetIntelligentTieringConfiguration',
's3:GetObjectVersionAcl',
's3:DeleteObject',
's3:PutAccessPointPolicyForObjectLambda',
's3:GetObjectRetention',
's3:GetBucketWebsite',
's3:GetJobTagging',
's3:GetMultiRegionAccessPoint',
's3:GetObjectAttributes',
's3:GetObjectLegalHold',
'logs:CreateLogGroup',
's3:GetReplicationConfiguration',
's3:ListMultipartUploadParts',
's3:PutObject',
's3:GetObject',
's3:GetAnalyticsConfiguration',
's3:GetObjectVersionForReplication',
's3:GetAccessPointForObjectLambda',
's3:GetStorageLensDashboard',
's3:CreateAccessPoint',
's3:GetLifecycleConfiguration',
's3:GetInventoryConfiguration',
's3:GetBucketTagging',
's3:GetAccessPointPolicyForObjectLambda',
's3:ListBucketVersions',
's3:ListBucket',
's3:GetObjectVersionAttributes',
's3:GetBucketPolicy',
's3:GetEncryptionConfiguration',
's3:GetObjectVersionTorrent',
's3:GetBucketRequestPayment',
's3:GetAccessPointPolicyStatus',
's3:GetObjectTagging',
's3:GetMetricsConfiguration',
's3:PutObjectAcl',
's3:GetBucketPublicAccessBlock',
's3:GetMultiRegionAccessPointPolicyStatus',
's3:ListBucketMultipartUploads',
's3:GetMultiRegionAccessPointPolicy',
's3:GetAccessPointPolicyStatusForObjectLambda',
's3:GetBucketVersioning',
's3:GetBucketAcl',
's3:GetAccessPointConfigurationForObjectLambda',
'logs:PutLogEvents',
's3:GetObjectTorrent',
's3:GetStorageLensConfiguration',
's3:CreateAccessPointForObjectLambda',
's3:GetBucketLocation',
's3:GetAccessPointPolicy',
's3:GetObjectVersion'
],
'Resource': [
'arn:aws:s3:::deyel/*',
'arn:aws:s3:::deyel-public/*'
]
}
]
}
Configuración de CORS de los Buckets
Los buckets deben configurarse adecuadamente para permitir o denegar el acceso público, según corresponda.
Configuración del bucket público
Bloquear todo el acceso público: OFF, (Block all public access = OFF)
Configuración del bucket privado
Bloquear todo el acceso público: ON, (Block all public access = ON)
Configuración de CORS
En la sección de permisos, habilitar la opción de Cross-Origin Resource Sharing (CORS) y configurar los siguientes métodos:
[
{
'AllowedHeaders': [
'*'
],
'AllowedMethods': [
'HEAD',
'GET',
'PUT',
'POST'
],
'AllowedOrigins': [
'*'
],
'ExposeHeaders': [
'ETag'
]
}
]