0

ID プロバイダーとして OKTA を使用しています。これにより、ユーザーがコンソールにログインするときにどのロールを引き受けることができるかを指定できます。

目標: ユーザーがコンソールにログインし、アクセス キー (一覧、作成、更新、削除) のみを管理できるようにするロールを用意します。

このポリシーでは、現在のユーザーが自分のキーを管理できるようにする必要がありますが、アクセス キーの一覧表示以外のことをしようとすると、このエラーが発生します。

User: arn:aws:sts::[ACCOUNT-NUMBER]:assumed-role/AccessKeyManagement/[Logged In Username] is not authorized to perform: iam:CreateAccessKey on resource: user [Logged In Username]

リソースを変更しても"*"機能しますが、ユーザーは他のアカウントのアクセス キーを変更できます。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole",
                "sts:DecodeAuthorizationMessage",
                "iam:ListAccountAliases",
                "iam:ListUsers",
                "sts:GetCallerIdentity",
                "iam:ListAccessKeys"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:DeleteAccessKey",
                "iam:UpdateAccessKey",
                "iam:CreateAccessKey"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        }
    ]
}

ロールの信頼関係 (必要な場合に備えて)

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::[ACCOUNT-NUMBER]:saml-provider/OKTA"
      },
      "Action": [
        "sts:AssumeRoleWithSAML",
        "sts:AssumeRole"
      ],
      "Condition": {
        "StringEquals": {
          "SAML:aud": "https://signin.aws.amazon.com/saml"
        }
      }
    }
  ]
}

アクセスキーを変更する現在のユーザー権限の「想定ロール」を許可するために何をする必要があるかについて、私は途方に暮れています。

4

1 に答える 1