ユーザーが必要とするAWSの最小限のポリシーを見つける

ユーザーが必要とするAWSの最小限のポリシーを見つける

AWS EC2を使ってみます。コマンドがあります

$ aws ec2 describe-instances

答えは次のようになります。

DescribeInstances 操作を呼び出すときにクライアント エラー (UnauthorizedOperation) が発生しました: この操作を実行する権限がありません。

しかし、正確な最小限のポリシーとは何でしょうか
https://console.aws.amazon.com/iam/home?#ポリシー
このコマンド(または他の特定のコマンド)に対してユーザーに許可する必要があるものは何ですか?

答え1

しかし、正確な最小限のポリシーとは何でしょうか https://console.aws.amazon.com/iam/home?#ポリシー このコマンド(または他の特定のコマンド)に対してユーザーに許可する必要があるものは何ですか?

すべてのコマンドを実行する権限を与える「AdministratorAccess」ポリシーを除いて、あなたが求めるような単一の「最小限の」ポリシーは存在しません。しかし、それほど多くの権限を持つことは危険であり、理由なく使用すべきではありません。

各ポリシーは、実行したいコマンドの特定の組み合わせ用に設計されています。一部は読み取り専用機能 (describe* 機能など) にフルアクセスでき、何も「変更」する権限がありません。その他のポリシーは、特定の AWS サービスに対してフルコントロールです (EC2 は許可するが RDS は許可しないなど)。

本当に「最小限」のものが欲しいのであれば、組み込みのポリシーは必要なものではありません。代わりに、IAM ポリシー ジェネレーターを使用して、実行する必要があるものに特化したカスタム ポリシーを生成する必要があります。

あなたの場合、 を実行するには、次のようなポリシーがaws ec2 describe-instances必要です。ec2:DescribeInstances

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1432001253000",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

通常、コマンドとそれを実行するために必要なポリシーは 1 対 1 で対応しています。ほとんどの AWS サービス (EC2 や RDS など) では、必要なポリシーは CLI/API コマンドの名前を模倣します。

たとえば、ec2:DescribeInstancesの場合aws ec2 describe-instances

残念ながら、Amazon S3 の場合、コマンドは少し異なり、正確に 1 対 1 ではありません。

許可されるコマンドを追加する場合は、上記のポリシーの「アクション」リストにaws ec2 describe-snapshots追加するだけです。ec2:DescribeSnapshots

関連情報