Amazon QuickSight で発生する AWS リソースのアクセス許可に関するエラーをトラブルシューティングする方法を教えてください。

最終更新日: 2022 年 11 月 8 日

AWS リソースへの Amazon QuickSight アクセス許可を編集しようとすると、エラーが発生します。どうすればこの問題を解決できますか?

簡単な説明

Amazon QuickSight のアクセス許可を編集すると、次のいずれかのエラーを受け取ることがあります。

"The role used by QuickSight for AWS resource access was modified to an un-recoverable state outside of QuickSight, so you can no longer edit AWS resource permissions in QuickSight."
"We were unable to update QuickSight permissions for AWS resources. Either you are not authorized to edit QuickSight permissions on AWS resources, or the QuickSight permissions were changed using the IAM console and are therefore no longer updateable through QuickSight."
"We cannot update the IAM Role"
"QuickSight has detected unknown policies attached to following roles please detach them and retry"
"Something went wrong For more information see Set IAM policy"

これらのエラーは、AWS Identity and Access Management (IAM) コンソールから、QuickSight での AWS リソースに対する アクセス許可を編集する際に発生します。

注:ベストプラクティスは、IAM コンソールではなく Amazon QuickSight コンソールを使用して AWS リソースへの QuickSight アクセス許可を編集することです。

解決方法

他の AWS のサービスと対話する際に QuickSight が引き受けるサービスロール、 aws-quicksight-service-role-v0 および aws-quicksight-s3-consumers-role-v0 を削除します。次に、サービスロール aws-quicksight-service-role-v0 および aws-quicksight-s3-consumers-role-v0 に対し、QuickSight がアタッチする管理ポリシーを削除します。最後に、 QuickSight から AWS のサービスへのアクセスを復元します。

重要: 開始する前に、削除する前に IAM ポリシーのバックアップがあることを確認してください。バックアップを作成すると、以前にアクセスしていた Amazon Simple Storage Service (Amazon S3) アカウントのリソースを参照しやすくなります。

これらのサービスロールとポリシーは、IAM QuickSight と IAM のアクセス許可を確認した上で削除します。

1.    指示に従って QuickSight のユーザーアカウントを表示します。ADMIN ロールを持つユーザーが存在することを確認します。

2.    IAM コンソールを開きます。

3.    (オプション) まだ作成していない場合は、 IAM ユーザー管理者の作成の手順に従ってください。

4.    以下のような QuickSight サービスとロールの作成および削除が、IAM ポリシーにより許可されていることを確認します。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "iam:GetRole",
        "iam:DetachRolePolicy",
        "iam:DeleteRole",
        "iam:AttachRolePolicy",
        "iam:CreateRole"
      ],
      "Resource":[
         "arn:aws:iam::<Account-id>:role/service-role/aws-quicksight-service-role-v0"
         "arn:aws:iam::<Account-id>:role/service-role/aws-quicksight-s3-consumers-role-v0"
      ]
    },
    {
      "Sid": "VisualEditor1",
      "Effect": "Allow",
      "Action": [
        "iam:ListPolicies",
        "iam:GetPolicyVersion",
        "iam:GetRole",
        "iam:GetPolicy",
        "iam:ListPolicyVersions",
        "iam:ListAttachedRolePolicies",
        "iam:GenerateServiceLastAccessedDetails",
        "iam:ListEntitiesForPolicy",
        "iam:ListPoliciesGrantingServiceAccess",
        "iam:ListRoles",
        "iam:GetServiceLastAccessedDetails",
        "iam:ListAccountAliases",
        "iam:ListRolePolicies",
        "s3:ListAllMyBuckets"
      ],
      "Resource": "*"
    },
    {
      "Sid": "VisualEditor2",
      "Effect": "Allow",
      "Action": [
        "iam:DeletePolicy",
        "iam:CreatePolicy",
        "iam:CreatePolicyVersion",
        "iam:DeletePolicyVersion"
      ],
      "Resource": [
        "arn:aws:iam::<Account-id>:policy/service-role/AWSQuickSightIAMPolicy",
        "arn:aws:iam::<Account-id>:policy/service-role/AWSQuickSightRDSPolicy",
        "arn:aws:iam::<Account-id>:policy/service-role/AWSQuickSightS3Policy",
        "arn:aws:iam::<Account-id>:policy/service-role/AWSQuickSightRedshiftPolicy"
        "arn:aws:iam::<Account-id>:policy/service-role/AWSQuickSightS3ConsumersPolicy"
      ]
    }
  ]
}

5.    ナビゲーションペインで [Roles] (ロール) を選択します。

6.    ロールの検索ペインで、次の IAM ロールを検索し、それを削除します。

aws-quicksight-service-role-v0 aws-quicksight-s3-consumers-role-v0

注: これらのサービスロールは、QuickSight でのアクセス許可の設定時に、 QuickSight により自動的に作成されます。

7.    ナビゲーションペインで、[Policies] を選択します。

8.    ポリシーの検索ペインで、以下のカスタマー管理 IAM ポリシーを検索し、それを削除します。

AWSQuickSightRedshiftPolicy AWSQuickSightRDSPolicy AWSQuickSightIAMPolicy AWSQuickSightS3Policy AWSQuickSightS3ConsumersPolicy

注:AWS リソースへのアクセスを許可されている QuickSight では、AWS が管理するポリシーが使用されます。例えば、AWSQuicksightAthenaAccess ポリシーは、特定の AWS リソースへのアクセスを制御します。AWS 管理のポリシーは削除できません。

QuickSight から AWS のサービスへのアクセスを復元します。

1.    Amazon QuickSight コンソールを開きます。

2.    ナビゲーションバーで、ユーザー名からドロップダウンリストを開き、[Manage QuickSight] (QuickSight の管理) を選択します。

3.    ナビゲーションペインで、[Security & Permissions] (セキュリティとアクセス許可) を選択します。

4.    [QuickSight access to AWS services] (QuickSight の AWS のサービスへのアクセス) で、[Manage] (管理) を選択します。

5.    [Allow access and autodiscovery for these resources] (これらのリソースへのアクセスと自動検出を許可する) で、復元する AWS サービスを選択します。

6.    [Save] (保存) を選択します。

Amazon QuickSight からの AWS のサービスへのアクセスの有効化については、「Using other AWS services: scoping down access」(他の AWS サービスの使用: アクセスの範囲を制限する) を参照してください。


この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?