0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

アクセス許可境界(Permissions Boundary)を編集させないポリシー

Posted at

はじめに

IAMはいじらせたいけど、アクセス許可境界(Permissions Boundary)までは触らせたくない、というケースに対応できそうな方法を考えてみました。

概要

以下の禁止が含まれるポリシーを作成し使います。

  • すべてのロールに対して、アクセス許可境界の設定・削除の禁止
  • すべてのユーザに対して、アクセス許可境界の設定・削除の禁止
  • アクセス許可境界として使うポリシーの、編集の禁止
    • 対象のポリシーには、専用のタグを付与しておきます

すべてのロール・ユーザのアクセス許可境界が修正できないようにしています。
自身に宛がわれているのみ対象とする場合は、Resourceを直に指定すればよいかと思います。

参考

作成するポリシー

以下のCloudFormationテンプレートを作成し、その後コンソールなどからタグBoundary:Trueを付与します。CloudFormationからはマネジメントポリシーにタグは付与できないようですので、別途付与します。

createDenyPermissionBoundaryEdit.yaml
AWSTemplateFormatVersion: '2010-09-09'
  
Resources:
  PolicyDenyPermissionBoundaryEdit:
    Type: 'AWS::IAM::ManagedPolicy'
    Properties:
      ManagedPolicyName: 'DenyPermissionBoundaryEdit'
      Path: /
      PolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Deny
            Action: 
              - 'iam:PutRolePermissionsBoundary'
              - 'iam:DeleteRolePermissionsBoundary'
            Resource: !Sub "arn:aws:iam::${AWS::AccountId}:role/*"
          - Effect: Deny
            Action: 
              - 'iam:PutUserPermissionsBoundary'
              - 'iam:DeleteUserPermissionsBoundary'
            Resource: !Sub "arn:aws:iam::${AWS::AccountId}:user/*"
          - Effect: Deny
            Action: '*'
            Resource: !Sub 'arn:aws:iam::${AWS::AccountId}:policy/*'
            Condition:
              StringEquals:
                aws:ResourceTag/Boundary: 'True'
          - Effect: Allow
            Action: '*'
            Resource: '*'
      # ManagedPolicyでは定義できないが、忘れないようにコメントアウトして記載
      # Tags: 
      #   - Key: 'Boundary'
      #     Value: 'True'

許可ポリシーは全権限を与えています。必要に応じて最小の権限を付与ください。

動作確認

先のポリシーを、対象のアクセス許可境界として宛がいます。

ユーザにアクセス許可境界を宛がおうとしますが、禁止されているため失敗します。

image.png

自分のアクセス許可境界も変更できません。
image.png

ロールも同様に、アクセス許可境界の設定が禁止されています。
image.png

アクセス許可境界用としてつけているタグがあるポリシーの編集もできません。そのため、自身のアクセス許可境界の禁止を緩めることもできません。
image.png

おわりに

今回はアクセス許可境界を変更させないポリシーを考えてみました。運用担当に一部IAM編集のみさせる、という場合に使えるかと思います。

この記事がどなたかのお役に立ちましたら幸いです。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?