[JAVA] So wenden Sie IAM ROLE auf EC2 an und erhalten temporären AccessKey und SecretAccessKey

Der Zugriffsschlüssel und der geheime Zugriffsschlüssel können vom IAM-Benutzer unter "Zugriffsschlüssel generieren" erstellt werden. Bei dieser Methode muss der Zugriffsschlüssel jedoch in einem bestimmten Zeitraum ersetzt werden, was sehr problematisch ist. Daher wurde IAM ROLE EC2 zugewiesen, und der Zugriffsschlüssel sollte Osaraba sein. Bei Anwendung von IAM ROLE konnten der zuvor geschriebene temporäre AccessKey und SecretAccessKey jedoch nicht abgerufen werden. Ich habe so geschrieben

AWSCredentials credentials = new BasicAWSCredentials("Zugangsschlüssel", "シークレットZugangsschlüssel");
AWSSecurityTokenServiceClient sts = new AWSSecurityTokenServiceClient(credentials);
GetSessionTokenRequest req = new GetSessionTokenRequest();
GetSessionTokenResult res = sts.getSessionToken(req);
Credentials tmpCredentials = res.getCredentials();
String accessKeyId = tmpCredentials.getAccessKeyId();
String secretAccessKeyId = tmpCredentials.getSecretAccessKey();

Ich habe es kurz überprüft, aber die angenommene Rolle ist gut. Ursprünglich scheint es mit Ressourcen zwischen verschiedenen Konten zu spielen, Ich denke das ist in Ordnung.

AWSSecurityTokenService sts = new AWSSecurityTokenServiceClient();
AssumeRoleResult assumeRoleResult = sts.assumeRole(new AssumeRoleRequest()
		.withRoleArn(ROLE_ARN)
		.withRoleSessionName(ROLE_SESSION_NAME));

Credentials credentials = assumeRoleResult.getCredentials();
System.out.println("AccessKeyId=" + credentials.getAccessKeyId() + " SecretAccessKey=" + credentials.getSecretAccessKey()+ " SessionToken=" + credentials.getSessionToken());

Was muss ich für ROLE_ARN und ROLE_SESSION_NAME angeben? ROLE_ARN ist der ARN der Rolle

WS000001.JPG

ROLE_SESSION_NAME ist eine schöne Zeichenfolge Bsp. Wie "role_session"

Für die letzte Rolle, die Sie verwenden möchten

        {
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": [
                "arn:aws:iam::xxxxxxxxxxxx:role/full_ec2_lambda"
            ]
        }

Es ist in Ordnung, wenn Sie die Richtlinie von hinzufügen

Sie können jetzt temporäre Anmeldeinformationen abrufen.

Recommended Posts

So wenden Sie IAM ROLE auf EC2 an und erhalten temporären AccessKey und SecretAccessKey
Wie man Java SE8 Gold bekommt und studiert
[Rails] So geben Sie Erfolgs- und Fehlermeldungen aus
[Kotlin] So erhalten Sie die IP-Adresse und den Benutzeragenten
Verwendung und Anwendung der JFrame / Canvas-Klasse von Java
So führen Sie JUnit im Batch aus und erhalten Abdeckung
[Rails] So erhalten Sie die URL der Übergangsquelle und leiten sie um
[Swift5] So erhalten Sie ein Array und eine Reihe von Unterschieden zwischen Arrays
Abrufen und Hinzufügen von Daten aus dem Firebase Firestore in Ruby
[Java] So konvertieren Sie vom Typ String in den Pfadtyp und erhalten den Pfad
Verwendung von StringBurrer und Arrays.toString.
Verwendung von HttpClient (Get) von Java
Wie fange ich mit schlank an?
Verwendung von EventBus3 und ThreadMode
So erhalten Sie Parameter in Spark
Aufrufen von Klassen und Methoden
Wie man Gleichheit und Gleichheit benutzt (wie man Gleichheit benutzt)
So verbinden Sie Heroku und Sequel
So konvertieren Sie LocalDate und Timestamp
So erstellen Sie Ihre eigene Anmerkung in Java und erhalten den Wert