4

salt-cloud の IAM ユーザーを作成する場合、最小権限の原則に従ってジョブを実行できるように、ユーザーに付与する最小限の権限は何ですか?

マップ ファイルを使用して EC2 インスタンスを作成する必要があるだけです。しかし、ソルト クラウドが実行する実際の操作を確認するのに十分な知識がありません。

定義済みのポリシーがあれば、それを使用したいと思います。

4

1 に答える 1

3

私はこれに興味があったので、salt-cloud ソース (salt/cloud/clouds/ec2.py) を調べました。興味深いことに、彼らは boto ライブラリを使用して AWS を呼び出すのではなく、リクエスト自体を切り分けることを選択しており、その方法により、アクセス許可が必要なアクションを簡単に抽出できます。

このワンライナーはすべてのアクションを引き出します

grep "'Action':" cloud/clouds/ec2.py | awk '{print $4;}' | sed "s/[},']//g" | sort | uniq

ご覧のとおり、利用可能なすべての Ec2 アクセス許可のかなりのサブセットです。

AllocateAddress AssociateAddress AttachVolume CancelSpotInstanceRequests CopySnapshot CreateKeyPair CreateSnapshot CreateTags CreateVolume DeleteKeyPair DeleteSnapshot DeleteTags DeleteVolume DescribeAvailabilityZones DescribeImages DescribeInstanceAttribute DescribeInstanceTypes DescribeInstances DescribeKeyPairs DescribeRegions DescribeSnapshots DescribeSpotInstanceRequests DescribeSubnets DescribeTags DescribeVolumes DescribeZones DetachVolume GetConsoleOutput GetPasswordData ImportKeyPair ModifyInstanceAttribute ModifyNetworkInterfaceAttribute RebootInstance RebootInstances RegisterImage RequestSpotInstances RunInstances StartInstance StartInstances StopInstances TerminateInstances

もちろん、salt を使用して、これらの IAM プロファイルを作成することもできます ;)

于 2015-11-23T13:31:49.033 に答える