Ich habe eine Anwendung, die auf einer EC2-Instanz ausgeführt wird, die ein IAM-Profil mit EC2-Beschreibung für das Konto aufweist, in dem sie sich befindet. Es hat auch AssumeRole für ein anderes Konto (diese Rolle gewährt EC2 auch beschreiben). Hier ist, was meine IAM-Rolle auf dem Hauptkonto wie folgt aussieht:AWS Java SDK: AssumeRole vom EC2-Instanzprofil?
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{
"Sid": "{SID}",
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Resource": [
"arn:aws:iam::{ACCT_NUM}:role/{ROLE_NAME}"
]
}
]
}
Hier ist die IAM Rolle aus dem sekundären Konto ist:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
}
]
}
Im Grunde, was muss ich tun, ist es, die EC2-Instanzen von beiden bekommen Konten. Ist das mit dem aktuellen SDK möglich? Momentan bekomme ich nur die Instanzen vom Hauptkonto.
Für den Aufruf von AssumeRole() muss ich den ARN/Session-Namen angeben? Gibt es sie trotzdem aus dem Instanzprofil, auf dem die Anwendung läuft? – jkinz
Sie können einer Instanz nur eine Rolle zuweisen. Um eine andere Rolle zu übernehmen, müssen Sie den vollständigen ARN angeben. Welche Sprache wird verwendet? –
http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-api.html –