LoginSignup
0
0

More than 1 year has passed since last update.

serverless Frameworkでフル権限を付与しても権限エラーで怒られた時の対処法

Last updated at Posted at 2023-02-20

事象

serverless frameworkでVPCやサブネット等を作成する構成でsls deployコマンドを実行する
→権限エラーで怒られる
AdministratorAccessの権限を付与してたiamロールを付与しても怒られる

console
% sls deploy

(略)

Error:
CREATE_FAILED: SampleVPC (AWS::EC2::VPC)
Resource handler returned message: "You are not authorized to perform this operation. Encoded authorization failure message:
(略)
serverless.yml (一部抜粋)
provider:
  name: aws
  runtime: python3.8
  region: ap-northeast-1
  iam:
    role: (AdministratorAccessを付与しているiamロール)

# (略)

resources:
  Resources:

    # VPC
    SampleVPC:
      Type: AWS::EC2::VPC
      DeletionPolicy: Delete
      Properties:
        CidrBlock: 10.1.0.0/16
        Tags:
          - Key: From
            Value: SampleVPC
# (略)

原因

AWS CLIを実行する権限が弱かったため権限エラーが発生していた。
この権限情報は特に設定していなければ~/.aws/credentialsに登録されている[default]の認証情報を用いてAWS CLIを実行している。

解決策

1. AWS CLIで登録したアカウントに権限を付与する

policyを追加しましょう

2. serverless frameworkを実行する認証情報を設定する

  1. 実行用のアカウントやロールのアクセスキーを作成し、メモする

  2. ターミナルで認証情報を追加するコマンドを叩く

    terminal
    serverless config credentials --provider aws --key [アクセスキー] --secret [シークレットアクセスキー] --profile [認証情報の名前]
    
    • [認証情報の名前]は分かりやすいように適当に名前をつけてください(例:serverless)
  3. serverless.ymlに用いる認証情報を追記する

    serverless.yml (一部抜粋)
    provider:
      name: aws
      runtime: python3.8
      region: ap-northeast-1
      profile: serverless # ←追記
      iam:
        role: (AdministratorAccessを付与しているiamロール)
    
    # (略)
    

    実行してみると、、、

    terminal
    sls deploy
    (略)
    Service deployed to stack [スタック名] (185s)
    

    無事deployが通りました!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0