Cognito Identity Pools

рд╣реИрдХрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

рдореМрд▓рд┐рдХ рдЬрд╛рдирдХрд╛рд░реА

рдкрд╣рдЪрд╛рди рдкреВрд▓ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрд╕реНрдерд╛рдпреА рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИред рдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ Amazon S3 рдФрд░ DynamoDB рдЬреИрд╕реА рд╡рд┐рднрд┐рдиреНрди AWS рд╕реЗрд╡рд╛рдУрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред рдкрд╣рдЪрд╛рди рдкреВрд▓ рдХреА рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдЕрдирд╛рдо рдЕрддрд┐рдерд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХрдИ рдкрд╣рдЪрд╛рди рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рд╣реИред рд╕рдорд░реНрдерд┐рдд рдкрд╣рдЪрд╛рди рдкреНрд░рджрд╛рддрд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • рдЕрдореЗрдЬрд╝рди рдХреЛрдЧреНрдирд┐рдЯреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓

  • рдлреЗрд╕рдмреБрдХ, рдЧреВрдЧрд▓, рдЕрдореЗрдЬрд╝рди рд▓реЙрдЧрд┐рди рдФрд░ рдПрдкреНрдкрд▓ рд╕рд╛рде рдореЗрдВ рд╕рд╛рдЗрди рдЗрди рдЬреИрд╕реЗ рд╕реЛрд╢рд▓ рд╕рд╛рдЗрди-рдЗрди рд╡рд┐рдХрд▓реНрдк

  • OpenID Connect (OIDC) рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рджрд╛рддрд╛рдПрдБ

  • SAML (рд╕реБрд░рдХреНрд╖рд╛ рджрд╛рд╡рд╛ рдЪрд┐рд╣реНрдирд┐рдд рднрд╛рд╖рд╛) рдкрд╣рдЪрд╛рди рдкреНрд░рджрд╛рддрд╛рдПрдБ

  • рдбреЗрд╡рд▓рдкрд░ рдкреНрд░рдорд╛рдгреАрдХреГрдд рдкрд╣рдЪрд╛рдиреЗрдВ

# Sample code to demonstrate how to integrate an identity provider with an identity pool can be structured as follows:
import boto3

# Initialize the Amazon Cognito Identity client
client = boto3.client('cognito-identity')

# Assume you have already created an identity pool and obtained the IdentityPoolId
identity_pool_id = 'your-identity-pool-id'

# Add an identity provider to the identity pool
response = client.set_identity_pool_roles(
IdentityPoolId=identity_pool_id,
Roles={
'authenticated': 'arn:aws:iam::AWS_ACCOUNT_ID:role/AuthenticatedRole',
'unauthenticated': 'arn:aws:iam::AWS_ACCOUNT_ID:role/UnauthenticatedRole',
}
)

# Print the response from AWS
print(response)

рдХреЛрдЧреНрдирд┐рдЯреЛ рд╕рд┐рдВрдХ

рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдкреВрд▓ рд╕рддреНрд░реЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдЖрдИрдбреА рдЙрддреНрдкрдиреНрди рдХрд░рдиреА рд╣реЛрдЧреАред рдпрд╣ рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдЖрдИрдбреА рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рддреНрд░ рдХреА рдкрд╣рдЪрд╛рди рд╣реИред рдпреЗ рдкрд╣рдЪрд╛рди 20 рдбреЗрдЯрд╛рд╕реЗрдЯреНрд╕ рддрдХ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд┐рдирдореЗрдВ 1MB рддрдХ рдХреБрдВрдЬ-рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛ рд╕рдХреЗ (рдЬреЛ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдЖрдИрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛)ред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╕реЗрд╡рд╛ рдХреЛрдЧреНрдирд┐рдЯреЛ-рд╕рд┐рдВрдХ рд╡рд╣ рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдФрд░ рд╕рдордХрд╛рд▓рд┐рдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ (рдбреЗрдЯрд╛рд╕реЗрдЯреНрд╕ рдореЗрдВ, рд╕реНрдЯреНрд░реАрдореНрд╕ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рднреЗрдЬрдиреЗ рдФрд░ рдПрд╕рдПрдирдПрд╕реНрд╕ рдореИрд╕реЗрдЬ рдореЗрдВ...)ред

рдкреЗрдВрдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг

  • Pacu, рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд╢реЛрд╖рдг рдврд╛рдВрдЪрд╛, рдЕрдм "cognito__enum" рдФрд░ "cognito__attack" рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЦрд╛рддреЗ рдореЗрдВ рд╕рднреА рдХреЛрдЧреНрдирд┐рдЯреЛ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрдордЬреЛрд░ рд╡рд┐рдиреНрдпрд╛рд╕, рдкрд╣реБрдВрдЪ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧреБрдг, рдЖрджрд┐ рдХреЛ рдзреНрд╡рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рд░реНрдорд╛рдг (рдПрдордПрдлрдП рд╕рдорд░реНрдерди рд╕рд╣рд┐рдд) рдФрд░ рд╕рдВрд╢реЛрдзрди рдЙрдЪреНрдЪрддрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕рдВрд╢реЛрдзрди рдпреЛрдЧреНрдп рдЕрдиреБрдХреВрд▓ рдЧреБрдг, рдЙрдкрдпреЛрдЧреА рдкреВрд▓ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕, рдЖрдИрдбреА рдЯреЛрдХрдиреНрд╕ рдореЗрдВ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рднреВрдорд┐рдХрд╛рдПрдБ, рдЖрджрд┐ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред

рдореЙрдбреНрдпреВрд▓ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХрд╛ рднрд╛рдЧ 2 рджреЗрдЦреЗрдВред рд╕реНрдерд╛рдкрдирд╛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп Pacu рдкреЗрдЬ рджреЗрдЦреЗрдВред

рдЙрдкрдпреЛрдЧ

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдФрд░ рдПрдХ рджрд┐рдпреЗ рдЧрдП рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдкреВрд▓ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рднреА рдкреНрд░рд┐рд╡реЗрд╕реЗрдХ рд╡реЗрдХреНрдЯрд░реНрд╕ рдХреЗ рдЦрд┐рд▓рд╛рдл cognito__attack рдЙрдкрдпреЛрдЧ рдХрд╛ рдирдореВрдирд╛:

Pacu (new:test) > run cognito__attack --username randomuser --email XX+sdfs2@gmail.com --identity_pools
us-east-2:a06XXXXX-c9XX-4aXX-9a33-9ceXXXXXXXXX --user_pool_clients
59f6tuhfXXXXXXXXXXXXXXXXXX@us-east-2_0aXXXXXXX

рд╡рд░реНрддрдорд╛рди AWS рдЦрд╛рддреЗ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ, рдкрд╣рдЪрд╛рди рдкреВрд▓, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрджрд┐ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдореВрдирд╛ cognito__enum рдЙрдкрдпреЛрдЧ:

Pacu (new:test) > run cognito__enum
  • Cognito Scanner рдПрдХ CLI рдЯреВрд▓ рд╣реИ рдЬреЛ рдкрд╛рдпрдерди рдореЗрдВ рд╣реИ рдФрд░ рдЬреЛ Cognito рдкрд░ рд╡рд┐рднрд┐рдиреНрди рд╣рдорд▓реЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрд╡рд╛рдВрдЫрд┐рдд рдЦрд╛рддрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкрд╣рдЪрд╛рди рдкреВрд▓ рдЙрдиреНрдирддрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИред

рд╕реНрдерд╛рдкрдирд╛

$ pip install cognito-scanner

рдЙрдкрдпреЛрдЧ

$ cognito-scanner --help

For more information check https://github.com/padok-team/cognito-scanner

рдЖрдИрдПрдПрдо рд░реЛрд▓реНрд╕ рддрдХ рдкрд╣реБрдВрдЪрдирд╛

рдЕрдЕрдзрд┐рдХреГрдд

рдХрд┐рд╕реА рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдПрдХ Cognito рдНрдк рдореЗрдВ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдХреЗрд╡рд▓ рдПрдХ рдЕрдЕрдзрд┐рдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдкреВрд▓ рдЖрдИрдбреА рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЖрдИрдбреА рдЗрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдм/рдореЛрдмрд╛рдЗрд▓ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╣рд╛рд░реНрдбрдХреЛрдб рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдПрдХ рдЖрдИрдбреА рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ: eu-west-1:098e5341-8364-038d-16de-1865e435da3b (рдЗрд╕реЗ рдмреНрд░реВрдЯрдлреЛрд░реНрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

рдЖрдИрдПрдПрдо Cognito рдЕрдЕрдзрд┐рдХреГрдд рд░реЛрд▓ рдЬрд┐рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрд╕рдХрд╛ рдирд╛рдо рд╣реЛрддрд╛ рд╣реИ Cognito_<рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдкреВрд▓ рдирд╛рдо>Unauth_Role

рдЕрдЧрд░ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдкреВрд▓ рдЖрдИрдбреА рдХрд╛ рд╣рд╛рд░реНрдбрдХреЛрдб рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЕрдЕрдзрд┐рдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рд╛рде рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

import requests

region = "us-east-1"
id_pool_id = 'eu-west-1:098e5341-8364-038d-16de-1865e435da3b'
url = f'https://cognito-identity.{region}.amazonaws.com/'
headers = {"X-Amz-Target": "AWSCognitoIdentityService.GetId", "Content-Type": "application/x-amz-json-1.1"}
params = {'IdentityPoolId': id_pool_id}

r = requests.post(url, json=params, headers=headers)
json_resp = r.json()

if not "IdentityId" in json_resp:
print(f"Not valid id: {id_pool_id}")
exit

IdentityId = r.json()["IdentityId"]

params = {'IdentityId': IdentityId}

headers["X-Amz-Target"] = "AWSCognitoIdentityService.GetCredentialsForIdentity"
r = requests.post(url, json=params, headers=headers)

print(r.json())

рдпрд╛ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд aws cli рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

aws cognito-identity get-id --identity-pool-id <identity_pool_id> --no-sign
aws cognito-identity get-credentials-for-identity --identity-id <identity_id> --no-sign

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЕрдирдзрд┐рдХреГрдд рдХреЛрдЧреНрдирд┐рдЯреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рднреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд░рдЦ рд╕рдХрддрд╛, рднрд▓реЗ рд╣реА рдпрд╣ рдиреАрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЧрдИ рд╣реЛред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЦрдВрдб рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред

Enhanced vs Basic Authentication flow

рдкрд┐рдЫрд▓реЗ рдЦрдВрдб рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреНрд╣рд╛рдВрд╕реНрдб рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдлрд╝реНрд▓реЛ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдлрд╝реНрд▓реЛ рдПрдХ рдкреНрд░рддрд┐рдмрдВрдзрдХ рд╕рддреНрд░ рдиреАрддрд┐ рдХреЛ рдЖрдИрдПрдПрдо рд░реЛрд▓ рд╕рддреНрд░ рдЬрд┐рдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рдиреАрддрд┐ рдХреЗрд╡рд▓ рдЗрд╕ рд╕рддреНрд░ рдХреЛ рдЗрд╕ рд╕реВрдЪреА рд╕реЗ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧреА (рднрд▓реЗ рд╣реА рд░реЛрд▓ рдХреЛ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛ).

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕реЗ рдЫрд▓рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ, рдЕрдЧрд░ рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдкреВрд▓ рдореЗрдВ "рдмреЗрд╕рд┐рдХ (рдХреНрд▓рд╛рд╕рд┐рдХ) рдлрд╝реНрд▓реЛ" рд╕рдХреНрд╖рдо рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрд╕ рдлрд╝реНрд▓реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдЙрд╕ рдкреНрд░рддрд┐рдмрдВрдзрдХ рд╕рддреНрд░ рдиреАрддрд┐ рдирд╣реАрдВ рд╣реЛрдЧреАред

# Get auth ID
aws cognito-identity get-id --identity-pool-id <identity_pool_id> --no-sign

# Get login token
aws cognito-identity get-open-id-token --identity-id <identity_id> --no-sign

# Use login token to get IAM session creds
## If you don't know the role_arn use the previous enhanced flow to get it
aws sts assume-role-with-web-identity --role-arn "arn:aws:iam::<acc_id>:role/<role_name>" --role-session-name sessionname --web-identity-token <token> --no-sign

рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХрд┐ рдореВрд▓ рдлреНрд▓реЛ рдПрдиреЗрдмрд▓ рдирд╣реАрдВ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ)

An error occurred (InvalidParameterException) when calling the GetOpenIdToken operation: Basic (classic) flow is not enabled, please use enhanced flow.

IAM рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЗ рд╕реЗрдЯ рд╣реЛрдиреЗ рдкрд░ рдЖрдкрдХреЛ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреМрдирд╕рд╛ рдПрдХреНрд╕реЗрд╕ рд╣реИ рдФрд░ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдкреНрд░рдорд╛рдгрд┐рдд

рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдкреНрд░рдорд╛рдгрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рдПрдВрдЧреА, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЕрдВрджрд░ рд╕рд╛рдЗрди рдЕрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рдирдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

рдпрд╣рд╛рдБ рдкреНрд░рдорд╛рдгрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рднреВрдорд┐рдХрд╛рдПрдБ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдкреВрд▓ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рдорд╛рдгрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдВред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдкреНрд░рджрд╛рддрд╛ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╡рд╣ рдПрдХ рдХреЛрдЧреНрдирд┐рдЯреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рд╣реИ, рддреЛ рд╢рд╛рдпрдж рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦреБрдж рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдИрдПрдПрдо рдХреЛрдЧреНрдирд┐рдЯреЛ рдкреНрд░рдорд╛рдгрд┐рдд рднреВрдорд┐рдХрд╛ рдЬреЛ рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдкреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рдЙрд╕рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╛рдо рд╣реИ Cognito_<рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдкреВрд▓ рдирд╛рдо>Auth_Role

рд╡реИрд╕реЗ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдХреА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдХреЛрдЧреНрдирд┐рдЯреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдкреВрд▓ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╣ рди рднреВрд▓реЗрдВ рдХрд┐ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЛ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

aws cognito-identity get-id \
--identity-pool-id <рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА_рдкреВрд▓_рдЖрдИрдбреА> \
--logins cognito-idp.<рдХреНрд╖реЗрддреНрд░>.amazonaws.com/<рдЖрдкрдХрд╛_рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛_рдкреВрд▓_рдЖрдИрдбреА>=<рдЖрдИрдбреА_рдЯреЛрдХрди>

# рдкрд┐рдЫрд▓реЗ рдХрдорд╛рдВрдб рдХреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ identity_id рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
aws cognito-identity get-credentials-for-identity \
--identity-id <рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА_рдЖрдИрдбреА> \
--logins cognito-idp.<рдХреНрд╖реЗрддреНрд░>.amazonaws.com/<рдЖрдкрдХрд╛_рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛_рдкреВрд▓_рдЖрдИрдбреА>=<рдЖрдИрдбреА_рдЯреЛрдХрди>


# IdToken рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдПрдХреНрд╕реЗрд╕ рдХрд┐рд╕реА рднреА рднреВрдорд┐рдХрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд▓ рд╕рдореВрд╣реЛрдВ рдХреЗ рдХрд╛рд░рдг
# --custom-role-arn рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рд╢реЗрд╖ рднреВрдорд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
aws cognito-identity get-credentials-for-identity \
--identity-id <рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА_рдЖрдИрдбреА> \
    --custom-role-arn <рднреВрдорд┐рдХрд╛_рдЖрд░реНрди> \
    --logins cognito-idp.<рдХреНрд╖реЗрддреНрд░>.amazonaws.com/<рдЖрдкрдХрд╛_рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛_рдкреВрд▓_рдЖрдИрдбреА>=<рдЖрдИрдбреА_рдЯреЛрдХрди>

рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдИрдбреЗрдВрдЯрд┐рдЯреА рдкреНрд░рджрд╛рддрд╛ рдкрд░ рд╡рд┐рднрд┐рдиреНрди IAM рднреВрдорд┐рдХрд╛рдПрдБ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ рдЬрд┐рд╕ рдкреНрд░рдпреЛрдХреНрддрд╛ рдХреЛ рд▓реЙрдЧ рдЗрди рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдлрд┐рд░ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдХреНрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ (рджрд╛рд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)ред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдпрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ, рддреЛ рд╕рднреА рдХрд╛ рдЖрдИрдПрдПрдо рднреВрдорд┐рдХрд╛рдУрдВ рддрдХ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдФрд░ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╣реИрдХрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

Last updated