web-dev-qa-db-ja.com

新しいIAM管理者ユーザーに「この操作を実行する権限がありません」と表示されます

OSXでAWSCLIを使い始めようとしています。 awsをpip経由でインストールしました。 IAMで新しいユーザーを作成し、事前に作成されたAdministratorAccess - AWS Managed policyポリシーを添付しました。次に、生成されたアクセスキーIDとシークレットアクセスキーをコピーしました。

私が作成したユーザーはどのグループにも属していません。彼らの方針は次のようになります:

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

次に、コマンドラインからaws configureを実行し、コピーしたアクセスキーとシークレットキーに加えて、eu-west-1のリージョンコード(IAMユーザーはグローバルであるため関連性が低いと思われる)を入力しました。 textの出力形式。

次に、簡単なテストコマンドを実行して、新しいグループを設定してみました。

$  aws ec2 create-security-group --group-name my-sg --description "My security group" --debug

ただし、これは次のエラーで失敗します。

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

他のコマンドも同じように失敗します。

私の唯一の理論は、キーのコピーアンドペーストエラーであるということですが、上記のプロセス全体を2回実行しようとしましたが、どちらも同じように失敗しました。私は何が間違っているのですか?プロセスのどの部分が失敗しているかをデバッグする方法はありますか?

6
Richard

AWSCLIが別の場所から認証情報を取得しています。 構成設定と優先順位 を参照してください

環境変数または他の場所から資格情報を取得していないことを確認してください。 AWS CLIは、認証情報と設定を次の順序で検索します。

  • コマンドラインオプション–領域、出力形式、およびプロファイルをコマンドオプションとして指定して、デフォルト設定を上書きできます。
  • 環境変数– AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEYなど。
  • AWS資格情報ファイル– Linux、OS X、またはUnixの場合は〜/ .aws/authenticationsに、Windowsの場合はC:\ Users\USERNAME .aws\credentialsにあります。このファイルには、デフォルトのプロファイルに加えて、複数の名前付きプロファイルを含めることができます。
  • CLI構成ファイル–通常、Linux、OS X、またはUnixの場合は〜/ .aws/configに、Windowsの場合はC:\ Users\USERNAME .aws\configにあります。このファイルには、デフォルトプロファイル、名前付きプロファイル、およびそれぞれのCLI固有の構成パラメーターを含めることができます。
  • インスタンスプロファイルの認証情報–これらの認証情報は、インスタンスロールが割り当てられたEC2インスタンスで使用でき、AmazonEC2メタデータサービスを通じて配信されます。
6
helloV

私の場合、これは、認証元のIAMユーザーに正しいポリシーが関連付けられていないことが原因でした。

AmazonEC2FullAccessポリシーをIAM管理コンソールのユーザーにアタッチすると、コマンドが機能するはずです。

2
AlecRust

VPCでセキュリティグループを作成していないことを確認してください。その場合は、デフォルトのVPCIDをパラメータとして渡す必要があります。

また、さまざまな地域でこれを試してください。

aws configure set region <regions>
aws ec2 describe-security-groups

注:AWSはほとんどのリージョンでデフォルトのVPCの提供を開始しました。

これが問題の解決に役立つことを願っています。

0
Vikas Aggarwal