Я пытаюсь создать Cognito Identity Provider с помощью документации на https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html. Вот пример фрагмента, где FederationMetadata. xml находится в той же папке, что и определение шаблона CF.
AWSTemplateFormatVersion: 2010-09-09
Description: Identity Provider
Resources:
CognitoUserPoolAIdProvider:
Type: "AWS::Cognito::UserPoolIdentityProvider"
Properties:
AttributeMapping:
email: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
IdpIdentifiers: []
ProviderDetails:
IDPSignout: 'false'
MetadataFile: './FederationMetadata.xml'
SLORedirectBindingURI: https://<IP of ADFS>/adfs/ls/
SSORedirectBindingURI: https://<IP of ADFS>/adfs/ls/
ProviderName: MyIdProvider
ProviderType: SAML
UserPoolId: us_abcdef123
При попытке запустить я получаю ошибку с
Invalid XML (Service: AWSCognitoIdentityProviderService; Status Code: 400; Error Code: InvalidParameterException; Request ID: c047641b-7c69-4944-b4e4-e110cf8c2605)
Я вижу, что содержимое файла не предоставляется во время выполнения:
{
"ProviderName": "MyIdProvider",
"UserPoolId": "us_abcdef123",
"AttributeMapping": {
"email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
},
"ProviderDetails": {
"MetadataFile": "./FederationMetadata.xml",
"SSORedirectBindingURI": "https://<IP>/adfs/ls/",
"IDPSignout": "false",
"SLORedirectBindingURI": "https://<IP>/adfs/ls/"
},
"ProviderType": "SAML",
"IdpIdentifiers": []
}
Вопрос: Как я должен ссылаться на файл FederationMetadata. xml в шаблоне CF? Кроме того, вставка содержимого файла XML работает нормально, но я хочу полностью преобразовать содержимое метаданных в файл.