本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在預設情況下,IAM 使用者沒有許可來建立聯合身分使用者和角色的暫時性安全憑證。您必須使用政策提供您的使用者這些許可。雖然您可以直接授予許可給使用者,我們強烈建議您將許可授予群組。這可讓許可的管理更輕鬆。當有人不再需要執行與許可相關的任務時,您只需從群組中移除許可。如果其別人需要執行該任務,將它們新增到群組以授予許可。
若要授予 IAM 群組許可以建立聯合身分使用者或角色的臨時安全性憑證,您可連接會授予以下一個或兩個權限的政策:
-
對於要存取 IAM 角色的聯合身分使用者,將存取權授予 AWS STS
AssumeRole
。 -
針對不需要角色的聯合身分使用者,將存取權授予 AWS STS
GetFederationToken
。
如需有關 AssumeRole
和 GetFederationToken
API 操作間差異的詳細資訊,請參閱 請求臨時安全憑證。
IAM 使用者也可以呼叫 GetSessionToken
建立臨時安全憑證。使用者呼叫 GetSessionToken
不需要許可。此操作的目的是使用 MFA 驗證使用者的身分。您不能使用政策來控制身分驗證。這表示您無法避免 IAM 使用者呼叫 GetSessionToken
來建立臨時憑證。
範例 授予許可以擔任角色的政策範例
以下範例政策授予許可,為 AWS 帳戶 123123123123
中的 UpdateApp
角色呼叫 AssumeRole
。當使用 AssumeRole
時,代表聯合身分使用者建立安全憑證的使用者 (或應用程式),無法委派角色許可政策中未指定的許可。
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::123123123123:role/UpdateAPP"
}]
}
範例 授予許可以建立聯合身分使用者的暫時性安全憑證的政策範例
下列範例政策會授予許可以存取 GetFederationToken
。
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "sts:GetFederationToken",
"Resource": "*"
}]
}
重要
當您提供 IAM 使用者許可,建立具 GetFederationToken
之聯合身分使用者的暫時性安全憑證時,請留意,這會讓那些使用者委派自己的許可。如需有關跨 IAM 使用者和 AWS 帳戶 委派許可的詳細資訊,請參閱 委派存取權限的政策範例。如需有關如何控制暫時性安全憑證的許可的詳細資訊,請參閱臨時安全憑證的許可。
範例 授予使用者有限許可以建立聯合身分使用者的暫時性安全憑證的政策範例
當您讓 IAM 使用者呼叫 GetFederationToken
,最佳實務是限制 IAM 使用者可以委派的許可。例如,以下政策顯示如何讓 IAM 使用者僅建立適用於聯合身分使用者的暫時性安全憑證,該使用者的名稱以管理員為開頭。
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "sts:GetFederationToken",
"Resource": ["arn:aws:sts::123456789012:federated-user/Manager*"]
}]
}