Cara menggunakan kebijakan IAM - AWS SDK for Java 1.x

AWS SDK for Java 1.x telah memasuki mode pemeliharaan pada 31 Juli 2024, dan akan mencapai end-of-supportpada 31 Desember 2025. Kami menyarankan Anda bermigrasi ke AWS SDK for Java 2.xuntuk terus menerima fitur baru, peningkatan ketersediaan, dan pembaruan keamanan.

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

Cara menggunakan kebijakan IAM

Membuat Kebijakan

Untuk membuat kebijakan baru, berikan nama kebijakan dan dokumen kebijakan yang diformat JSON dalamCreatePolicyRequestke AmazonIdentityManagementClientcreatePolicymetode.

Impor

import com.amazonaws.services.identitymanagement.AmazonIdentityManagement; import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder; import com.amazonaws.services.identitymanagement.model.CreatePolicyRequest; import com.amazonaws.services.identitymanagement.model.CreatePolicyResult;

Kode

final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); CreatePolicyRequest request = new CreatePolicyRequest() .withPolicyName(policy_name) .withPolicyDocument(POLICY_DOCUMENT); CreatePolicyResult response = iam.createPolicy(request);

Dokumen kebijakan IAM adalah string JSON dengansintaks yang terdokumentasi dengan baik. Berikut ini adalah contoh yang menyediakan akses untuk membuat permintaan tertentuDynamoDB.

public static final String POLICY_DOCUMENT = "{" + " \"Version\": \"2012-10-17\"," + " \"Statement\": [" + " {" + " \"Effect\": \"Allow\"," + " \"Action\": \"logs:CreateLogGroup\"," + " \"Resource\": \"%s\"" + " }," + " {" + " \"Effect\": \"Allow\"," + " \"Action\": [" + " \"dynamodb:DeleteItem\"," + " \"dynamodb:GetItem\"," + " \"dynamodb:PutItem\"," + " \"dynamodb:Scan\"," + " \"dynamodb:UpdateItem\"" + " ]," + " \"Resource\": \"RESOURCE_ARN\"" + " }" + " ]" + "}";

LihatLengkapi Contohdi GitHub.

Mendapatkan kebijakan

Untuk mengambil kebijakan yang ada, hubungi AmazonIdentityManagementClient'sgetPolicymetode, menyediakan ARN kebijakan dalamGetPolicyRequestobjek.

Impor

import com.amazonaws.services.identitymanagement.AmazonIdentityManagement; import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder; import com.amazonaws.services.identitymanagement.model.GetPolicyRequest; import com.amazonaws.services.identitymanagement.model.GetPolicyResult;

Kode

final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); GetPolicyRequest request = new GetPolicyRequest() .withPolicyArn(policy_arn); GetPolicyResult response = iam.getPolicy(request);

LihatLengkapi Contohdi GitHub.

Melampirkan Kebijakan Peran

Anda dapat melampirkan kebijakan ke IAM http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html[role] dengan memanggil AmazonIdentityManagementClientattachRolePolicymetode, menyediakannya dengan nama peran dan kebijakan ARN dalamAttachRolePolicyRequest.

Impor

import com.amazonaws.services.identitymanagement.AmazonIdentityManagement; import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder; import com.amazonaws.services.identitymanagement.model.AttachRolePolicyRequest; import com.amazonaws.services.identitymanagement.model.AttachedPolicy;

Kode

final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); AttachRolePolicyRequest attach_request = new AttachRolePolicyRequest() .withRoleName(role_name) .withPolicyArn(POLICY_ARN); iam.attachRolePolicy(attach_request);

LihatLengkapi Contohdi GitHub.

Daftar Kebijakan Peran Terlampir

Buat daftar kebijakan terlampir pada peran dengan memanggil AmazonIdentityManagementClient'slistAttachedRolePoliciesmetode. DibutuhkanListAttachedRolePoliciesRequestobjek yang berisi nama peran untuk daftar kebijakan untuk.

PanggilgetAttachedPoliciespada dikembalikanListAttachedRolePoliciesResultkeberatan untuk mendapatkan daftar kebijakan terlampir. Hasil dapat dipotong; jikaListAttachedRolePoliciesResultobjekgetIsTruncatedpengembaliantrue, PANGGILListAttachedRolePoliciesRequestobjeksetMarkermetode dan menggunakannya untuk memanggillistAttachedRolePolicieslagi untuk mendapatkan batch berikutnya hasil.

Impor

import com.amazonaws.services.identitymanagement.AmazonIdentityManagement; import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder; import com.amazonaws.services.identitymanagement.model.ListAttachedRolePoliciesRequest; import com.amazonaws.services.identitymanagement.model.ListAttachedRolePoliciesResult; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors;

Kode

final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); ListAttachedRolePoliciesRequest request = new ListAttachedRolePoliciesRequest() .withRoleName(role_name); List<AttachedPolicy> matching_policies = new ArrayList<>(); boolean done = false; while(!done) { ListAttachedRolePoliciesResult response = iam.listAttachedRolePolicies(request); matching_policies.addAll( response.getAttachedPolicies() .stream() .filter(p -> p.getPolicyName().equals(role_name)) .collect(Collectors.toList())); if(!response.getIsTruncated()) { done = true; } request.setMarker(response.getMarker()); }

LihatLengkapi Contohdi GitHub.

Melepaskan kebijakan peran

Untuk melepaskan kebijakan dari peran, panggil AmazonIdentityManagementClient'sdetachRolePolicymetode, menyediakannya dengan nama peran dan kebijakan ARN dalamDetachRolePolicyRequest.

Impor

import com.amazonaws.services.identitymanagement.AmazonIdentityManagement; import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder; import com.amazonaws.services.identitymanagement.model.DetachRolePolicyRequest; import com.amazonaws.services.identitymanagement.model.DetachRolePolicyResult;

Kode

final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); DetachRolePolicyRequest request = new DetachRolePolicyRequest() .withRoleName(role_name) .withPolicyArn(policy_arn); DetachRolePolicyResult response = iam.detachRolePolicy(request);

LihatLengkapi Contohdi GitHub.

Informasi Selengkapnya