D'autres exemples de AWS SDK sont disponibles dans le référentiel AWS Doc SDK Examples GitHub .
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation PutRolePolicy avec un AWS SDK ou une CLI
Les exemples de code suivants illustrent comment utiliser PutRolePolicy.
Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans les exemples de code suivants :
- .NET
-
- SDK pour .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 pour 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
-
Pour attacher une politique d’autorisation à un rôle IAM
La commande put-role-policy suivante ajoute une politique d’autorisation au rôle nommé Test-Role.
aws iam put-role-policy \
--role-name Test-Role \
--policy-name ExamplePolicy \
--policy-document file://AdminPolicy.json
Cette commande ne produit aucune sortie.
La politique est définie sous la forme d'un document JSON dans le fichier AdminPolicy.json. (Le nom et l’extension du fichier n’ont aucune importance.)
Pour attacher une politique d’approbation à un rôle, utilisez la commande update-assume-role-policy.
Pour plus d’informations, consultez Modification d’un rôle dans le Guide de l’utilisateur AWS IAM.
- JavaScript
-
- SDK pour 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
-
- Outils pour PowerShell V4
-
Exemple 1 : cet exemple crée une politique en ligne nommée FedTesterRolePolicy et l’intègre au rôle IAM. FedTesterRole Si une politique en ligne portant le même nom existe déjà, elle est remplacée. Le contenu de la politique JSON provient du fichier FedTesterPolicy.json. Notez que vous devez utiliser le paramètre -Raw pour traiter correctement le contenu du fichier JSON.
Write-IAMRolePolicy -RoleName FedTesterRole -PolicyName FedTesterRolePolicy -PolicyDocument (Get-Content -Raw FedTesterPolicy.json)
- Outils pour PowerShell V5
-
Exemple 1 : cet exemple crée une politique en ligne nommée FedTesterRolePolicy et l’intègre au rôle IAM. FedTesterRole Si une politique en ligne portant le même nom existe déjà, elle est remplacée. Le contenu de la politique JSON provient du fichier FedTesterPolicy.json. Notez que vous devez utiliser le paramètre -Raw pour traiter correctement le contenu du fichier JSON.
Write-IAMRolePolicy -RoleName FedTesterRole -PolicyName FedTesterRolePolicy -PolicyDocument (Get-Content -Raw FedTesterPolicy.json)