Uso de PutRolePolicy con un SDK de AWS o la CLI
Los siguientes ejemplos de código muestran cómo utilizar PutRolePolicy.
- .NET
-
- SDK para .NET
-
nota
Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de 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; }-
Para obtener información sobre la API, consulte PutRolePolicy en la Referencia de la API de AWS SDK para .NET.
-
- C++
-
- SDK para C++
-
nota
Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de 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(); }-
Para obtener información sobre la API, consulte PutRolePolicy en la Referencia de la API de AWS SDK para C++.
-
- CLI
-
- AWS CLI
-
Cómo asociar una política de permisos a un rol de IAM
El siguiente comando
put-role-policyagrega una política de permisos al rol denominadoTest-Role.aws iam put-role-policy \ --role-nameTest-Role\ --policy-nameExamplePolicy\ --policy-documentfile://AdminPolicy.jsonEste comando no genera ninguna salida.
La política se define como un documento JSON en el archivo AdminPolicy.json. (El nombre y la extensión del archivo no son significativos).
Para asociar una política de confianza a un rol, utilice el comando
update-assume-role-policy.Para obtener más información, consulte Modificación de un rol en la Guía del usuario de IAM de AWS.
-
Para obtener información sobre la API, consulte PutRolePolicy
en la Referencia de comandos de la AWS CLI.
-
- JavaScript
-
- SDK para JavaScript (v3)
-
nota
Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de 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; };-
Para obtener información sobre la API, consulte PutRolePolicy en la Referencia de la API de AWS SDK para JavaScript.
-
- PowerShell
-
- Herramientas para PowerShell V4
-
Ejemplo 1: en este ejemplo, se crea una política incrustada llamada
FedTesterRolePolicyy se incrusta en el rol de IAMFedTesterRole. Si ya existe una política incrustada con el mismo nombre, se sobrescribirá. El contenido de la política JSON viene del archivoFedTesterPolicy.json. Tenga en cuenta que debe usar el parámetro-Rawpara procesar correctamente el contenido del archivo JSON.Write-IAMRolePolicy -RoleName FedTesterRole -PolicyName FedTesterRolePolicy -PolicyDocument (Get-Content -Raw FedTesterPolicy.json)-
Para obtener información sobre la API, consulte PutRolePolicy en la Referencia de Cmdlet de las Herramientas de AWS para PowerShell (V4).
-
- Herramientas para PowerShell V5
-
Ejemplo 1: en este ejemplo, se crea una política incrustada llamada
FedTesterRolePolicyy se incrusta en el rol de IAMFedTesterRole. Si ya existe una política incrustada con el mismo nombre, se sobrescribirá. El contenido de la política JSON viene del archivoFedTesterPolicy.json. Tenga en cuenta que debe usar el parámetro-Rawpara procesar correctamente el contenido del archivo JSON.Write-IAMRolePolicy -RoleName FedTesterRole -PolicyName FedTesterRolePolicy -PolicyDocument (Get-Content -Raw FedTesterPolicy.json)-
Para obtener información sobre la API, consulte PutRolePolicy en la Referencia de Cmdlet de las Herramientas de AWS para PowerShell (V5).
-
Para obtener una lista completa de las guías para desarrolladores de AWS SDK y ejemplos de código, consulte Cómo utilizar este servicio con un AWS SDK. En este tema también se incluye información sobre cómo comenzar a utilizar el SDK y detalles sobre sus versiones anteriores.