Настройка Я работаю через "Идентификация и изоляция Saas с Amazon Cognito" развертывание руководство и сопроводительное исходный код.
После развертывания, тестирования и прочтения всего я смог выяснить
- Как работать с пользователями/пулами пользователей Cognito на арендатора
- Как создать роли для каждого арендатора
- Как создавать политики на основе арендаторов
- Как создать пулы удостоверений для каждого арендатора
Основной вопрос Как все это связано? В частности, как пользователь в пуле пользователей арендатора связывается с политикой в пуле удостоверений? Кажется, кто-то машет рукой вокруг «Получить токен доступа (с политиками IAM)». Как это работает? Как вписываются пользовательские авторизаторы?
Дополнительная информация Я считаю, что это связано с token-manager.js:346
var cognitoidentity = new AWS.CognitoIdentity({apiVersion: '2014-06-30',region: configuration.aws_region});
var params = {
IdentityId: event.IdentityId, /* required */
//CustomRoleArn: 'STRING_VALUE',
Logins: {
[event.provider]: event.token,
/* '<IdentityProviderName>': ... */
}
};
cognitoidentity.getCredentialsForIdentity(params, function (err, data) {
Я вижу, что getCredentialsForIdentity задокументировано для получения CustomRoleArn, как показано ниже. В приведенном выше коде это закомментировано, но код все еще работает.
var params = {
IdentityId: 'STRING_VALUE', /* required */
CustomRoleArn: 'STRING_VALUE',
Logins: {
'<IdentityProviderName>': 'STRING_VALUE',
/* '<IdentityProviderName>': ... */
}
};
Пользовательский авторизатор Единственный код в custom-authorizer/index.js, который я могу найти в отношении разрешения/политики:
var policy = new AuthPolicy(principalId, awsAccountId, apiOptions);
policy.allowAllMethods();
const authResponse = policy.build();
‹Вздох> Этот код создает впечатление, что мы обходим все политики. Возможно ли, что это приложение подделывает его и обрабатывает маршрутизацию только в Angular? Возможно нет.
Дополнительный вопрос Я смог извлечь почти все, что мне нужно, с помощью AWS PowerShell< /а>. Единственное, что я не знаю, как получить, - это поставщик идентификаторов пула пользователей. Get-CGIPIdentityProvider Командлету требуется "ProviderName". Что это? "Когнито"? "www.amazon.com"? Какой-то идентификатор?
Повторяю Основной вопрос, если вы просто прокрутите вниз. Как это все связано? В частности, как пользователь в пуле пользователей арендатора связывается с политикой в пуле удостоверений? Кажется, кто-то машет рукой вокруг «Получить токен доступа (с политиками IAM)». Как это работает? Как вписываются пользовательские авторизаторы?