为 SAML 的 IAM 角色创建策略
Creating Policy for SAML's IAM role
我正在尝试为我的联合身份用户(通过我的 SAML 提供商进行身份验证)创建一个 IAM 角色策略。我正在关注 Creating a Role for SAML 2.0 Federation (Console) - AWS Identity and Access Management:
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "sts:AssumeRoleWithSAML",
"Principal": {"Federated": "arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:saml-provider/PROVIDER-NAME"},
"Condition": {"StringEquals": {"SAML:aud": "https://signin.aws.amazon.com/saml"}}
}
}
但是我得到以下错误:
This policy contains the following error: Has prohibited field Principal For more information about the IAM policy grammar, see AWS IAM Policies
我尝试 Google 但没有成功。 上的回答也没有帮助。谁能告诉我如何为我的 SAML 提供商创建策略和角色?
政策有误。
您在声明中缺少 []。
正确的政策是:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "<COPY & PASTE SAML ARN VALUE HERE>"
},
"Action": "sts:AssumeRoleWithSAML",
"Condition": {
"StringEquals": {
"SAML:aud": "https://signin.aws.amazon.com/saml"
}
}
}
]
}
试试这个
问题已解决。该文档陈旧且具有误导性。如果您通过 IAM 控制台为 SAML 提供商创建角色,它会自动在其中建立信任关系。所以,只需要添加权限。
我正在尝试为我的联合身份用户(通过我的 SAML 提供商进行身份验证)创建一个 IAM 角色策略。我正在关注 Creating a Role for SAML 2.0 Federation (Console) - AWS Identity and Access Management:
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "sts:AssumeRoleWithSAML",
"Principal": {"Federated": "arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:saml-provider/PROVIDER-NAME"},
"Condition": {"StringEquals": {"SAML:aud": "https://signin.aws.amazon.com/saml"}}
}
}
但是我得到以下错误:
This policy contains the following error: Has prohibited field Principal For more information about the IAM policy grammar, see AWS IAM Policies
我尝试 Google 但没有成功。
政策有误。 您在声明中缺少 []。
正确的政策是:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "<COPY & PASTE SAML ARN VALUE HERE>"
},
"Action": "sts:AssumeRoleWithSAML",
"Condition": {
"StringEquals": {
"SAML:aud": "https://signin.aws.amazon.com/saml"
}
}
}
]
}
试试这个
问题已解决。该文档陈旧且具有误导性。如果您通过 IAM 控制台为 SAML 提供商创建角色,它会自动在其中建立信任关系。所以,只需要添加权限。