为用户池创建和管理 SAML 身份提供商(Amazon CLI 和 Amazon API)
使用以下命令可创建和管理 SAML 身份提供商 (IdP)。
创建 IdP 并上传元数据文档
-
Amazon CLI:
aws cognito-idp create-identity-provider
带元数据文件的示例:
aws cognito-idp create-identity-provider --user-pool-id
<user_pool_id>
--provider-name=SAML_provider_1 --provider-type SAML --provider-details file:///details.json --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress其中
details.json
包含:{ "MetadataFile": "
<SAML metadata XML>
" }注意 如果
<SAML metadata XML>
包含任何引号 ("
),则必须对其进行转义 (\"
)。带元数据 URL 的示例:
aws cognito-idp create-identity-provider --user-pool-id
<user_pool_id>
--provider-name=SAML_provider_1 --provider-type SAML --provider-details MetadataURL=<metadata_url>
--attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress -
Amazon API:CreateIdentityProvider
为 IdP 上传新的元数据文档
-
Amazon CLI:
aws cognito-idp update-identity-provider
带元数据文件的示例:
aws cognito-idp update-identity-provider --user-pool-id
<user_pool_id>
--provider-name=SAML_provider_1 --provider-details file:///details.json --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress其中
details.json
包含:{ "MetadataFile": "
<SAML metadata XML>
" }注意 如果
<SAML metadata XML>
包含任何引号 ("
),则必须对其进行转义 (\"
)。带元数据 URL 的示例:
aws cognito-idp update-identity-provider --user-pool-id
<user_pool_id>
--provider-name=SAML_provider_1 --provider-details MetadataURL=<metadata_url>
--attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress -
Amazon API:UpdateIdentityProvider
获取有关特定 IdP 的信息
-
Amazon CLI:
aws cognito-idp describe-identity-provider
aws cognito-idp describe-identity-provider --user-pool-id
<user_pool_id>
--provider-name=SAML_provider_1 -
Amazon API:DescribeIdentityProvider
列出有关所有 IdP 的信息
-
Amazon CLI:
aws cognito-idp list-identity-providers
示例:
aws cognito-idp list-identity-providers --user-pool-id
<user_pool_id>
--max-results 3 -
Amazon API:ListIdentityProviders
删除 IdP
-
Amazon CLI:
aws cognito-idp delete-identity-provider
aws cognito-idp delete-identity-provider --user-pool-id
<user_pool_id>
--provider-name=SAML_provider_1 -
Amazon API:DeleteIdentityProvider