

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 授予許可以建立暫時性安全憑證
<a name="id_credentials_temp_control-access_enable-create"></a>

依預設，IAM 使用者沒有為 AWS STS 聯合身分使用者工作階段和角色建立臨時安全憑證的許可。您必須使用政策提供您的使用者這些許可。雖然您可以直接授予許可給使用者，我們強烈建議您將許可授予群組。這可讓許可的管理更輕鬆。當有人不再需要執行與許可相關的任務時，您只需從群組中移除許可。如果其別人需要執行該任務，將它們新增到群組以授予許可。

若要授予 IAM 群組為 AWS STS 聯合身分使用者工作階段或角色建立臨時安全憑證的許可，您可以連接能夠授予以下一個或兩個權限的政策：
+ 若要讓 OIDC 和 SAML 聯合主體存取 IAM 角色，請將存取權授予 AWS STS `AssumeRole`。
+ <a name="para_gsy_hxg_1t"></a>對於不需要角色的 AWS STS 聯合身分使用者，將存取權授予 AWS STS `GetFederationToken`。

 如需有關 `AssumeRole` 和 `GetFederationToken` API 操作間差異的詳細資訊，請參閱 [請求臨時安全憑證](id_credentials_temp_request.md)。

IAM 使用者也可以呼叫 [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) 建立臨時安全憑證。使用者呼叫 `GetSessionToken` 不需要許可。此操作的目的是使用 MFA 驗證使用者的身分。您不能使用政策來控制身分驗證。這表示您無法避免 IAM 使用者呼叫 `GetSessionToken` 來建立臨時憑證。

**Example 授予許可以擔任角色的政策範例**  
下列範例政策授予 呼叫 中`UpdateApp`角色`AssumeRole`的許可 AWS 帳戶 `123123123123`。當使用 `AssumeRole` 時，代表聯合身分使用者建立安全憑證的使用者 (或應用程式)，無法委派角色許可政策中未指定的許可。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [{
    "Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Resource": "arn:aws:iam::123123123123:role/UpdateAPP"
  }]
}
```

**Example 授予許可以建立聯合身分使用者的暫時性安全憑證的政策範例**  
下列範例政策會授予許可以存取 `GetFederationToken`。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [{
    "Effect": "Allow",
    "Action": "sts:GetFederationToken",
    "Resource": "*"
  }]
}
```

**重要**  
當您授予 IAM 使用者許可，讓他們能夠透過 `GetFederationToken` 為 AWS STS 聯合身分使用者建立臨時安全憑證時，請留意，這會允許這些使用者委派自己的許可。如需在 IAM 使用者和 之間委派許可的詳細資訊 AWS 帳戶，請參閱 [委派存取權限的政策範例](id_roles_create_policy-examples.md)。如需有關如何控制暫時性安全憑證的許可的詳細資訊，請參閱[臨時安全憑證的許可](id_credentials_temp_control-access.md)。

**Example 授予使用者有限許可以建立聯合身分使用者的暫時性安全憑證的政策範例**  
當您讓 IAM 使用者呼叫 `GetFederationToken`，最佳實務是限制 IAM 使用者可以委派的許可。例如，下列政策顯示如何讓 IAM 使用者僅為名稱開頭為 *Manager* AWS STS 的聯合身分使用者建立臨時安全登入資料。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [{
    "Effect": "Allow",
    "Action": "sts:GetFederationToken",
    "Resource": ["arn:aws:sts::123456789012:federated-user/Manager*"]
  }]
}
```