Utilizzare PutRolePolicy con un SDK AWS o una CLI - Esempi di codice per SDK AWS

Sono disponibili altri esempi per SDK AWS nel repository GitHub della documentazione degli esempi per SDK AWS.

Utilizzare PutRolePolicy con un SDK AWS o una CLI

Gli esempi di codice seguenti mostrano come utilizzare PutRolePolicy.

.NET
SDK per .NET
Nota

Ulteriori informazioni su GitHub. Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel Repository di esempi di codice AWS.

/// <summary> /// Update the inline policy document embedded in a role. /// </summary> /// <param name="policyName">The name of the policy to embed.</param> /// <param name="roleName">The name of the role to update.</param> /// <param name="policyDocument">The policy document that defines the role.</param> /// <returns>A Boolean value indicating the success of the action.</returns> public async Task<bool> PutRolePolicyAsync(string policyName, string roleName, string policyDocument) { var request = new PutRolePolicyRequest { PolicyName = policyName, RoleName = roleName, PolicyDocument = policyDocument }; var response = await _IAMService.PutRolePolicyAsync(request); return response.HttpStatusCode == HttpStatusCode.OK; }
  • Per informazioni dettagliate sull’API, consulta PutRolePolicy nella documentazione di riferimento dell’API AWS SDK per .NET.

C++
SDK per C++
Nota

Ulteriori informazioni su GitHub. Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel Repository di esempi di codice AWS.

bool AwsDoc::IAM::putRolePolicy( const Aws::String &roleName, const Aws::String &policyName, const Aws::String &policyDocument, const Aws::Client::ClientConfiguration &clientConfig) { Aws::IAM::IAMClient iamClient(clientConfig); Aws::IAM::Model::PutRolePolicyRequest request; request.SetRoleName(roleName); request.SetPolicyName(policyName); request.SetPolicyDocument(policyDocument); Aws::IAM::Model::PutRolePolicyOutcome outcome = iamClient.PutRolePolicy(request); if (!outcome.IsSuccess()) { std::cerr << "Error putting policy on role. " << outcome.GetError().GetMessage() << std::endl; } else { std::cout << "Successfully put the role policy." << std::endl; } return outcome.IsSuccess(); }
  • Per informazioni dettagliate sull’API, consulta PutRolePolicy nella documentazione di riferimento dell’API AWS SDK per C++.

CLI
AWS CLI

Come collegare una policy di autorizzazioni a un ruolo IAM

Il comando put-role-policy seguente aggiunge una policy di autorizzazioni al ruolo denominato Test-Role.

aws iam put-role-policy \ --role-name Test-Role \ --policy-name ExamplePolicy \ --policy-document file://AdminPolicy.json

Questo comando non produce alcun output.

La policy è definita come documento JSON nel file AdminPolicy.json. (Il nome e l’estensione del file non hanno importanza.)

Per collegare una policy di attendibilità a un ruolo, usa il comando update-assume-role-policy.

Per ulteriori informazioni, consulta Modifica di un ruolo nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta PutRolePolicy nella documentazione di riferimento dei comandi della AWS CLI.

JavaScript
SDK per JavaScript (v3)
Nota

Ulteriori informazioni su GitHub. Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel Repository di esempi di codice AWS.

import { PutRolePolicyCommand, IAMClient } from "@aws-sdk/client-iam"; const examplePolicyDocument = JSON.stringify({ Version: "2012-10-17", Statement: [ { Sid: "VisualEditor0", Effect: "Allow", Action: [ "s3:ListBucketMultipartUploads", "s3:ListBucketVersions", "s3:ListBucket", "s3:ListMultipartUploadParts", ], Resource: "arn:aws:s3:::amzn-s3-demo-bucket", }, { Sid: "VisualEditor1", Effect: "Allow", Action: [ "s3:ListStorageLensConfigurations", "s3:ListAccessPointsForObjectLambda", "s3:ListAllMyBuckets", "s3:ListAccessPoints", "s3:ListJobs", "s3:ListMultiRegionAccessPoints", ], Resource: "*", }, ], }); const client = new IAMClient({}); /** * * @param {string} roleName * @param {string} policyName * @param {string} policyDocument */ export const putRolePolicy = async (roleName, policyName, policyDocument) => { const command = new PutRolePolicyCommand({ RoleName: roleName, PolicyName: policyName, PolicyDocument: policyDocument, }); const response = await client.send(command); console.log(response); return response; };
  • Per informazioni dettagliate sull’API, consulta PutRolePolicy nella documentazione di riferimento dell’API AWS SDK per JavaScript.

PowerShell
Strumenti per PowerShell V4

Esempio 1: questo esempio crea una policy in linea denominata FedTesterRolePolicy e la incorpora nel ruolo IAM FedTesterRole. Se esiste già una policy in linea con lo stesso nome, quest’ultima sarà sovrascritta. Il contenuto della policy JSON proviene dal file FedTesterPolicy.json. Si noti che per elaborare correttamente il contenuto del file JSON è necessario utilizzare il parametro -Raw.

Write-IAMRolePolicy -RoleName FedTesterRole -PolicyName FedTesterRolePolicy -PolicyDocument (Get-Content -Raw FedTesterPolicy.json)
  • Per informazioni dettagliate sull’API, consulta PutRolePolicy nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

Strumenti per PowerShell V5

Esempio 1: questo esempio crea una policy in linea denominata FedTesterRolePolicy e la incorpora nel ruolo IAM FedTesterRole. Se esiste già una policy in linea con lo stesso nome, quest’ultima sarà sovrascritta. Il contenuto della policy JSON proviene dal file FedTesterPolicy.json. Si noti che per elaborare correttamente il contenuto del file JSON è necessario utilizzare il parametro -Raw.

Write-IAMRolePolicy -RoleName FedTesterRole -PolicyName FedTesterRolePolicy -PolicyDocument (Get-Content -Raw FedTesterPolicy.json)
  • Per informazioni dettagliate sull’API, consulta PutRolePolicy nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V5).