

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Membuat batas izin
<a name="creating-a-permissions-boundary"></a>

Setelah menerapkan set izin, Anda menetapkan batas izin. *Batas izin ini adalah mekanisme* untuk mendelegasikan akses IAM hanya kepada pengguna yang mengembangkan, menguji, meluncurkan, dan mengelola infrastruktur cloud Anda. Pengguna tersebut hanya dapat melakukan tindakan yang diizinkan oleh kebijakan dan batas izin.

Anda dapat menentukan batas izin dalam AWS CloudFormation template dan kemudian menggunakan CloudFormation StackSets untuk menyebarkan template ke beberapa akun. Ini membantu Anda menetapkan dan memelihara kebijakan standar di seluruh organisasi Anda dengan satu operasi. Untuk informasi dan petunjuk selengkapnya, lihat [Bekerja dengan AWS CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html) (CloudFormation dokumentasi).

 CloudFormation Template berikut menyediakan peran IAM dan membuat kebijakan IAM yang bertindak sebagai batas izin. Dengan menggunakan kumpulan tumpukan, Anda dapat menerapkan template ini ke semua akun anggota di organisasi Anda.

```
CloudFormationRole:
  Type: "AWS::IAM::Role"
  Properties:
    AssumeRolePolicyDocument:
      Version: "2012-10-17"
      Statement:
        Effect: Allow
        Principal:
          Service: !Sub "cloudformation.${AWS::URLSuffix}"
        Action: "sts:AssumeRole"
        Condition:
          StringEquals:
            "aws:SourceAccount": !Ref "AWS::AccountId"
    Description: !Sub "DO NOT DELETE - Used by CloudFormation. Created by CloudFormation ${AWS::StackId}"
    ManagedPolicyArns:
      - !Sub "arn:${AWS::Partition}:iam::aws:policy/AdministratorAccess"
    PermissionsBoundary: !Ref DeveloperBoundary
    RoleName: CloudFormationRole

DeveloperBoundary:
  Type: "AWS::IAM::ManagedPolicy"
  Properties:
    Description: Permission boundary for developers
    ManagedPolicyName: PermissionsBoundary
    PolicyDocument:
      Version: "2012-10-17"
      Statement:
        - Sid: AllowModifyIamRolesWithBoundary
          Effect: Allow
          Action:
            - "iam:AttachRolePolicy"
            - "iam:CreateRole"
            - "iam:DeleteRolePolicy"
            - "iam:DetachRolePolicy"
            - "iam:PutRolePermissionsBoundary"
            - "iam:PutRolePolicy"
          Resource: !Sub "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/app/*"
          Condition:
            ArnEquals:
              "iam:PermissionsBoundary": !Sub "arn:${AWS::Partition}:iam::${AWS::AccountId}:policy/PermissionsBoundary"
        - Sid: AllowModifyIamRoles
          Effect: Allow
          Action:
            - "iam:DeleteRole"
            - "iam:TagRole"
            - "iam:UntagRole"
            - "iam:UpdateAssumeRolePolicy"
            - "iam:UpdateRole"
            - "iam:UpdateRoleDescription"
          Resource: !Sub "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/app/*"
        - Sid: OverlyPermissiveAllowedServices
          Effect: Allow
          Action:
            - "lambda:*"
            - "apigateway:*"
            - "events:*"
            - "s3:*"
            - "logs:*"
          Resource: "*"
```

**CloudFormationRole**Peran, **PermissionsBoundary**kebijakan, dan set **DeveloperAccess**izin bekerja sama untuk memberikan izin berikut:
+ Pengguna memiliki akses hanya-baca ke sebagian besar Layanan AWS, melalui kebijakan **ReadOnlyAccess** AWS terkelola.
+ Pengguna memiliki akses ke kasus dukungan terbuka, melalui kebijakan yang AWS dikelola **AWSSupportAccess**.
+ Pengguna memiliki akses hanya-baca ke dasbor AWS Billing konsol, melalui kebijakan **AWSBillingReadOnlyAccess** AWS terkelola.
+ Pengguna dapat menyediakan produk dari Service Catalog, melalui kebijakan yang **AWSServiceCatalogEndUserFullAccess** AWS dikelola.
+ Pengguna dapat memvalidasi dan memperkirakan biaya CloudFormation template apa pun, melalui kebijakan inline.
+ Dengan menggunakan peran **CloudFormationRole**IAM, pengguna dapat membuat, memperbarui, atau menghapus CloudFormation tumpukan apa pun yang dimulai dengan **app/**.
+ Pengguna dapat menggunakan CloudFormation untuk membuat, memperbarui, atau menghapus peran IAM yang dimulai dengan **app/**. Kebijakan **PermissionsBoundary**IAM mencegah pengguna meningkatkan hak istimewa mereka.
+ Pengguna dapat menyediakan sumber daya Amazon AWS Lambda EventBridge, Amazon CloudWatch, Amazon Simple Storage Service (Amazon S3), dan Amazon API Gateway hanya dengan menggunakan. CloudFormation

Gambar berikut menunjukkan bagaimana pengguna yang berwenang, seperti pengembang, dapat membuat peran IAM baru di akun anggota dengan menggunakan set izin, peran IAM, dan batas izin yang dijelaskan dalam panduan ini:

1. Pengguna mengautentikasi di IAM Identity Center dan mengasumsikan peran IAM. **DeveloperAccess**

1. Pengguna memulai `cloudformation:CreateStack` tindakan dan mengasumsikan peran **CloudFormationRole**IAM.

1. Pengguna memulai `iam:CreateRole` tindakan dan menggunakan CloudFormation untuk membuat peran IAM baru.

1. Kebijakan **PermissionsBoundary**IAM diterapkan pada peran IAM baru.



![\[Pengguna membuat peran IAM yang tunduk pada batas izin di akun anggota\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/transitioning-to-multiple-aws-accounts/images/2_create-iam-role.png)


**CloudFormationRole**Peran tersebut memiliki kebijakan [AdministratorAccess](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator)terkelola yang dilampirkan, tetapi karena kebijakan **PermissionsBoundary**IAM, izin efektif **CloudFormationRole**peran menjadi sama dengan kebijakan. **PermissionsBoundary** **PermissionsBoundary**Kebijakan mereferensikan dirinya sendiri saat mengizinkan `iam:CreateRole` tindakan, yang memastikan bahwa peran hanya dapat dibuat jika batas izin diterapkan.