Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de ejemplos de AWS Doc SDK.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Úselo PutRolePolicy con un AWS SDK o CLI
Los siguientes ejemplos de código muestran cómo utilizar PutRolePolicy.
Los ejemplos de acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Puede ver esta acción en contexto en los siguientes ejemplos de código:
- .NET
-
- SDK para .NET
-
/// <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;
}
- C++
-
- SDK para C++
-
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();
}
- CLI
-
- AWS CLI
-
Cómo asociar una política de permisos a un rol de IAM
El siguiente comando put-role-policy agrega una política de permisos al rol denominado Test-Role.
aws iam put-role-policy \
--role-name Test-Role \
--policy-name ExamplePolicy \
--policy-document file://AdminPolicy.json
Este comando no genera ninguna salida.
La política se define como un documento JSON en el AdminPolicyarchivo.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 .
- JavaScript
-
- SDK para JavaScript (v3)
-
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;
};
- PowerShell
-
- Herramientas para la PowerShell versión 4
-
Ejemplo 1: en este ejemplo, se crea una política incrustada llamada FedTesterRolePolicy y se incrusta en el rol de IAM FedTesterRole. Si ya existe una política incrustada con el mismo nombre, se sobrescribirá. El contenido de la política JSON viene del archivo FedTesterPolicy.json. Tenga en cuenta que debe usar el parámetro -Raw para procesar correctamente el contenido del archivo JSON.
Write-IAMRolePolicy -RoleName FedTesterRole -PolicyName FedTesterRolePolicy -PolicyDocument (Get-Content -Raw FedTesterPolicy.json)
- Herramientas para la versión 5 PowerShell
-
Ejemplo 1: en este ejemplo, se crea una política incrustada llamada FedTesterRolePolicy y se incrusta en el rol de IAM FedTesterRole. Si ya existe una política incrustada con el mismo nombre, se sobrescribirá. El contenido de la política JSON viene del archivo FedTesterPolicy.json. Tenga en cuenta que debe usar el parámetro -Raw para procesar correctamente el contenido del archivo JSON.
Write-IAMRolePolicy -RoleName FedTesterRole -PolicyName FedTesterRolePolicy -PolicyDocument (Get-Content -Raw FedTesterPolicy.json)