L'autre jour, j'ai participé à un événement
** "Au fait, j'ai écrit un article pour chiffrer et télécharger dans un compartiment S3, mais j'ai utilisé une clé d'accès pour m'authentifier!" ** (Pas conforme aux meilleures pratiques de sécurité)
J'ai remarqué cela, alors j'ai décidé de le compléter.
** Chiffrement des données téléchargées vers S3 à l'aide du kit AWS SDK pour Java / SSE-KMS ** est une continuation.
· Dans IAM, cliquez sur ** Créer un nouveau rôle **.
-Sélectionnez ** "Amazon EC2" **.
-Cochez ** "Amazon S3 Full Access" ** et cliquez sur ** [Étape suivante] **.
-Entrez ** nom du rôle ** et cliquez sur ** [Créer un rôle] **.
-Sélectionnez la ** clé de cryptage ** utilisée pour le cryptage S3.
-Cliquez sur ** [Ajouter] ** de ** Utilisateur clé **.
-Sélectionnez le ** rôle IAM que vous avez créé ** et cliquez sur ** [Joindre] **.
-Attribuez le rôle IAM créé à ** l'instance EC2 cible **.
-Entrez / sélectionnez le ** nom du rôle IAM ** et cliquez sur ** Appliquer **.
-Si le processus réussit, démarrez (démarrez) l'instance EC2 cible et vérifiez que le rôle IAM est appliqué.
Pour le code Java, indiquez simplement les informations d'identification.
point de changement
public class S3Access {
private static final String ENDPOINT_URL = "https://s3-ap-northeast-1.amazonaws.com";
private static final String REGION = "ap-northeast-1";
// private static final String ACCESS_KEY = "【clé d'accès】";
// private static final String SECRET_KEY = "[Clef secrète]";
private static final String KMS_KEY_ID = "[ID de clé KMS]";
(Omission)
//--------------------------------------------------
//Génération de clients
//--------------------------------------------------
private AmazonS3 getClient(String bucketName) throws Exception {
// //Informations d'authentification
// AWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY);
//Paramètres du client
ClientConfiguration clientConfig = new ClientConfiguration();
clientConfig.setProtocol(Protocol.HTTPS); //protocole
clientConfig.setConnectionTimeout(10000); //Délai de connection dépassé(ms)
//Réglage du point final
EndpointConfiguration endpointConfiguration = new EndpointConfiguration(ENDPOINT_URL, REGION);
//Génération de clients
AmazonS3 client = AmazonS3ClientBuilder.standard()
// .withCredentials(new AWSStaticCredentialsProvider(credentials))
.withClientConfiguration(clientConfig)
.withEndpointConfiguration(endpointConfiguration).build();
(Omission)
** Supprimez la ligne commentée avec "//" au début de la ligne **.
Recommended Posts