기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
조직의 개인이 Quick Sight에 액세스하려고 하면 "외부 로그인이 승인되지 않았습니다"라는 메시지가 표시됩니다.
| 대상: Amazon Quick Suite 관리자 |
조직의 개인이 AssumeRoleWithWebIdentity를 사용하여 Quick Sight에 페더레이션하는 경우 Quick Sight는 단일 역할 기반 사용자를 단일 외부 로그인에 매핑합니다. 경우에 따라 해당 개인은 원래 매핑된 사용자와 다른 외부 로그인(예: Amazon Cognito)을 통해 인증될 수 있습니다. 이 경우 Quick Sight에 액세스할 수 없으며 다음과 같은 예상치 못한 오류 메시지가 표시됩니다.
페더레이션에 사용되는 외부 로그인은 Quick Sight 사용자에게 승인되지 않습니다.
이 문제를 해결하는 방법을 보려면, 다음 섹션을 참조하세요.
왜 이런 일이 발생하나요?
간소화된 Amazon Cognito 흐름을 사용하고 있습니다.
Amazon Cognito를 사용하여 Quick Sight에 페더레이션하는 경우 Single Sign-On(IAM Identity Center) 설정은 CognitoIdentityCredentials API 작업을 사용하여 Quick Sight 역할을 수임할 수 있습니다. 이 방법은 Amazon Cognito 자격 증명 풀의 모든 사용자를 단일 Quick Sight 사용자에게 매핑하며 Quick Sight에서 지원하지 않습니다.
대신 역할 세션 이름을 지정하는 AssumeRoleWithWebIdentity API 작업을 사용하는 것이 좋습니다.
인증되지 않은 Amazon Cognito 사용자를 사용하고 있는 경우
Amazon Cognito IAM 자격 증명 센터는 Amazon Cognito 자격 증명 풀의 인증되지 않은 사용자를 위해 설정됩니다. Quick Sight 역할 신뢰 정책은 다음 예제와 같이 설정됩니다.
이 설정을 사용하면 임시 Amazon Cognito 사용자가 고유한 Quick Sight 사용자에게 매핑된 역할 세션을 수임할 수 있습니다. 인증되지 않은 자격 증명은 일시적이므로 Quick Sight에서 지원되지 않습니다.
Quick Sight에서 지원하지 않는 설정은 사용하지 않는 것이 좋습니다. Quick Sight의 경우 Amazon Cognito IAM Identity Center에서 인증된 사용자를 사용해야 합니다.
동일한 사용자 이름 속성을 가진 Amazon Cognito 사용자를 삭제하고 다시 생성했습니다.
이 경우 Quick Sight 사용자에 매핑된 연결된 Amazon Cognito 사용자가 삭제되고 다시 생성되었습니다. 새로 생성된 Amazon Cognito 사용자는 기본 주제가 다릅니다. 역할 세션 이름이 Quick Sight 사용자에게 매핑되는 방식에 따라 세션 이름은 동일한 Quick Sight 역할 기반 사용자에 해당할 수 있습니다.
UpdateUser API 작업을 사용하여 Quick Sight 사용자를 업데이트된 Amazon Cognito 사용자 주제에 다시 매핑하는 것이 좋습니다. 자세한 내용은 다음의 UpdateUser API 예제를 참조하세요.
하나의 자격 증명 풀과 다른의 여러 Amazon Cognito 사용자 풀을 Quick Sight로 매핑 AWS 계정 하는 경우
AWS 계정 하나의 자격 증명 풀 및 Quick Sight와 다른의 여러 Amazon Cognito 사용자 풀 매핑은 Quick Sight에서 지원되지 않습니다.
해결하려면 어떻게 해야 합니까?
Quick Sight 퍼블릭 API 작업을 사용하여 사용자의 외부 로그인 정보를 업데이트할 수 있습니다. 다음 옵션을 사용하여 방법을 알아보십시오.
RegisterUser를 사용하여 외부 로그인 정보로 사용자를 생성할 수 있습니다.
외부 로그인 공급자가 Amazon Cognito인 경우, 다음 CLI 코드를 사용하여 사용자를 생성하세요.
aws quicksight register-user --aws-account-idaccount-id--namespacenamespace--emailuser-email--user-roleuser-role--identity-type IAM --iam-arn arn:aws:iam::account-id:role/cognito-associated-iam-role--session-namecognito-username--external-login-federation-provider-type COGNITO --external-login-idcognito-identity-id--regionidentity-region
external-login-id은(는) Amazon Cognito 사용자의 자격 증명 ID여야 합니다. 다음 예시와 같이 형식은 <identity-region>:<cognito-user-sub>(으)로 되어 있습니다.
aws quicksight register-user --aws-account-id 111222333 --namespace default --email cognito-user@amazon.com --user-role ADMIN --identity-type IAM --iam-arn arn:aws:iam::111222333:role/CognitoQuickSightRole --session-name cognito-user --external-login-federation-provider-type COGNITO --external-login-id us-east-1:12345678-1234-1234-abc1-a1b1234567 --region us-east-1
외부 로그인 공급자가 사용자 지정 OpenID Connect(OIDC) 공급자인 경우, 다음 CLI 코드를 사용하여 사용자를 생성하세요.
aws quicksight register-user --aws-account-idaccount-id--namespacenamespace--emailuser-email--user-roleuser-role--identity-type IAM --iam-arn arn:aws:iam::account-id:role/identity-provider-associated-iam-role--session-nameidentity-username--external-login-federation-provider-type CUSTOM_OIDC --custom-federation-provider-urlcustom-identity-provider-url--external-login-idcustom-provider-identity-id--regionidentity-region
다음은 예입니다.
aws quicksight register-user --aws-account-id 111222333 --namespace default --email identity-user@amazon.com --user-role ADMIN --identity-type IAM --iam-arn arn:aws:iam::111222333:role/CustomIdentityQuickSightRole --session-name identity-user --external-login-federation-provider-type CUSTOM_OIDC --custom-federation-provider-url idp.us-east-1.amazonaws.com/us-east-1_ABCDE --external-login-id 12345678-1234-1234-abc1-a1b1234567 --region us-east-1
CLIRegisterUser에서를 사용하는 방법에 대한 자세한 내용은 Amazon Quick Suite API 참조의 RegisterUser를 참조하세요.
DescribeUser를 사용하여 사용자의 외부 로그인 정보를 확인합니다.
사용자가 외부 로그인 공급자의 역할 기반 페더레이션 사용자인 경우, 다음 코드와 같이 DescribeUser API 작업을 사용하여 해당 사용자의 외부 로그인 정보를 확인합니다.
aws quicksight describe-user --aws-account-idaccount-id--namespacenamespace--user-nameidentity-provider-associated-iam-role/identity-username--regionidentity-region
다음은 예입니다.
aws quicksight describe-user --aws-account-id 111222333 --namespace default --user-name IdentityQuickSightRole/user --region us-west-2
외부 로그인 정보 필드가 있는 경우 결과에는 외부 로그인 정보 필드가 포함됩니다. 다음은 한 예입니다.
{ "Status": 200, "User": { "Arn": "arn:aws:quicksight:us-east-1:111222333:user-default-IdentityQuickSightRole-user", "UserName": "IdentityQuickSightRole-user", "Email": "user@amazon.com", "Role": "ADMIN", "IdentityType": "IAM", "Active": true, "PrincipalId": "federated-iam-AROAAAAAAAAAAAAAA:user", "ExternalLoginFederationProviderType": "COGNITO", "ExternalLoginFederationProviderUrl": "cognito-identity.amazonaws.com", "ExternalLoginId": "us-east-1:123abc-1234-123a-b123-12345678a" }, "RequestId": "12345678-1234-1234-abc1-a1b1234567" }
CLIDescribeUser에서를 사용하는 방법에 대한 자세한 내용은 Amazon Quick Suite API 참조의 DescribeUser를 참조하세요.
UpdateUser를 사용하여 사용자의 외부 로그인 정보를 업데이트합니다.
DescribeUser 결과에서 사용자를 위해 저장한 외부 로그인 정보가 올바르지 않거나 외부 로그인 정보가 누락되는 경우가 있을 수 있습니다. 그렇다면 UpdateUser API 작업을 사용해 업데이트할 수 있습니다. 다음 예시를 사용하세요.
Amazon Cognito 사용자의 경우 다음을 사용하세요.
aws quicksight update-user --aws-account-idaccount-id--namespacenamespace--user-namecognito-associated-iam-role/cognito-username--emailuser-email--roleuser-role--external-login-federation-provider-type COGNITO --external-login-idcognito-identity-id--regionidentity-region
다음은 예입니다.
aws quicksight update-user --aws-account-id 111222333 --namespace default --user-name CognitoQuickSightRole/cognito-user --email cognito-user@amazon.com --role ADMIN --external-login-federation-provider-type COGNITO --external-login-id us-east-1:12345678-1234-1234-abc1-a1b1234567 --region us-west-2
사용자 지정 OIDC 공급자 사용자의 경우 다음을 사용하세요.
aws quicksight update-user --aws-account-idaccount-id--namespacenamespace--user-nameidentity-provider-associated-iam-role/identity-username--emailuser-email--roleuser-role--external-login-federation-provider-type CUSTOM_OIDC --custom-federation-provider-urlcustom-identity-provider-url--external-login-idcustom-provider-identity-id--regionidentity-region
다음은 예입니다.
aws quicksight update-user --aws-account-id 111222333 --namespace default --user-name IdentityQuickSightRole/user --email user@amazon.com --role ADMIN --external-login-federation-provider-type CUSTOM_OIDC --custom-federation-provider-url idp.us-east-1.amazonaws.com/us-east-1_ABCDE --external-login-id 123abc-1234-123a-b123-12345678a --region us-west-2
사용자의 외부 로그인 정보를 삭제하려면 NONE external login federation provider type을 사용하세요. 다음 CLI 명령을 사용하여 외부 로그인 정보를 삭제하세요.
aws quicksight update-user --aws-account-idaccount-id--namespacenamespace--user-nameidentity-provider-associated-iam-role/identity-username--emailuser-email--roleuser-role--external-login-federation-provider-type NONE --regionidentity-region
다음은 예입니다.
aws quicksight update-user --aws-account-id 111222333 --namespace default --user-name CognitoQuickSightRole/cognito-user --email cognito-user@amazon.com --role ADMIN --external-login-federation-provider-type NONE --region us-west-2
CLIUpdateUser에서를 사용하는 방법에 대한 자세한 내용은 Amazon Quick Suite API 참조의 UpdateUser를 참조하세요.